Copy latest code to master
[ric-plt/resource-status-manager.git] / RSM / 3rdparty / asn1codec / src / tests / resource_status_request_wrapper_test.c
index e4a7fe5..acef349 100644 (file)
     #include <resource_status_request_wrapper.h>
 
     void test_build_pack_resource_status_request();
+    void test_build_pack_resource_status_request_stop();
     void test_unpack(void);
 
     int
     main(int argc, char* argv[])
     {
        test_build_pack_resource_status_request();
+       test_build_pack_resource_status_request_stop();
         exit(0);
     }
 
@@ -52,12 +54,14 @@ or Third bits is set to 1,
         size_t packed_buf_size = 4096;
         unsigned char outBuf[packed_buf_size];
         char errorBuf[error_buf_size];
-        uint8_t pLMN_Identity[] = {0xa,0xb,0xc};
-        uint8_t eUTRANCellIdentifier[] = {0xab, 0xcd, 0x70, 0};
+        const uint8_t pLMN_Identity[] = {0xa,0xb,0xc};
+        const uint8_t eUTRANCellIdentifier[] = {0xab, 0xcd, 0x70, 0};
+        const uint8_t *pLMN_Identities[] = {pLMN_Identity};
+        const uint8_t *eUTRANCellIdentifiers[] = {eUTRANCellIdentifier};
         E2AP_PDU_t *pdu;
 
         bool result = build_pack_resource_status_request(
-                       pLMN_Identity, eUTRANCellIdentifier,
+                       pLMN_Identities, eUTRANCellIdentifiers, 1,
                        15 /*measurement_ID*/, 0  /*measurement_ID2*/,
                                Registration_Request_start /*Registration_Request_start,Registration_Request_stop,Registration_Request_partial_stop, Registration_Request_add*/,
                        0xf0,
@@ -86,3 +90,44 @@ or Third bits is set to 1,
 
     }
 
+void test_build_pack_resource_status_request_stop(){
+        size_t error_buf_size = 8192;
+        size_t packed_buf_size = 4096;
+        unsigned char outBuf[packed_buf_size];
+        char errorBuf[error_buf_size];
+        const uint8_t pLMN_Identity[] = {0xa,0xb,0xc};
+        const uint8_t eUTRANCellIdentifier[] = {0xab, 0xcd, 0x70, 0};
+        const uint8_t *pLMN_Identities[] = {pLMN_Identity};
+        const uint8_t *eUTRANCellIdentifiers[] = {eUTRANCellIdentifier};
+        E2AP_PDU_t *pdu;
+
+        bool result = build_pack_resource_status_request(
+                       pLMN_Identities, eUTRANCellIdentifiers, 1,
+                       15 /*measurement_ID*/, 2  /*measurement_ID2*/,
+                               Registration_Request_stop /*Registration_Request_start,Registration_Request_stop,Registration_Request_partial_stop, Registration_Request_add*/,
+                       0,
+                               ReportingPeriodicity_one_thousand_ms /*ReportingPeriodicity_one_thousand_ms, ReportingPeriodicity_two_thousand_ms, ReportingPeriodicity_five_thousand_ms,ReportingPeriodicity_ten_thousand_ms*/,
+                               PartialSuccessIndicator_partial_success_allowed /*PartialSuccessIndicator_partial_success_allowed*/,
+                               ReportingPeriodicityRSRPMR_one_hundred_20_ms /*ReportingPeriodicityRSRPMR_one_hundred_20_ms, ReportingPeriodicityRSRPMR_two_hundred_40_ms, ReportingPeriodicityRSRPMR_four_hundred_80_ms,ReportingPeriodicityRSRPMR_six_hundred_40_ms*/,
+                               ReportingPeriodicityCSIR_ms5 /* ReportingPeriodicityCSIR_ms5, ReportingPeriodicityCSIR_ms10,ReportingPeriodicityCSIR_ms20,ReportingPeriodicityCSIR_ms40,ReportingPeriodicityCSIR_ms80*/,
+                       &packed_buf_size, outBuf, error_buf_size, errorBuf);
+
+        if (!result) {
+            printf("#%s failed. Packing error %s\n", __func__,errorBuf);
+            return;
+        }
+        printf("packed size:%lu\nPayload:\n", packed_buf_size);
+        for (size_t i = 0; i < packed_buf_size; ++i)
+            printf("%02x",outBuf[i]);
+        printf("\n");
+
+        pdu = calloc(1, sizeof(E2AP_PDU_t));
+        if (!unpack_pdu_aux(pdu, packed_buf_size, outBuf,error_buf_size, errorBuf,ATS_ALIGNED_BASIC_PER)){
+               printf("#%s failed. Unpacking error %s\n", __func__, errorBuf);
+        }
+        errorBuf[0] = 0;
+        asn1_pdu_printer(pdu, sizeof(errorBuf), errorBuf);
+        printf("#%s: %s\n", __func__, errorBuf);
+
+    }
+