Added ranfunctionOid for E2APv1.1 for e2setup req. 58/7058/3
authornaman.gupta <naman.gupta@samsung.com>
Fri, 12 Nov 2021 15:03:31 +0000 (20:33 +0530)
committernaman.gupta <naman.gupta@samsung.com>
Tue, 16 Nov 2021 11:32:40 +0000 (17:02 +0530)
Added ranfunction Oid for E2APv1.1 for e2setup request message.

Issue-ID: RIC-640

Signed-off-by: naman.gupta <naman.gupta@samsung.com>
Change-Id: I877dcc856502e88304f4521170bda2749c5ba317

E2Manager/go.mod
E2Manager/models/e2_setup_request_message.go
E2Manager/models/e2_setup_request_message_test.go
E2Manager/tests/resources/setupRequest/setupRequest_enb.xml
E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb.xml [new file with mode: 0644]

index b14d5fb..7a9abf3 100644 (file)
@@ -2,7 +2,7 @@ module e2mgr
 
 require (
        gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.2.1
-       gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.2.1
+       gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.2.3
        gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.2.1
        gerrit.o-ran-sc.org/r/ric-plt/sdlgo v0.8.0
        github.com/golang/protobuf v1.4.2
index f7088b8..96a7bcf 100644 (file)
@@ -21,8 +21,9 @@ package models
 
 import (
        "encoding/xml"
-       "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
        "strings"
+
+       "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
 )
 
 type Gnb struct {
@@ -135,6 +136,7 @@ type RanFunctionItem struct {
        RanFunctionID         uint32 `xml:"ranFunctionID"`
        RanFunctionDefinition string `xml:"ranFunctionDefinition"`
        RanFunctionRevision   uint32 `xml:"ranFunctionRevision"`
+       RanFunctionOID        string `xml:"ranFunctionOID"`
 }
 
 type RANfunctionsList struct {
@@ -169,6 +171,7 @@ func (m *E2SetupRequestMessage) ExtractRanFunctionsList() []*entities.RanFunctio
                        RanFunctionId:         ranFunctionItem.RanFunctionID,
                        RanFunctionDefinition: ranFunctionItem.RanFunctionDefinition,
                        RanFunctionRevision:   ranFunctionItem.RanFunctionRevision,
+                       RanFunctionOid:        ranFunctionItem.RanFunctionOID,
                }
        }
        return funcs
index 8252c71..a609eed 100644 (file)
@@ -28,10 +28,11 @@ import (
 )
 
 const (
-       e2SetupReqGnbSetupRequestXmlPath   = "../tests/resources/setupRequest/setupRequest_gnb.xml"
-       e2SetupReqEnGnbSetupRequestXmlPath = "../tests/resources/setupRequest/setupRequest_en-gNB.xml"
-       e2SetupReqEnbSetupRequestXmlPath   = "../tests/resources/setupRequest/setupRequest_enb.xml"
-       e2SetupReqNgEnbSetupRequestXmlPath = "../tests/resources/setupRequest/setupRequest_ng-eNB.xml"
+       e2SetupReqGnbSetupRequestXmlPath        = "../tests/resources/setupRequest/setupRequest_gnb.xml"
+       e2SetupReqEnGnbSetupRequestXmlPath      = "../tests/resources/setupRequest/setupRequest_en-gNB.xml"
+       e2SetupReqEnbSetupRequestXmlPath        = "../tests/resources/setupRequest/setupRequest_enb.xml"
+       e2SetupReqNgEnbSetupRequestXmlPath      = "../tests/resources/setupRequest/setupRequest_ng-eNB.xml"
+       e2SetupReqGnbSetupRequestWithOIDXmlPath = "../tests/resources/setupRequest/setupRequest_with_oid_gnb.xml"
 )
 
 func getTestE2SetupRequest(t *testing.T, reqXmlPath string) *models.E2SetupRequestMessage {
@@ -54,6 +55,24 @@ func TestExtractRanFunctionsListFromGnbRequestSuccess(t *testing.T) {
        assert.Equal(t, uint32(1), ranFuncList[2].RanFunctionRevision)
 }
 
+func TestExtractRanFunctionsListFromGnbRequestwithOidSuccess(t *testing.T) {
+       setupRequest := getTestE2SetupRequest(t, e2SetupReqGnbSetupRequestWithOIDXmlPath)
+
+       ranFuncList := setupRequest.ExtractRanFunctionsList()
+
+       assert.Equal(t, uint32(1), ranFuncList[0].RanFunctionId)
+       assert.Equal(t, uint32(2), ranFuncList[1].RanFunctionId)
+       assert.Equal(t, uint32(3), ranFuncList[2].RanFunctionId)
+
+       assert.Equal(t, uint32(1), ranFuncList[0].RanFunctionRevision)
+       assert.Equal(t, uint32(1), ranFuncList[1].RanFunctionRevision)
+       assert.Equal(t, uint32(1), ranFuncList[2].RanFunctionRevision)
+
+       assert.Equal(t, "OID123", ranFuncList[0].RanFunctionOid)
+       assert.Equal(t, "OID124", ranFuncList[1].RanFunctionOid)
+       assert.Equal(t, "OID125", ranFuncList[2].RanFunctionOid)
+}
+
 func TestGetPlmnIdFromGnbRequestSuccess(t *testing.T) {
        setupRequest := getTestE2SetupRequest(t, e2SetupReqGnbSetupRequestXmlPath)
 
index 3502012..230e06f 100644 (file)
@@ -42,6 +42,7 @@
                                             <ranFunctionID>1</ranFunctionID>\r
                                             <ranFunctionDefinition>334455</ranFunctionDefinition>\r
                                             <ranFunctionRevision>0</ranFunctionRevision>\r
+                                            <ranFunctionOID>OID123</ranFunctionOID>\r
                                         </RANfunction-Item>\r
                                     </value>\r
                                 </ProtocolIE-SingleContainer>\r
@@ -55,6 +56,7 @@
                                             <ranFunctionID>7</ranFunctionID>\r
                                             <ranFunctionDefinition>334455</ranFunctionDefinition>\r
                                             <ranFunctionRevision>0</ranFunctionRevision>\r
+                                            <ranFunctionOID>OID134</ranFunctionOID>\r
                                         </RANfunction-Item>\r
                                     </value>\r
                                 </ProtocolIE-SingleContainer>\r
diff --git a/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb.xml b/E2Manager/tests/resources/setupRequest/setupRequest_with_oid_gnb.xml
new file mode 100644 (file)
index 0000000..d5d0bff
--- /dev/null
@@ -0,0 +1,90 @@
+<E2AP-PDU>\r
+    <initiatingMessage>\r
+        <procedureCode>1</procedureCode>\r
+        <criticality>\r
+            <reject/>\r
+        </criticality>\r
+        <value>\r
+            <E2setupRequest>\r
+                <protocolIEs>\r
+                    <E2setupRequestIEs>\r
+                        <id>3</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <GlobalE2node-ID>\r
+                                <gNB>\r
+                                    <global-gNB-ID>\r
+                                        <plmn-id>02 F8 29</plmn-id>\r
+                                        <gnb-id>\r
+                                            <gnb-ID>001100000011000000110000</gnb-ID>\r
+                                        </gnb-id>\r
+                                    </global-gNB-ID>\r
+                                </gNB>\r
+                            </GlobalE2node-ID>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                    <E2setupRequestIEs>\r
+                        <id>10</id>\r
+                        <criticality>\r
+                            <reject/>\r
+                        </criticality>\r
+                        <value>\r
+                            <RANfunctions-List>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>1</ranFunctionID>\r
+                                            <ranFunctionDefinition>\r
+                                                790280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010000010108004D6573736167652054797065206F6E6C7901010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D7020010101010001010780436F6D706C657465206D6573736167650101000001058041646454696D657374616D70200101010101010001010780436F6D706C657465206D657373616765010101010101\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                            <ranFunctionOID>OID123</ranFunctionOID>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>2</ranFunctionID>\r
+                                            <ranFunctionOID>OID124</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                680300674E422D4E5254000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E332E330D80674E42204E65696768626F75722052656C6174696F6E205461626C6500010105804E6F74696669636174696F6E01010001010680436F6D706C657465207461626C650101000001058041646454696D657374616D70200101010100010107804E5254206D6F64696669636174696F6E010101010100\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                                <ProtocolIE-SingleContainer>\r
+                                    <id>8</id>\r
+                                    <criticality>\r
+                                        <ignore/>\r
+                                    </criticality>\r
+                                    <value>\r
+                                        <RANfunction-Item>\r
+                                            <ranFunctionID>3</ranFunctionID>\r
+                                            <ranFunctionOID>OID125</ranFunctionOID>\r
+                                            <ranFunctionDefinition>\r
+                                                450280674E422D5832000020312E332E362E312E342E312E32383435382E39392E302E32312E332E332E312E320B80674E42205832204E6574776F726B20496E74657266616365010100010108004D6573736167652054797065206F6E6C79010100010108004D6573736167652041646D697373696F6E01020400010180514349310002018041525031000301805350494400040300552D5445494431400A05004C6F61645F6F666673657400\r
+                                            </ranFunctionDefinition>\r
+                                            <ranFunctionRevision>1</ranFunctionRevision>\r
+                                        </RANfunction-Item>\r
+                                    </value>\r
+                                </ProtocolIE-SingleContainer>\r
+                            </RANfunctions-List>\r
+                        </value>\r
+                    </E2setupRequestIEs>\r
+                </protocolIEs>\r
+            </E2setupRequest>\r
+        </value>\r
+    </initiatingMessage>\r
+</E2AP-PDU>\r