+func TestParseSetupRequest_Success(t *testing.T){
+ path, err :=filepath.Abs("../../tests/resources/setupRequest_gnb.xml")
+ if err != nil {
+ t.Fatal(err)
+ }
+ xmlGnb, err := ioutil.ReadFile(path)
+ if err != nil {
+ t.Fatal(err)
+ }
+ handler := stubMockSuccessFlowNewNodeb(t)
+ prefBytes := []byte(prefix)
+ request, _, err := handler.parseSetupRequest(append(prefBytes, xmlGnb...))
+ assert.Equal(t, request.GetPlmnId(), "131014")
+ assert.Equal(t, request.GetNbId(), "10110101110001100111011110001000")
+}
+
+func TestParseSetupRequest_ColonFailure(t *testing.T){
+ path, err :=filepath.Abs("../../tests/resources/setupRequest_gnb.xml")
+ if err != nil {
+ t.Fatal(err)
+ }
+ xmlGnb, err := ioutil.ReadFile(path)
+ if err != nil {
+ t.Fatal(err)
+ }
+ handler := stubMockSuccessFlowNewNodeb(t)
+ prefBytes := []byte("10.0.2.15;9999|")
+ request, _, err := handler.parseSetupRequest(append(prefBytes, xmlGnb...))
+ assert.Nil(t, request)
+ assert.NotNil(t, err)
+ assert.EqualError(t, err, "#E2SetupRequestNotificationHandler.parseSetupRequest - Error parsing E2 Setup Request, failed extract E2T IP Address: no ':' separator found")
+}
+
+func TestParseSetupRequest_PipFailure(t *testing.T){
+ path, err :=filepath.Abs("../../tests/resources/setupRequest_gnb.xml")
+ if err != nil {
+ t.Fatal(err)
+ }
+ xmlGnb, err := ioutil.ReadFile(path)
+ if err != nil {
+ t.Fatal(err)
+ }
+ handler := stubMockSuccessFlowNewNodeb(t)
+ prefBytes := []byte("10.0.2.15:9999")
+ request, _, err := handler.parseSetupRequest(append(prefBytes, xmlGnb...))
+ assert.Nil(t, request)
+ assert.NotNil(t, err)
+ assert.EqualError(t, err, "#E2SetupRequestNotificationHandler.parseSetupRequest - Error parsing E2 Setup Request failed extract Payload: no | separator found")
+}
+
+func TestParseSetupRequest_UnmarshalFailure(t *testing.T){
+ handler := stubMockSuccessFlowNewNodeb(t)
+ prefBytes := []byte(prefix)
+ request, _, err := handler.parseSetupRequest(append(prefBytes, 1,2,3))
+ assert.Nil(t, request)
+ assert.NotNil(t, err)
+ assert.EqualError(t, err, "#E2SetupRequestNotificationHandler.parseSetupRequest - Error unmarshalling E2 Setup Request payload: 31302e302e322e31353a393939397c010203")
+}
+