UT for W1 interface 83/9883/1
authorsubhash kumar singh <subh.singh@samsung.com>
Wed, 30 Nov 2022 20:09:41 +0000 (20:09 +0000)
committersubhash kumar singh <subh.singh@samsung.com>
Wed, 30 Nov 2022 20:09:41 +0000 (20:09 +0000)
UT for W1 interface provided in E2nodeConfigUpdate procedure.

Issue-ID: RIC-911
Signed-off-by: subhash kumar singh <subh.singh@samsung.com>
Change-Id: Ia1665a4c4ddd841cb54b2430f0fcdfc4832ce16b

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

index 19615fd..3031f92 100644 (file)
@@ -117,3 +117,20 @@ func TestNewE2nodeConfigurationUpdateSuccessResponseS1(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 TestNewE2nodeConfigurationUpdateSuccessResponseW1(t *testing.T) {
+       configurationUpdate := getTestE2NodeConfigurationUpdateMessage(t, e2NodeConfigurationUpdateW1XmlPath)
+       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 6c65e9a..c8d47b4 100644 (file)
@@ -33,6 +33,7 @@ const (
        e2NodeConfigurationUpdateE1XmlPath           = "../tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_e1.xml"
        e2NodeConfigurationUpdateF1XmlPath           = "../tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_f1.xml"
        e2NodeConfigurationUpdateS1XmlPath           = "../tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_s1.xml"
+       e2NodeConfigurationUpdateW1XmlPath           = "../tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_w1.xml"
 )
 
 func getTestE2NodeConfigurationUpdateMessage(t *testing.T, reqXmlPath string) *models.E2nodeConfigurationUpdateMessage {
@@ -89,6 +90,17 @@ func TestParseE2NodeConfigurationUpdateS1(t *testing.T) {
        assert.Equal(t, false, additionIE.Value.E2nodeComponentConfigAdditionList.ProtocolIESingleContainer[0].Value.E2nodeComponentConfigAdditionItem.E2nodeComponentInterfaceType.S1 == nil)
 }
 
+func TestParseE2NodeConfigurationUpdateW1(t *testing.T) {
+       configurationUpdate := getTestE2NodeConfigurationUpdateMessage(t, e2NodeConfigurationUpdateW1XmlPath)
+       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.W1 == 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_w1.xml b/E2Manager/tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_w1.xml
new file mode 100644 (file)
index 0000000..6c01876
--- /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><w1></w1></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeW1>
+                                                    <ng-eNB-DU-ID>1000</ng-eNB-DU-ID>
+                                                </e2nodeComponentInterfaceTypeW1>
+                                            </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