UT for F1 interface 81/9881/1
authorsubhash kumar singh <subh.singh@samsung.com>
Wed, 30 Nov 2022 19:59:53 +0000 (19:59 +0000)
committersubhash kumar singh <subh.singh@samsung.com>
Wed, 30 Nov 2022 19:59:53 +0000 (19:59 +0000)
UT for F1 interface provided in E2nodeConfigUpdate procedure.

Issue-ID: RIC-911

Signed-off-by: subhash kumar singh <subh.singh@samsung.com>
Change-Id: I9120252fee8122e01b5c4f91a0ed79b898fbfa4b

E2Manager/models/e2_node_configuration_update_ack_test.go
E2Manager/models/e2_node_configuration_update_test.go
E2Manager/tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_f1.xml [new file with mode: 0644]

index 86187cb..010f6d7 100644 (file)
@@ -83,3 +83,20 @@ func TestNewE2nodeConfigurationUpdateSuccessResponseE1(t *testing.T) {
        assert.Equal(t, models.ProtocolIE_ID_id_E2nodeComponentConfigAdditionAck, additionIE.ID)
        assert.Equal(t, 1, len(additionIE.Value.(models.E2nodeComponentConfigAdditionAckList).E2nodeComponentConfigAdditionAckList.ProtocolIESingleContainer))
 }
+
+func TestNewE2nodeConfigurationUpdateSuccessResponseF1(t *testing.T) {
+       configurationUpdate := getTestE2NodeConfigurationUpdateMessage(t, e2NodeConfigurationUpdateF1XmlPath)
+       ack := models.NewE2nodeConfigurationUpdateSuccessResponseMessage(configurationUpdate)
+       successOutcome := ack.Outcome.(models.E2nodeConfigurationUpdateAcknowledgeSuccessfulOutcome)
+
+       assert.Equal(t, models.ProcedureCode_id_E2nodeConfigurationUpdate, successOutcome.ProcedureCode)
+       assert.Equal(t, 2, len(successOutcome.Value.E2nodeConfigurationUpdateAcknowledge.ProtocolIEs.E2nodeConfigurationUpdateAcknowledgeIEs))
+
+       txIE := successOutcome.Value.E2nodeConfigurationUpdateAcknowledge.ProtocolIEs.E2nodeConfigurationUpdateAcknowledgeIEs[0]
+       assert.Equal(t, models.ProtocolIE_ID_id_TransactionID, txIE.ID)
+       assert.Equal(t, "1234", txIE.Value.(models.E2nodeConfigurationUpdateAcknowledgeTransID).TransactionID)
+
+       additionIE := successOutcome.Value.E2nodeConfigurationUpdateAcknowledge.ProtocolIEs.E2nodeConfigurationUpdateAcknowledgeIEs[1]
+       assert.Equal(t, models.ProtocolIE_ID_id_E2nodeComponentConfigAdditionAck, additionIE.ID)
+       assert.Equal(t, 1, len(additionIE.Value.(models.E2nodeComponentConfigAdditionAckList).E2nodeComponentConfigAdditionAckList.ProtocolIESingleContainer))
+}
index 4c0d4a6..07866a8 100644 (file)
@@ -31,6 +31,7 @@ const (
        e2NodeConfigurationUpdateOnlyAdditionXmlPath = "../tests/resources/configurationUpdate/e2NodeConfigurationUpdateOnlyAddition.xml"
        e2NodeConfigurationUpdateXmlPath             = "../tests/resources/configurationUpdate/e2NodeConfigurationUpdate.xml"
        e2NodeConfigurationUpdateE1XmlPath           = "../tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_e1.xml"
+       e2NodeConfigurationUpdateF1XmlPath           = "../tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_f1.xml"
 )
 
 func getTestE2NodeConfigurationUpdateMessage(t *testing.T, reqXmlPath string) *models.E2nodeConfigurationUpdateMessage {
@@ -65,6 +66,17 @@ func TestParseE2NodeConfigurationUpdateE1(t *testing.T) {
        assert.Equal(t, false, additionIE.Value.E2nodeComponentConfigAdditionList.ProtocolIESingleContainer[0].Value.E2nodeComponentConfigAdditionItem.E2nodeComponentInterfaceType.E1 == nil)
 }
 
+func TestParseE2NodeConfigurationUpdateF1(t *testing.T) {
+       configurationUpdate := getTestE2NodeConfigurationUpdateMessage(t, e2NodeConfigurationUpdateF1XmlPath)
+       assert.NotEqual(t, nil, configurationUpdate, "xml is not parsed correctly")
+       assert.Equal(t, models.ProcedureCode_id_E2nodeConfigurationUpdate, configurationUpdate.E2APPDU.InitiatingMessage.ProcedureCode)
+       assert.Equal(t, 2, len(configurationUpdate.E2APPDU.InitiatingMessage.Value.E2nodeConfigurationUpdate.ProtocolIEs.E2nodeConfigurationUpdateIEs))
+
+       additionIE := configurationUpdate.E2APPDU.InitiatingMessage.Value.E2nodeConfigurationUpdate.ProtocolIEs.E2nodeConfigurationUpdateIEs[1]
+       assert.Equal(t, 1, len(additionIE.Value.E2nodeComponentConfigAdditionList.ProtocolIESingleContainer))
+       assert.Equal(t, false, additionIE.Value.E2nodeComponentConfigAdditionList.ProtocolIESingleContainer[0].Value.E2nodeComponentConfigAdditionItem.E2nodeComponentInterfaceType.F1 == nil)
+}
+
 func TestParseE2NodeConfigurationUpdateSuccess(t *testing.T) {
        configurationUpdate := getTestE2NodeConfigurationUpdateMessage(t, e2NodeConfigurationUpdateXmlPath)
        assert.NotEqual(t, nil, configurationUpdate, "xml is not parsed correctly")
diff --git a/E2Manager/tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_f1.xml b/E2Manager/tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_f1.xml
new file mode 100644 (file)
index 0000000..6707c73
--- /dev/null
@@ -0,0 +1,45 @@
+<E2AP-PDU>
+    <initiatingMessage>
+        <procedureCode>10</procedureCode>
+        <criticality><reject/></criticality>
+        <value>
+            <E2nodeConfigurationUpdate>
+                <protocolIEs>
+                    <E2nodeConfigurationUpdate-IEs>
+                        <id>49</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <TransactionID>1234</TransactionID>
+                        </value>
+                    </E2nodeConfigurationUpdate-IEs>
+                    <E2nodeConfigurationUpdate-IEs>
+                        <id>50</id>
+                        <criticality><reject/></criticality>
+                        <value>
+                            <E2nodeComponentConfigAddition-List>
+                                <ProtocolIE-SingleContainer>
+                                    <id>51</id>
+                                    <criticality><reject/></criticality>
+                                    <value>
+                                        <E2nodeComponentConfigAddition-Item>
+                                            <e2nodeComponentInterfaceType><f1></f1></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeF1>
+                                                    <gNB-DU-ID>100</gNB-DU-ID>
+                                                </e2nodeComponentInterfaceTypeF1>
+                                            </e2nodeComponentID>
+                                            <e2nodeComponentConfiguration>
+                                                <e2nodeComponentRequestPart>72 65 71 70 61 72 74</e2nodeComponentRequestPart>
+                                                <e2nodeComponentResponsePart>72 65 73 70 61 72 74</e2nodeComponentResponsePart>
+                                            </e2nodeComponentConfiguration>
+                                        </E2nodeComponentConfigAddition-Item>
+                                    </value>
+                                </ProtocolIE-SingleContainer>
+                            </E2nodeComponentConfigAddition-List>
+                        </value>
+                    </E2nodeConfigurationUpdate-IEs>
+                </protocolIEs>
+            </E2nodeConfigurationUpdate>
+        </value>
+    </initiatingMessage>
+</E2AP-PDU>
\ No newline at end of file