2022-02-17 16:14:33 +01:00
|
|
|
// SPDX-License-Identifier: BSD-3-Clause OR Apache-2.0
|
2020-11-13 10:42:31 +01:00
|
|
|
#include "bundle7/create.h"
|
|
|
|
|
|
2020-11-17 12:49:29 +01:00
|
|
|
#include "ud3tn/bundle.h"
|
2020-11-13 10:42:31 +01:00
|
|
|
|
|
|
|
|
#include "platform/hal_time.h"
|
|
|
|
|
|
2023-04-21 18:00:46 +02:00
|
|
|
#include "testud3tn_unity.h"
|
2020-11-13 10:42:31 +01:00
|
|
|
|
|
|
|
|
#include <stddef.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
|
|
static const char test_payload[] = "PAYLOAD";
|
|
|
|
|
|
|
|
|
|
TEST_GROUP(bundle7Create);
|
|
|
|
|
|
|
|
|
|
TEST_SETUP(bundle7Create)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST_TEAR_DOWN(bundle7Create)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST(bundle7Create, create_bundle)
|
|
|
|
|
{
|
|
|
|
|
char *payload = malloc(sizeof(test_payload));
|
2022-12-21 14:02:40 +01:00
|
|
|
// 2020-11-12T09:51:03+00:00
|
|
|
|
|
uint64_t creation_timestamp_ms = 658489863000;
|
2020-11-13 10:42:31 +01:00
|
|
|
|
|
|
|
|
memcpy(payload, test_payload, sizeof(test_payload));
|
|
|
|
|
|
|
|
|
|
struct bundle *b = bundle7_create_local(
|
|
|
|
|
payload, sizeof(test_payload),
|
|
|
|
|
"dtn:sourceeid", "dtn:desteid",
|
2022-12-21 14:02:40 +01:00
|
|
|
creation_timestamp_ms, 1, 42000,
|
2020-11-13 10:42:31 +01:00
|
|
|
BUNDLE_FLAG_REPORT_DELIVERY);
|
|
|
|
|
|
|
|
|
|
TEST_ASSERT_NOT_NULL(b);
|
|
|
|
|
TEST_ASSERT_NOT_NULL(b->blocks);
|
|
|
|
|
TEST_ASSERT_NOT_NULL(b->blocks->data);
|
|
|
|
|
TEST_ASSERT_NULL(b->blocks->next);
|
|
|
|
|
TEST_ASSERT_NOT_NULL(b->payload_block);
|
|
|
|
|
TEST_ASSERT_EQUAL_PTR(b->payload_block, b->blocks->data);
|
|
|
|
|
|
|
|
|
|
TEST_ASSERT_EQUAL(sizeof(test_payload),
|
|
|
|
|
b->payload_block->length);
|
2022-11-23 21:44:37 +01:00
|
|
|
TEST_ASSERT_EQUAL_UINT8_ARRAY(
|
|
|
|
|
test_payload,
|
|
|
|
|
b->payload_block->data,
|
|
|
|
|
sizeof(test_payload)
|
|
|
|
|
);
|
2020-11-13 10:42:31 +01:00
|
|
|
TEST_ASSERT_EQUAL(1, b->payload_block->number);
|
|
|
|
|
TEST_ASSERT_EQUAL(0, b->payload_block->flags);
|
|
|
|
|
|
|
|
|
|
TEST_ASSERT_EQUAL(7, b->protocol_version);
|
|
|
|
|
TEST_ASSERT_EQUAL(BUNDLE_FLAG_REPORT_DELIVERY, b->proc_flags);
|
2022-12-21 14:02:40 +01:00
|
|
|
TEST_ASSERT_EQUAL(creation_timestamp_ms,
|
|
|
|
|
b->creation_timestamp_ms);
|
2020-11-13 10:42:31 +01:00
|
|
|
TEST_ASSERT_EQUAL(1, b->sequence_number);
|
2020-11-12 14:39:35 +01:00
|
|
|
TEST_ASSERT_EQUAL(42000, b->lifetime_ms);
|
2020-11-13 10:42:31 +01:00
|
|
|
TEST_ASSERT_NOT_EQUAL(0, b->primary_block_length);
|
|
|
|
|
|
|
|
|
|
TEST_ASSERT_EQUAL_STRING("dtn:sourceeid", b->source);
|
|
|
|
|
TEST_ASSERT_EQUAL_STRING("dtn:desteid", b->destination);
|
|
|
|
|
TEST_ASSERT_EQUAL_STRING("dtn:none", b->report_to);
|
|
|
|
|
|
|
|
|
|
bundle_free(b);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST_GROUP_RUNNER(bundle7Create)
|
|
|
|
|
{
|
|
|
|
|
RUN_TEST_CASE(bundle7Create, create_bundle);
|
|
|
|
|
}
|