Add test for E1 CUUP Setup Request
This commit is contained in:
@@ -30,8 +30,10 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "E1AP/lib/e1ap_bearer_context_management.h"
|
#include "common/utils/utils.h"
|
||||||
#include "E1AP/lib/e1ap_lib_includes.h"
|
#include "e1ap_bearer_context_management.h"
|
||||||
|
#include "e1ap_interface_management.h"
|
||||||
|
#include "e1ap_lib_includes.h"
|
||||||
#include "common/utils/assertions.h"
|
#include "common/utils/assertions.h"
|
||||||
|
|
||||||
void exit_function(const char *file, const char *function, const int line, const char *s, const int assert)
|
void exit_function(const char *file, const char *function, const int line, const char *s, const int assert)
|
||||||
@@ -216,10 +218,49 @@ static void test_bearer_context_setup_response(void)
|
|||||||
free_e1ap_context_setup_response(&orig);
|
free_e1ap_context_setup_response(&orig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Test CU-UP Setup Request encoding/decoding
|
||||||
|
*/
|
||||||
|
static void test_e1_cuup_setup_request(void)
|
||||||
|
{
|
||||||
|
e1ap_setup_req_t orig = {.gNB_cu_up_id = 1234,
|
||||||
|
.gNB_cu_up_name = strdup("OAI CU-UP"),
|
||||||
|
.transac_id = 42,
|
||||||
|
.supported_plmns = 1,
|
||||||
|
.cn_support = cn_support_5GC,
|
||||||
|
.plmn[0] = {.id = {.mcc = 001, .mnc = 01, .mnc_digit_length = 2},
|
||||||
|
.supported_slices = 1}};
|
||||||
|
orig.plmn[0].slice = malloc_or_fail(sizeof(*orig.plmn[0].slice));
|
||||||
|
orig.plmn[0].slice->sst = 0x01;
|
||||||
|
orig.plmn[0].slice->sd = 0x01;
|
||||||
|
|
||||||
|
E1AP_E1AP_PDU_t *encoded = encode_e1ap_cuup_setup_request(&orig);
|
||||||
|
E1AP_E1AP_PDU_t *decoded_msg = e1ap_encode_decode(encoded);
|
||||||
|
e1ap_msg_free(encoded);
|
||||||
|
|
||||||
|
e1ap_setup_req_t decoded = {0};
|
||||||
|
bool ret = decode_e1ap_cuup_setup_request(decoded_msg, &decoded);
|
||||||
|
AssertFatal(ret, "Failed to decode setup request");
|
||||||
|
e1ap_msg_free(decoded_msg);
|
||||||
|
|
||||||
|
ret = eq_e1ap_cuup_setup_request(&orig, &decoded);
|
||||||
|
AssertFatal(ret, "Decoded setup request doesn't match original");
|
||||||
|
free_e1ap_cuup_setup_request(&decoded);
|
||||||
|
|
||||||
|
e1ap_setup_req_t cp = cp_e1ap_cuup_setup_request(&orig);
|
||||||
|
ret = eq_e1ap_cuup_setup_request(&orig, &cp);
|
||||||
|
AssertFatal(ret, "eq_e1ap_cuup_setup_request(): copied message doesn't match\n");
|
||||||
|
|
||||||
|
free_e1ap_cuup_setup_request(&orig);
|
||||||
|
free_e1ap_cuup_setup_request(&cp);
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
// E1 Bearer Context Setup
|
// E1 Bearer Context Setup
|
||||||
test_bearer_context_setup_request();
|
test_bearer_context_setup_request();
|
||||||
test_bearer_context_setup_response();
|
test_bearer_context_setup_response();
|
||||||
|
// E1 Interface Management
|
||||||
|
test_e1_cuup_setup_request();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user