2 // Copyright 2020 AT&T Intellectual Property
3 // Copyright 2020 Nokia
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
17 // This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 // platform project (RICP).
28 "github.com/stretchr/testify/assert"
32 e2SetupReqGnbSetupRequestXmlPath = "../tests/resources/setupRequest/setupRequest_gnb.xml"
33 e2SetupReqEnGnbSetupRequestXmlPath = "../tests/resources/setupRequest/setupRequest_en-gNB.xml"
34 e2SetupReqEnbSetupRequestXmlPath = "../tests/resources/setupRequest/setupRequest_enb.xml"
35 e2SetupReqNgEnbSetupRequestXmlPath = "../tests/resources/setupRequest/setupRequest_ng-eNB.xml"
36 e2SetupReqGnbSetupRequestWithOIDXmlPath = "../tests/resources/setupRequest/setupRequest_with_oid_gnb.xml"
39 func getTestE2SetupRequest(t *testing.T, reqXmlPath string) *models.E2SetupRequestMessage {
40 xmlGnb := utils.ReadXmlFile(t, reqXmlPath)
41 setupRequest := &models.E2SetupRequestMessage{}
42 err := xml.Unmarshal(utils.NormalizeXml(xmlGnb), &setupRequest.E2APPDU)
47 func TestExtractRanFunctionsListFromGnbRequestSuccess(t *testing.T) {
48 setupRequest := getTestE2SetupRequest(t, e2SetupReqGnbSetupRequestXmlPath)
50 ranFuncList := setupRequest.ExtractRanFunctionsList()
51 assert.Equal(t, uint32(1), ranFuncList[0].RanFunctionId)
52 assert.Equal(t, uint32(2), ranFuncList[1].RanFunctionId)
53 assert.Equal(t, uint32(3), ranFuncList[2].RanFunctionId)
54 assert.Equal(t, uint32(1), ranFuncList[0].RanFunctionRevision)
55 assert.Equal(t, uint32(1), ranFuncList[1].RanFunctionRevision)
56 assert.Equal(t, uint32(1), ranFuncList[2].RanFunctionRevision)
59 func TestExtractRanFunctionsListFromGnbRequestwithOidSuccess(t *testing.T) {
60 setupRequest := getTestE2SetupRequest(t, e2SetupReqGnbSetupRequestWithOIDXmlPath)
62 ranFuncList := setupRequest.ExtractRanFunctionsList()
64 assert.Equal(t, uint32(1), ranFuncList[0].RanFunctionId)
65 assert.Equal(t, uint32(2), ranFuncList[1].RanFunctionId)
66 assert.Equal(t, uint32(3), ranFuncList[2].RanFunctionId)
68 assert.Equal(t, uint32(1), ranFuncList[0].RanFunctionRevision)
69 assert.Equal(t, uint32(1), ranFuncList[1].RanFunctionRevision)
70 assert.Equal(t, uint32(1), ranFuncList[2].RanFunctionRevision)
72 assert.Equal(t, "OID123", ranFuncList[0].RanFunctionOid)
73 assert.Equal(t, "OID124", ranFuncList[1].RanFunctionOid)
74 assert.Equal(t, "OID125", ranFuncList[2].RanFunctionOid)
77 func TestExtractE2nodeConfigSuccess(t *testing.T) {
78 setupRequest := getTestE2SetupRequest(t, e2SetupReqGnbSetupRequestWithOIDXmlPath)
79 e2nodeConfigs := setupRequest.ExtractE2NodeConfigList()
81 assert.Equal(t, 2, len(e2nodeConfigs))
83 assert.Equal(t, "nginterf1", e2nodeConfigs[0].GetE2NodeComponentInterfaceTypeNG().GetAmfName())
84 assert.Equal(t, "nginterf2", e2nodeConfigs[1].GetE2NodeComponentInterfaceTypeNG().GetAmfName())
88 func TestGetPlmnIdFromGnbRequestSuccess(t *testing.T) {
89 setupRequest := getTestE2SetupRequest(t, e2SetupReqGnbSetupRequestXmlPath)
91 plmnID := setupRequest.GetPlmnId()
92 assert.Equal(t, "02F829", plmnID)
95 func TestGetPlmnIdFromEnGnbRequestSuccess(t *testing.T) {
96 setupRequest := getTestE2SetupRequest(t, e2SetupReqEnGnbSetupRequestXmlPath)
98 plmnID := setupRequest.GetPlmnId()
99 assert.Equal(t, "131014", plmnID)
102 func TestGetPlmnIdFromEnbRequestSuccess(t *testing.T) {
103 setupRequest := getTestE2SetupRequest(t, e2SetupReqEnbSetupRequestXmlPath)
105 plmnID := setupRequest.GetPlmnId()
106 assert.Equal(t, "6359AB", plmnID)
109 func TestGetPlmnIdFromNgEnbRequestSuccess(t *testing.T) {
110 setupRequest := getTestE2SetupRequest(t, e2SetupReqNgEnbSetupRequestXmlPath)
112 plmnID := setupRequest.GetPlmnId()
113 assert.Equal(t, "131014", plmnID)
116 func TestGetNbIdFromGnbRequestSuccess(t *testing.T) {
117 setupRequest := getTestE2SetupRequest(t, e2SetupReqGnbSetupRequestXmlPath)
119 nbID := setupRequest.GetNbId()
120 assert.Equal(t, "001100000011000000110000", nbID)
123 func TestGetNbIdFromEnGnbRequestSuccess(t *testing.T) {
124 setupRequest := getTestE2SetupRequest(t, e2SetupReqEnGnbSetupRequestXmlPath)
126 nbID := setupRequest.GetNbId()
127 assert.Equal(t, "11000101110001101100011111111000", nbID)
130 func TestGetNbIdFromEnbRequestSuccess(t *testing.T) {
131 setupRequest := getTestE2SetupRequest(t, e2SetupReqEnbSetupRequestXmlPath)
133 nbID := setupRequest.GetNbId()
134 assert.Equal(t, "101010101010101010", nbID)
137 func TestGetNbIdFromNgEnbRequestSuccess(t *testing.T) {
138 setupRequest := getTestE2SetupRequest(t, e2SetupReqNgEnbSetupRequestXmlPath)
140 nbID := setupRequest.GetNbId()
141 assert.Equal(t, "101010101010101010", nbID)