2 // Copyright 2019 AT&T Intellectual Property
3 // Copyright 2019 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).
27 "github.com/stretchr/testify/assert"
31 func TestParseConfigurationSuccess(t *testing.T) {
32 config := ParseConfiguration()
33 assert.Equal(t, 3800, config.Http.Port)
34 assert.Equal(t, 3801, config.Rmr.Port)
35 assert.Equal(t, 65536, config.Rmr.MaxMsgSize)
36 assert.Equal(t, "info", config.Logging.LogLevel)
37 assert.Equal(t, 100, config.NotificationResponseBuffer)
38 assert.Equal(t, 5, config.BigRedButtonTimeoutSec)
39 assert.Equal(t, 4500, config.KeepAliveResponseTimeoutMs)
40 assert.Equal(t, 1500, config.KeepAliveDelayMs)
41 assert.Equal(t, 15000, config.E2TInstanceDeletionTimeoutMs)
42 assert.Equal(t, 10, config.E2ResetTimeOutSec)
43 assert.NotNil(t, config.GlobalRicId)
44 assert.Equal(t, "AACCE", config.GlobalRicId.RicId)
45 assert.Equal(t, "310", config.GlobalRicId.Mcc)
46 assert.Equal(t, "411", config.GlobalRicId.Mnc)
47 assert.Equal(t, "RAN_CONNECTION_STATUS_CHANGE", config.RnibWriter.StateChangeMessageChannel)
48 assert.Equal(t, "RAN_MANIPULATION", config.RnibWriter.RanManipulationMessageChannel)
51 func TestStringer(t *testing.T) {
52 config := ParseConfiguration().String()
53 assert.NotEmpty(t, config)
56 func TestParseConfigurationFileNotFoundFailure(t *testing.T) {
57 configPath := "../resources/configuration.yaml"
58 configPathTmp := "../resources/configuration.yaml_tmp"
59 err := os.Rename(configPath, configPathTmp)
61 t.Errorf("#TestParseConfigurationFileNotFoundFailure - failed to rename configuration file: %s\n", configPath)
64 err = os.Rename(configPathTmp, configPath)
66 t.Errorf("#TestParseConfigurationFileNotFoundFailure - failed to rename configuration file: %s\n", configPath)
69 assert.Panics(t, func() { ParseConfiguration() })
72 func TestRmrConfigNotFoundFailure(t *testing.T) {
73 configPath := "../resources/configuration.yaml"
74 configPathTmp := "../resources/configuration.yaml_tmp"
75 err := os.Rename(configPath, configPathTmp)
77 t.Errorf("#TestRmrConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
80 err = os.Rename(configPathTmp, configPath)
82 t.Errorf("#TestRmrConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
85 yamlMap := map[string]interface{}{
86 "logging": map[string]interface{}{"logLevel": "info"},
87 "http": map[string]interface{}{"port": 3800},
88 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
89 "globalRicId": map[string]interface{}{"plmnId": "131014", "ricNearRtId": "556670"},
91 buf, err := yaml.Marshal(yamlMap)
93 t.Errorf("#TestRmrConfigNotFoundFailure - failed to marshal configuration map\n")
95 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
97 t.Errorf("#TestRmrConfigNotFoundFailure - failed to write configuration file: %s\n", configPath)
99 assert.PanicsWithValue(t, "#configuration.populateRmrConfig - failed to populate RMR configuration: The entry 'rmr' not found\n", func() { ParseConfiguration() })
102 func TestLoggingConfigNotFoundFailure(t *testing.T) {
103 configPath := "../resources/configuration.yaml"
104 configPathTmp := "../resources/configuration.yaml_tmp"
105 err := os.Rename(configPath, configPathTmp)
107 t.Errorf("#TestLoggingConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
110 err = os.Rename(configPathTmp, configPath)
112 t.Errorf("#TestLoggingConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
115 yamlMap := map[string]interface{}{
116 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
117 "http": map[string]interface{}{"port": 3800},
118 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
119 "globalRicId": map[string]interface{}{"plmnId": "131014", "ricNearRtId": "556670"},
121 buf, err := yaml.Marshal(yamlMap)
123 t.Errorf("#TestRmrConfigNotFoundFailure - failed to marshal configuration map\n")
125 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
127 t.Errorf("#TestRmrConfigNotFoundFailure - failed to write configuration file: %s\n", configPath)
129 assert.PanicsWithValue(t, "#configuration.populateLoggingConfig - failed to populate logging configuration: The entry 'logging' not found\n",
130 func() { ParseConfiguration() })
133 func TestHttpConfigNotFoundFailure(t *testing.T) {
134 configPath := "../resources/configuration.yaml"
135 configPathTmp := "../resources/configuration.yaml_tmp"
136 err := os.Rename(configPath, configPathTmp)
138 t.Errorf("#TestHttpConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
141 err = os.Rename(configPathTmp, configPath)
143 t.Errorf("#TestHttpConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
146 yamlMap := map[string]interface{}{
147 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
148 "logging": map[string]interface{}{"logLevel": "info"},
149 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
150 "globalRicId": map[string]interface{}{"plmnId": "131014", "ricNearRtId": "556670"},
152 buf, err := yaml.Marshal(yamlMap)
154 t.Errorf("#TestHttpConfigNotFoundFailure - failed to marshal configuration map\n")
156 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
158 t.Errorf("#TestHttpConfigNotFoundFailure - failed to write configuration file: %s\n", configPath)
160 assert.PanicsWithValue(t, "#configuration.populateHttpConfig - failed to populate HTTP configuration: The entry 'http' not found\n",
161 func() { ParseConfiguration() })
164 func TestRoutingManagerConfigNotFoundFailure(t *testing.T) {
165 configPath := "../resources/configuration.yaml"
166 configPathTmp := "../resources/configuration.yaml_tmp"
167 err := os.Rename(configPath, configPathTmp)
169 t.Errorf("#TestRoutingManagerConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
172 err = os.Rename(configPathTmp, configPath)
174 t.Errorf("#TestRoutingManagerConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
177 yamlMap := map[string]interface{}{
178 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
179 "logging": map[string]interface{}{"logLevel": "info"},
180 "http": map[string]interface{}{"port": 3800},
181 "globalRicId": map[string]interface{}{"mcc": 327, "mnc": 94, "ricId": "AACCE"},
183 buf, err := yaml.Marshal(yamlMap)
185 t.Errorf("#TestRoutingManagerConfigNotFoundFailure - failed to marshal configuration map\n")
187 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
189 t.Errorf("#TestRoutingManagerConfigNotFoundFailure - failed to write configuration file: %s\n", configPath)
191 assert.PanicsWithValue(t, "#configuration.populateRoutingManagerConfig - failed to populate Routing Manager configuration: The entry 'routingManager' not found\n",
192 func() { ParseConfiguration() })
195 func TestGlobalRicIdConfigNotFoundFailure(t *testing.T) {
196 configPath := "../resources/configuration.yaml"
197 configPathTmp := "../resources/configuration.yaml_tmp"
198 err := os.Rename(configPath, configPathTmp)
200 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
203 err = os.Rename(configPathTmp, configPath)
205 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
208 yamlMap := map[string]interface{}{
209 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
210 "logging": map[string]interface{}{"logLevel": "info"},
211 "http": map[string]interface{}{"port": 3800},
212 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
214 buf, err := yaml.Marshal(yamlMap)
216 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to marshal configuration map\n")
218 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
220 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to write configuration file: %s\n", configPath)
222 assert.PanicsWithValue(t, "#configuration.validateGlobalRicIdConfig - failed to populate Global RicId configuration: The entry 'globalRicId' not found\n",
223 func() { ParseConfiguration() })
226 func TestRnibWriterConfigNotFoundFailure(t *testing.T) {
227 configPath := "../resources/configuration.yaml"
228 configPathTmp := "../resources/configuration.yaml_tmp"
229 err := os.Rename(configPath, configPathTmp)
231 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
234 err = os.Rename(configPathTmp, configPath)
236 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
239 yamlMap := map[string]interface{}{
240 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
241 "logging": map[string]interface{}{"logLevel": "info"},
242 "http": map[string]interface{}{"port": 3800},
243 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
244 "globalRicId": map[string]interface{}{"mcc": 327, "mnc": 94, "ricId": "AACCE"},
246 buf, err := yaml.Marshal(yamlMap)
248 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to marshal configuration map\n")
250 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
252 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to write configuration file: %s\n", configPath)
254 assert.PanicsWithValue(t, "#configuration.populateRnibWriterConfig - failed to populate Rnib Writer configuration: The entry 'rnibWriter' not found\n",
255 func() { ParseConfiguration() })
258 func TestEmptyRicIdFailure(t *testing.T) {
259 configPath := "../resources/configuration.yaml"
260 configPathTmp := "../resources/configuration.yaml_tmp"
261 err := os.Rename(configPath, configPathTmp)
263 t.Errorf("#TestEmptyRicIdFailure - failed to rename configuration file: %s\n", configPath)
266 err = os.Rename(configPathTmp, configPath)
268 t.Errorf("#TestEmptyRicIdFailure - failed to rename configuration file: %s\n", configPath)
271 yamlMap := map[string]interface{}{
272 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
273 "logging": map[string]interface{}{"logLevel": "info"},
274 "http": map[string]interface{}{"port": 3800},
275 "globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94", "ricId": ""},
276 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
278 buf, err := yaml.Marshal(yamlMap)
280 t.Errorf("#TestEmptyRicIdFailure - failed to marshal configuration map\n")
282 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
284 t.Errorf("#TestEmptyRicIdFailure - failed to write configuration file: %s\n", configPath)
286 assert.PanicsWithValue(t, "#configuration.validateRicId - ricId is missing or empty\n",
287 func() { ParseConfiguration() })
290 func TestMissingRicIdFailure(t *testing.T) {
291 configPath := "../resources/configuration.yaml"
292 configPathTmp := "../resources/configuration.yaml_tmp"
293 err := os.Rename(configPath, configPathTmp)
295 t.Errorf("#TestEmptyRicIdFailure - failed to rename configuration file: %s\n", configPath)
298 err = os.Rename(configPathTmp, configPath)
300 t.Errorf("#TestEmptyRicIdFailure - failed to rename configuration file: %s\n", configPath)
303 yamlMap := map[string]interface{}{
304 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
305 "logging": map[string]interface{}{"logLevel": "info"},
306 "http": map[string]interface{}{"port": 3800},
307 "globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94"},
308 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
310 buf, err := yaml.Marshal(yamlMap)
312 t.Errorf("#TestEmptyRicIdFailure - failed to marshal configuration map\n")
314 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
316 t.Errorf("#TestEmptyRicIdFailure - failed to write configuration file: %s\n", configPath)
318 assert.PanicsWithValue(t, "#configuration.validateRicId - ricId is missing or empty\n",
319 func() { ParseConfiguration() })
322 func TestNonHexRicIdFailure(t *testing.T) {
323 configPath := "../resources/configuration.yaml"
324 configPathTmp := "../resources/configuration.yaml_tmp"
325 err := os.Rename(configPath, configPathTmp)
327 t.Errorf("#TestNonHexRicIdFailure - failed to rename configuration file: %s\n", configPath)
330 err = os.Rename(configPathTmp, configPath)
332 t.Errorf("#TestNonHexRicIdFailure - failed to rename configuration file: %s\n", configPath)
335 yamlMap := map[string]interface{}{
336 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
337 "logging": map[string]interface{}{"logLevel": "info"},
338 "http": map[string]interface{}{"port": 3800},
339 "globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94", "ricId": "TEST1"},
340 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
342 buf, err := yaml.Marshal(yamlMap)
344 t.Errorf("#TestNonHexRicIdFailure - failed to marshal configuration map\n")
346 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
348 t.Errorf("#TestNonHexRicIdFailure - failed to write configuration file: %s\n", configPath)
350 assert.PanicsWithValue(t, "#configuration.validateRicId - ricId is not hex number\n",
351 func() { ParseConfiguration() })
354 func TestWrongRicIdLengthFailure(t *testing.T) {
355 configPath := "../resources/configuration.yaml"
356 configPathTmp := "../resources/configuration.yaml_tmp"
357 err := os.Rename(configPath, configPathTmp)
359 t.Errorf("#TestWrongRicIdLengthFailure - failed to rename configuration file: %s\n", configPath)
362 err = os.Rename(configPathTmp, configPath)
364 t.Errorf("#TestWrongRicIdLengthFailure - failed to rename configuration file: %s\n", configPath)
367 yamlMap := map[string]interface{}{
368 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
369 "logging": map[string]interface{}{"logLevel": "info"},
370 "http": map[string]interface{}{"port": 3800},
371 "globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94", "ricId": "AA43"},
372 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
374 buf, err := yaml.Marshal(yamlMap)
376 t.Errorf("#TestWrongRicIdLengthFailure - failed to marshal configuration map\n")
378 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
380 t.Errorf("#TestWrongRicIdLengthFailure - failed to write configuration file: %s\n", configPath)
382 assert.PanicsWithValue(t, "#configuration.validateRicId - ricId length should be 5 hex characters\n",
383 func() { ParseConfiguration() })
386 func TestMccNotThreeDigitsFailure(t *testing.T) {
387 configPath := "../resources/configuration.yaml"
388 configPathTmp := "../resources/configuration.yaml_tmp"
389 err := os.Rename(configPath, configPathTmp)
391 t.Errorf("#TestMccNotThreeDigitsFailure - failed to rename configuration file: %s\n", configPath)
394 err = os.Rename(configPathTmp, configPath)
396 t.Errorf("#TestMccNotThreeDigitsFailure - failed to rename configuration file: %s\n", configPath)
399 yamlMap := map[string]interface{}{
400 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
401 "logging": map[string]interface{}{"logLevel": "info"},
402 "http": map[string]interface{}{"port": 3800},
403 "globalRicId": map[string]interface{}{"mcc": "31", "mnc": "94", "ricId": "AA443"},
404 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
406 buf, err := yaml.Marshal(yamlMap)
408 t.Errorf("#TestMccNotThreeDigitsFailure - failed to marshal configuration map\n")
410 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
412 t.Errorf("#TestMccNotThreeDigitsFailure - failed to write configuration file: %s\n", configPath)
414 assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is not 3 digits\n",
415 func() { ParseConfiguration() })
418 func TestMncLengthIsGreaterThanThreeDigitsFailure(t *testing.T) {
419 configPath := "../resources/configuration.yaml"
420 configPathTmp := "../resources/configuration.yaml_tmp"
421 err := os.Rename(configPath, configPathTmp)
423 t.Errorf("#TestMncLengthIsGreaterThanThreeDigitsFailure - failed to rename configuration file: %s\n", configPath)
426 err = os.Rename(configPathTmp, configPath)
428 t.Errorf("#TestMncLengthIsGreaterThanThreeDigitsFailure - failed to rename configuration file: %s\n", configPath)
431 yamlMap := map[string]interface{}{
432 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
433 "logging": map[string]interface{}{"logLevel": "info"},
434 "http": map[string]interface{}{"port": 3800},
435 "globalRicId": map[string]interface{}{"mcc": "310", "mnc": "6794", "ricId": "AA443"},
436 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
438 buf, err := yaml.Marshal(yamlMap)
440 t.Errorf("#TestMncLengthIsGreaterThanThreeDigitsFailure - failed to marshal configuration map\n")
442 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
444 t.Errorf("#TestMncLengthIsGreaterThanThreeDigitsFailure - failed to write configuration file: %s\n", configPath)
446 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is not 2 or 3 digits\n",
447 func() { ParseConfiguration() })
450 func TestMncLengthIsLessThanTwoDigitsFailure(t *testing.T) {
451 configPath := "../resources/configuration.yaml"
452 configPathTmp := "../resources/configuration.yaml_tmp"
453 err := os.Rename(configPath, configPathTmp)
455 t.Errorf("#TestMncLengthIsLessThanTwoDigitsFailure - failed to rename configuration file: %s\n", configPath)
458 err = os.Rename(configPathTmp, configPath)
460 t.Errorf("#TestMncLengthIsLessThanTwoDigitsFailure - failed to rename configuration file: %s\n", configPath)
463 yamlMap := map[string]interface{}{
464 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
465 "logging": map[string]interface{}{"logLevel": "info"},
466 "http": map[string]interface{}{"port": 3800},
467 "globalRicId": map[string]interface{}{"mcc": "310", "mnc": "4", "ricId": "AA443"},
468 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
470 buf, err := yaml.Marshal(yamlMap)
472 t.Errorf("#TestMncLengthIsLessThanTwoDigitsFailure - failed to marshal configuration map\n")
474 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
476 t.Errorf("#TestMncLengthIsLessThanTwoDigitsFailure - failed to write configuration file: %s\n", configPath)
478 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is not 2 or 3 digits\n",
479 func() { ParseConfiguration() })
482 func TestNegativeMncFailure(t *testing.T) {
483 configPath := "../resources/configuration.yaml"
484 configPathTmp := "../resources/configuration.yaml_tmp"
485 err := os.Rename(configPath, configPathTmp)
487 t.Errorf("#TestNegativeMncFailure - failed to rename configuration file: %s\n", configPath)
490 err = os.Rename(configPathTmp, configPath)
492 t.Errorf("#TestNegativeMncFailure - failed to rename configuration file: %s\n", configPath)
495 yamlMap := map[string]interface{}{
496 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
497 "logging": map[string]interface{}{"logLevel": "info"},
498 "http": map[string]interface{}{"port": 3800},
499 "globalRicId": map[string]interface{}{"mcc": "310", "mnc": "-2", "ricId": "AA443"},
500 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
502 buf, err := yaml.Marshal(yamlMap)
504 t.Errorf("#TestNegativeMncFailure - failed to marshal configuration map\n")
506 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
508 t.Errorf("#TestNegativeMncFailure - failed to write configuration file: %s\n", configPath)
510 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is negative\n",
511 func() { ParseConfiguration() })
514 func TestNegativeMccFailure(t *testing.T) {
515 configPath := "../resources/configuration.yaml"
516 configPathTmp := "../resources/configuration.yaml_tmp"
517 err := os.Rename(configPath, configPathTmp)
519 t.Errorf("#TestNegativeMncFailure - failed to rename configuration file: %s\n", configPath)
522 err = os.Rename(configPathTmp, configPath)
524 t.Errorf("#TestNegativeMncFailure - failed to rename configuration file: %s\n", configPath)
527 yamlMap := map[string]interface{}{
528 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
529 "logging": map[string]interface{}{"logLevel": "info"},
530 "http": map[string]interface{}{"port": 3800},
531 "globalRicId": map[string]interface{}{"mcc": "-31", "mnc": "222", "ricId": "AA443"},
532 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
534 buf, err := yaml.Marshal(yamlMap)
536 t.Errorf("#TestNegativeMncFailure - failed to marshal configuration map\n")
538 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
540 t.Errorf("#TestNegativeMncFailure - failed to write configuration file: %s\n", configPath)
542 assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is negative\n",
543 func() { ParseConfiguration() })
546 func TestAlphaNumericMccFailure(t *testing.T) {
547 configPath := "../resources/configuration.yaml"
548 configPathTmp := "../resources/configuration.yaml_tmp"
549 err := os.Rename(configPath, configPathTmp)
551 t.Errorf("#TestAlphaNumericMccFailure - failed to rename configuration file: %s\n", configPath)
554 err = os.Rename(configPathTmp, configPath)
556 t.Errorf("#TestAlphaNumericMccFailure - failed to rename configuration file: %s\n", configPath)
559 yamlMap := map[string]interface{}{
560 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
561 "logging": map[string]interface{}{"logLevel": "info"},
562 "http": map[string]interface{}{"port": 3800},
563 "globalRicId": map[string]interface{}{"mcc": "1W2", "mnc": "222", "ricId": "AA443"},
564 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
566 buf, err := yaml.Marshal(yamlMap)
568 t.Errorf("#TestAlphaNumericMccFailure - failed to marshal configuration map\n")
570 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
572 t.Errorf("#TestAlphaNumericMccFailure - failed to write configuration file: %s\n", configPath)
574 assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is not a number\n",
575 func() { ParseConfiguration() })
578 func TestAlphaNumericMncFailure(t *testing.T) {
579 configPath := "../resources/configuration.yaml"
580 configPathTmp := "../resources/configuration.yaml_tmp"
581 err := os.Rename(configPath, configPathTmp)
583 t.Errorf("#TestAlphaNumericMncFailure - failed to rename configuration file: %s\n", configPath)
586 err = os.Rename(configPathTmp, configPath)
588 t.Errorf("#TestAlphaNumericMncFailure - failed to rename configuration file: %s\n", configPath)
591 yamlMap := map[string]interface{}{
592 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
593 "logging": map[string]interface{}{"logLevel": "info"},
594 "http": map[string]interface{}{"port": 3800},
595 "globalRicId": map[string]interface{}{"mcc": "111", "mnc": "2A8", "ricId": "AA443"},
596 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
598 buf, err := yaml.Marshal(yamlMap)
600 t.Errorf("#TestAlphaNumericMncFailure - failed to marshal configuration map\n")
602 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
604 t.Errorf("#TestAlphaNumericMncFailure - failed to write configuration file: %s\n", configPath)
606 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is not a number\n",
607 func() { ParseConfiguration() })
610 func TestMissingMmcFailure(t *testing.T) {
611 configPath := "../resources/configuration.yaml"
612 configPathTmp := "../resources/configuration.yaml_tmp"
613 err := os.Rename(configPath, configPathTmp)
615 t.Errorf("#TestMissingMmcFailure - failed to rename configuration file: %s\n", configPath)
618 err = os.Rename(configPathTmp, configPath)
620 t.Errorf("#TestMissingMmcFailure - failed to rename configuration file: %s\n", configPath)
623 yamlMap := map[string]interface{}{
624 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
625 "logging": map[string]interface{}{"logLevel": "info"},
626 "http": map[string]interface{}{"port": 3800},
627 "globalRicId": map[string]interface{}{"mnc": "94", "ricId": "AABB3"},
628 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
630 buf, err := yaml.Marshal(yamlMap)
632 t.Errorf("#TestMissingMmcFailure - failed to marshal configuration map\n")
634 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
636 t.Errorf("#TestMissingMmcFailure - failed to write configuration file: %s\n", configPath)
638 assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is missing or empty\n",
639 func() { ParseConfiguration() })
642 func TestEmptyMmcFailure(t *testing.T) {
643 configPath := "../resources/configuration.yaml"
644 configPathTmp := "../resources/configuration.yaml_tmp"
645 err := os.Rename(configPath, configPathTmp)
647 t.Errorf("#TestEmptyMmcFailure - failed to rename configuration file: %s\n", configPath)
650 err = os.Rename(configPathTmp, configPath)
652 t.Errorf("#TestEmptyMmcFailure - failed to rename configuration file: %s\n", configPath)
655 yamlMap := map[string]interface{}{
656 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
657 "logging": map[string]interface{}{"logLevel": "info"},
658 "http": map[string]interface{}{"port": 3800},
659 "globalRicId": map[string]interface{}{"mcc": "", "mnc": "94", "ricId": "AABB3"},
660 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
662 buf, err := yaml.Marshal(yamlMap)
664 t.Errorf("#TestEmptyMmcFailure - failed to marshal configuration map\n")
666 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
668 t.Errorf("#TestEmptyMmcFailure - failed to write configuration file: %s\n", configPath)
670 assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is missing or empty\n",
671 func() { ParseConfiguration() })
674 func TestEmptyMncFailure(t *testing.T) {
675 configPath := "../resources/configuration.yaml"
676 configPathTmp := "../resources/configuration.yaml_tmp"
677 err := os.Rename(configPath, configPathTmp)
679 t.Errorf("#TestEmptyMncFailure - failed to rename configuration file: %s\n", configPath)
682 err = os.Rename(configPathTmp, configPath)
684 t.Errorf("#TestEmptyMncFailure - failed to rename configuration file: %s\n", configPath)
687 yamlMap := map[string]interface{}{
688 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
689 "logging": map[string]interface{}{"logLevel": "info"},
690 "http": map[string]interface{}{"port": 3800},
691 "globalRicId": map[string]interface{}{"mcc": "111", "mnc": "", "ricId": "AABB3"},
692 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
694 buf, err := yaml.Marshal(yamlMap)
696 t.Errorf("#TestEmptyMncFailure - failed to marshal configuration map\n")
698 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
700 t.Errorf("#TestEmptyMncFailure - failed to write configuration file: %s\n", configPath)
702 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is missing or empty\n",
703 func() { ParseConfiguration() })
706 func TestMissingMncFailure(t *testing.T) {
707 configPath := "../resources/configuration.yaml"
708 configPathTmp := "../resources/configuration.yaml_tmp"
709 err := os.Rename(configPath, configPathTmp)
711 t.Errorf("#TestMissingMncFailure - failed to rename configuration file: %s\n", configPath)
714 err = os.Rename(configPathTmp, configPath)
716 t.Errorf("#TestMissingMncFailure - failed to rename configuration file: %s\n", configPath)
719 yamlMap := map[string]interface{}{
720 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
721 "logging": map[string]interface{}{"logLevel": "info"},
722 "http": map[string]interface{}{"port": 3800},
723 "globalRicId": map[string]interface{}{"mcc": "111", "ricId": "AABB3"},
724 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
726 buf, err := yaml.Marshal(yamlMap)
728 t.Errorf("#TestMissingMncFailure - failed to marshal configuration map\n")
730 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
732 t.Errorf("#TestMissingMncFailure - failed to write configuration file: %s\n", configPath)
734 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is missing or empty\n",
735 func() { ParseConfiguration() })