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
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))
+}
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 {
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")
--- /dev/null
+<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