X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fe2pdus%2Fx2_reset_known_causes_test.go;fp=E2Manager%2Fe2pdus%2Fx2_reset_known_causes_test.go;h=5a3d474f76032c965e6ebf02361fce669d208092;hb=574c21e37f9e740579227c81c22253b8c7aa5404;hp=0000000000000000000000000000000000000000;hpb=966f2102168cad95b8aa1bc83241b4b6730ab1e2;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/e2pdus/x2_reset_known_causes_test.go b/E2Manager/e2pdus/x2_reset_known_causes_test.go new file mode 100644 index 0000000..5a3d474 --- /dev/null +++ b/E2Manager/e2pdus/x2_reset_known_causes_test.go @@ -0,0 +1,88 @@ +package e2pdus + +import ( + "e2mgr/logger" + "fmt" + "strings" + "testing" +) + +func TestKnownCausesToX2ResetPDU(t *testing.T) { + _,err := logger.InitLogger(logger.InfoLevel) + if err!=nil{ + t.Errorf("failed to initialize logger, error: %s", err) + } + var testCases = []struct { + cause string + packedPdu string + }{ + { + cause: OmInterventionCause, + packedPdu: "000700080000010005400164", + }, + { + cause: "PROTOCOL:transfer-syntax-error", + packedPdu: "000700080000010005400140", + }, + { + cause: "transport:transport-RESOURCE-unavailable", + packedPdu: "000700080000010005400120", + }, + + { + cause: "radioNetwork:invalid-MME-groupid", + packedPdu: "00070009000001000540020680", + }, + + } + + for _, tc := range testCases { + t.Run(tc.packedPdu, func(t *testing.T) { + + payload, ok := KnownCausesToX2ResetPDU(tc.cause) + if !ok { + t.Errorf("want: success, got: not found.\n") + } else { + tmp := fmt.Sprintf("%x", payload) + if len(tmp) != len(tc.packedPdu) { + t.Errorf("want packed len:%d, got: %d\n", len(tc.packedPdu)/2, len(payload)/2) + } + + if strings.Compare(tmp, tc.packedPdu) != 0 { + t.Errorf("\nwant :\t[%s]\n got: \t\t[%s]\n", tc.packedPdu, tmp) + } + } + }) + } +} + + +func TestKnownCausesToX2ResetPDUFailure(t *testing.T) { + _, err := logger.InitLogger(logger.InfoLevel) + if err != nil { + t.Errorf("failed to initialize logger, error: %s", err) + } + + _, ok := KnownCausesToX2ResetPDU("xxxx") + if ok { + t.Errorf("want: not found, got: success.\n") + } +} + + +func TestPrepareX2ResetPDUsFailure(t *testing.T) { + _, err := logger.InitLogger(logger.InfoLevel) + if err != nil { + t.Errorf("failed to initialize logger, error: %s", err) + } + + err = prepareX2ResetPDUs(1, 4096) + if err == nil { + t.Errorf("want: error, got: success.\n") + } + + expected:= "#reset_request_handler.Handle - failed to build and pack the reset message #src/asn1codec_utils.c.pack_pdu_aux - Encoded output of E2AP-PDU, is too big:" + if !strings.Contains(err.Error(), expected) { + t.Errorf("want :[%s], got: [%s]\n", expected, err) + } +} \ No newline at end of file