BSL v1.1.1 - 39.g9f43410
AMMOS Bundle Protocol Security Library (BSL)
Loading...
Searching...
No Matches
TestUtils.c File Reference
#include "TestUtils.h"
#include <bsl/BPSecLib_Private.h>
#include <bsl/crypto/CryptoInterface.h>
#include <bsl/front/TextUtil.h>
#include <bsl/dynamic/IdValPair.h>
#include <bsl/dynamic/SecurityActionSet.h>
#include <bsl/dynamic/SeqReadWrite.h>
#include <bsl/sample_pp/SamplePolicyProvider.h>
#include <bsl/mock_bpa/MockBPA.h>
#include <m-string.h>
#include <assert.h>
+ Include dependency graph for TestUtils.c:

Data Structures

struct  BSL_TestUtils_Flat_Data_s
 Internal state for reader and writer. More...
 

Functions

int BSL_TestContext_Init (BSL_TestContext_t *ctx)
 
int BSL_TestContext_Deinit (BSL_TestContext_t *ctx)
 
bool BSL_TestUtils_IsB16StrEqualTo (const char *expected_hex, BSL_Data_t encoded_val)
 Compare an expected base-16 encoded byte string with an actual value.
 
void BSL_TestUtils_PrintHexToBuffer (const char *message, uint8_t *buff, size_t bufflen)
 
int BSL_TestUtils_LoadBundleFromCBOR (BSL_TestContext_t *test_ctx, const char *cborhex)
 Load a full bundle state into a test context.
 
int BSL_TestUtils_EncodeBundleToCBOR (BSL_TestContext_t *test_ctx)
 Encode a bundle state to CBOR.
 
BSL_HostEIDPattern_t BSL_TestUtils_GetEidPatternFromText (const char *text)
 
int BSL_TestUtils_DecodeBase16_cstr (BSL_Data_t *output, const char *input)
 Decode base16 text form.
 
int BSL_TestUtils_ModifyEIDs (BSL_BundleRef_t *input_bundle, const char *src_eid, const char *dest_eid, const char *report_to_eid)
 Modify bundle's source eid, destination eid, and report-to eid.
 
static int BSL_TestUtils_ReadBTSD_Read (void *user_data, void *buf, size_t *bufsize)
 
static void BSL_TestUtils_ReadBTSD_Deinit (void *user_data)
 
BSL_SeqReader_t * BSL_TestUtils_FlatReader (const void *buf, size_t bufsize)
 Initialize a flat-buffer reader object.
 
static int BSL_TestUtils_WriteBTSD_Write (void *user_data, const void *buf, size_t size)
 
static void BSL_TestUtils_WriteBTSD_Deinit (void *user_data, bool success)
 
BSL_SeqWriter_t * BSL_TestUtils_FlatWriter (void **buf, size_t *bufsize)
 Initialize a flat-buffer reader object.
 

Function Documentation

◆ BSL_TestContext_Deinit()

int BSL_TestContext_Deinit ( BSL_TestContext_t ctx)

◆ BSL_TestContext_Init()

int BSL_TestContext_Init ( BSL_TestContext_t ctx)

References BSL_API_InitLib(), BSL_SUCCESS, ctx, and mock_bpa_ctr_init().

Referenced by _setUp(), and setUp().

◆ BSL_TestUtils_DecodeBase16_cstr()

◆ BSL_TestUtils_EncodeBundleToCBOR()

◆ BSL_TestUtils_FlatReader()

◆ BSL_TestUtils_FlatWriter()

◆ BSL_TestUtils_GetEidPatternFromText()

BSL_HostEIDPattern_t BSL_TestUtils_GetEidPatternFromText ( const char *  text)

◆ BSL_TestUtils_IsB16StrEqualTo()

◆ BSL_TestUtils_LoadBundleFromCBOR()

int BSL_TestUtils_LoadBundleFromCBOR ( BSL_TestContext_t test_ctx,
const char *  cborhex 
)

Load a full bundle state into a test context.

Parameters
[in,out]test_ctxThe context to copy and decode into.
[in]cborhexThe input bundle in base16.

References MockBPA_Bundle_t::blocks, MockBPA_Bundle_t::blocks_num, BSL_LOG_ERR, BSL_TestUtils_DecodeBase16_cstr(), mock_bpa_ctr_t::bundle_ref, MockBPA_PrimaryBlock_t::crc_type, BSL_BundleRef_t::data, mock_bpa_ctr_t::encoded, MockBPA_PrimaryBlock_t::flags, MockBPA_PrimaryBlock_t::lifetime, BSL_TestContext_t::mock_bpa_ctr, mock_bpa_ctr_decode(), MockBPA_Bundle_t::primary_block, and MockBPA_PrimaryBlock_t::version.

Referenced by n_test_BSL_6(), test_AppendixA_Example1_BIB_Source(), test_AppendixA_Example1_BIB_VerifyAccept(), test_AppendixA_Example4_BCB_Source(), test_AppendixA_Example4_BCB_VerifyAccept(), test_AppendixA_Example5_BCB_Source(), test_AppendixA_Example5_BCB_VerifyAccept(), test_AppendixA_Example6_BCB_Source(), test_BSL_32(), TEST_CASE(), test_CCSDS_Example_Mac_Source(), test_CCSDS_Example_Mac_VerifyAccept(), test_CoseSc_InvalidOptions_Source(), test_CoseSc_InvalidOptions_Verifier(), test_dyn_mem_cbs_BSL_32(), test_MultiplePolicyProviders(), test_PolicyProvider_Inspect_RFC9173_BIB(), test_PolicyProvider_InspectEmptyRuleset(), test_PolicyProvider_InspectSingleBIBRuleset(), test_RFC9173_AppendixA_Example1_BIB_Source(), test_RFC9173_AppendixA_Example2_BCB_Acceptor(), test_RFC9173_AppendixA_Example2_BCB_Source(), test_RFC9173_AppendixA_Example3_Acceptor(), test_RFC9173_AppendixA_Example3_Source(), test_RFC9173_AppendixA_Example4_Acceptor(), test_RFC9173_AppendixA_Example4_Source(), test_SamplePolicyProvider_WildcardPolicyRuleVerifiesBIB(), test_sec_accept_keyunwrap(), test_sec_source_keywrap(), test_SecurityContext_BIB_Acceptor(), test_SecurityContext_BIB_Source(), test_SecurityContext_BIB_Verifier(), and test_SecurityContext_BIB_Verifier_Failure().

◆ BSL_TestUtils_ModifyEIDs()

int BSL_TestUtils_ModifyEIDs ( BSL_BundleRef_t input_bundle,
const char *  src_eid,
const char *  dest_eid,
const char *  report_to_eid 
)

Modify bundle's source eid, destination eid, and report-to eid.

Warning
This violates the BPv7 constraint of an immutable primary block, and is for testing only!
Parameters
[in,out]input_bundlebundle to modify
[in]src_eidEID to set bundle source EID to. Set to NULL if bundle source EID should remain unchanged.
[in]dest_eidEID to set bundle destination EID to. Set to NULL if bundle destination EID should remain unchanged.
[in]report_to_eidEID to set bundle report-to EID to. Set to NULL if bundle report-to EID should remain unchanged.

References BSL_BundleCtx_GetBundleMetadata(), BSL_PrimaryBlock_deinit(), BSL_PrimaryBlock_Init(), BSL_PrimaryBlock_t::field_dest_eid, BSL_PrimaryBlock_t::field_report_to_eid, BSL_PrimaryBlock_t::field_src_node_id, and mock_bpa_eid_from_text().

Referenced by n_test_BSL_6(), test_BSL_32(), TEST_CASE(), and test_dyn_mem_cbs_BSL_32().

◆ BSL_TestUtils_PrintHexToBuffer()

void BSL_TestUtils_PrintHexToBuffer ( const char *  message,
uint8_t *  buff,
size_t  bufflen 
)

◆ BSL_TestUtils_ReadBTSD_Deinit()

static void BSL_TestUtils_ReadBTSD_Deinit ( void *  user_data)
static

◆ BSL_TestUtils_ReadBTSD_Read()

static int BSL_TestUtils_ReadBTSD_Read ( void *  user_data,
void *  buf,
size_t *  bufsize 
)
static

◆ BSL_TestUtils_WriteBTSD_Deinit()

static void BSL_TestUtils_WriteBTSD_Deinit ( void *  user_data,
bool  success 
)
static

◆ BSL_TestUtils_WriteBTSD_Write()

static int BSL_TestUtils_WriteBTSD_Write ( void *  user_data,
const void *  buf,
size_t  size 
)
static