UT for E1 interface 50/9850/1
authorsubhash kumar singh <subh.singh@samsung.com>
Mon, 28 Nov 2022 18:53:14 +0000 (18:53 +0000)
committersubhash kumar singh <subh.singh@samsung.com>
Mon, 28 Nov 2022 18:53:14 +0000 (18:53 +0000)
UT for E1 interface provided in E2nodeConfigUpdate procedure.

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

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

index 0356178..86187cb 100644 (file)
@@ -66,3 +66,20 @@ func TestNewE2nodeConfigurationUpdateSuccessResponseMessageAdditionOnly(t *testi
        assert.Equal(t, models.ProtocolIE_ID_id_E2nodeComponentConfigAdditionAck, additionIE.ID)
        assert.Equal(t, 1, len(additionIE.Value.(models.E2nodeComponentConfigAdditionAckList).E2nodeComponentConfigAdditionAckList.ProtocolIESingleContainer))
 }
+
+func TestNewE2nodeConfigurationUpdateSuccessResponseE1(t *testing.T) {
+       configurationUpdate := getTestE2NodeConfigurationUpdateMessage(t, e2NodeConfigurationUpdateE1XmlPath)
+       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 8323999..4c0d4a6 100644 (file)
@@ -30,6 +30,7 @@ import (
 const (
        e2NodeConfigurationUpdateOnlyAdditionXmlPath = "../tests/resources/configurationUpdate/e2NodeConfigurationUpdateOnlyAddition.xml"
        e2NodeConfigurationUpdateXmlPath             = "../tests/resources/configurationUpdate/e2NodeConfigurationUpdate.xml"
+       e2NodeConfigurationUpdateE1XmlPath           = "../tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_e1.xml"
 )
 
 func getTestE2NodeConfigurationUpdateMessage(t *testing.T, reqXmlPath string) *models.E2nodeConfigurationUpdateMessage {
@@ -53,6 +54,17 @@ func TestParseE2NodeConfigurationUpdateSuccessAdditionOnly(t *testing.T) {
        assert.Equal(t, true, additionIE.Value.E2nodeComponentConfigAdditionList.ProtocolIESingleContainer[0].Value.E2nodeComponentConfigAdditionItem.E2nodeComponentInterfaceType.E1 == nil)
 }
 
+func TestParseE2NodeConfigurationUpdateE1(t *testing.T) {
+       configurationUpdate := getTestE2NodeConfigurationUpdateMessage(t, e2NodeConfigurationUpdateE1XmlPath)
+       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.E1 == 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_e1.xml b/E2Manager/tests/resources/configurationUpdate/e2NodeConfigurationUpdate_addition_e1.xml
new file mode 100644 (file)
index 0000000..fcbe05c
--- /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><e1></e1></e2nodeComponentInterfaceType>
+                                            <e2nodeComponentID>
+                                                <e2nodeComponentInterfaceTypeE1>
+                                                    <gNB-CU-CP-ID>1000</gNB-CU-CP-ID>
+                                                </e2nodeComponentInterfaceTypeE1>
+                                            </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