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).
24 "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.NotNil(t, config.GlobalRicId)
43 assert.Equal(t, "AACCE", config.GlobalRicId.RicId)
44 assert.Equal(t, "310", config.GlobalRicId.Mcc)
45 assert.Equal(t, "411", config.GlobalRicId.Mnc)
48 func TestStringer(t *testing.T) {
49 config := ParseConfiguration().String()
50 assert.NotEmpty(t, config)
53 func TestParseConfigurationFileNotFoundFailure(t *testing.T) {
54 configPath := "../resources/configuration.yaml"
55 configPathTmp := "../resources/configuration.yaml_tmp"
56 err := os.Rename(configPath, configPathTmp)
58 t.Errorf("#TestParseConfigurationFileNotFoundFailure - failed to rename configuration file: %s\n", configPath)
61 err = os.Rename(configPathTmp, configPath)
63 t.Errorf("#TestParseConfigurationFileNotFoundFailure - failed to rename configuration file: %s\n", configPath)
66 assert.Panics(t, func() { ParseConfiguration() })
69 func TestRmrConfigNotFoundFailure(t *testing.T) {
70 configPath := "../resources/configuration.yaml"
71 configPathTmp := "../resources/configuration.yaml_tmp"
72 err := os.Rename(configPath, configPathTmp)
74 t.Errorf("#TestRmrConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
77 err = os.Rename(configPathTmp, configPath)
79 t.Errorf("#TestRmrConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
82 yamlMap := map[string]interface{}{
83 "logging": map[string]interface{}{"logLevel": "info"},
84 "http": map[string]interface{}{"port": 3800},
85 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
86 "globalRicId": map[string]interface{}{"plmnId": "131014", "ricNearRtId": "556670"},
88 buf, err := yaml.Marshal(yamlMap)
90 t.Errorf("#TestRmrConfigNotFoundFailure - failed to marshal configuration map\n")
92 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
94 t.Errorf("#TestRmrConfigNotFoundFailure - failed to write configuration file: %s\n", configPath)
96 assert.PanicsWithValue(t, "#configuration.populateRmrConfig - failed to populate RMR configuration: The entry 'rmr' not found\n", func() { ParseConfiguration() })
99 func TestLoggingConfigNotFoundFailure(t *testing.T) {
100 configPath := "../resources/configuration.yaml"
101 configPathTmp := "../resources/configuration.yaml_tmp"
102 err := os.Rename(configPath, configPathTmp)
104 t.Errorf("#TestLoggingConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
107 err = os.Rename(configPathTmp, configPath)
109 t.Errorf("#TestLoggingConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
112 yamlMap := map[string]interface{}{
113 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
114 "http": map[string]interface{}{"port": 3800},
115 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
116 "globalRicId": map[string]interface{}{"plmnId": "131014", "ricNearRtId": "556670"},
118 buf, err := yaml.Marshal(yamlMap)
120 t.Errorf("#TestRmrConfigNotFoundFailure - failed to marshal configuration map\n")
122 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
124 t.Errorf("#TestRmrConfigNotFoundFailure - failed to write configuration file: %s\n", configPath)
126 assert.PanicsWithValue(t, "#configuration.populateLoggingConfig - failed to populate logging configuration: The entry 'logging' not found\n",
127 func() { ParseConfiguration() })
130 func TestHttpConfigNotFoundFailure(t *testing.T) {
131 configPath := "../resources/configuration.yaml"
132 configPathTmp := "../resources/configuration.yaml_tmp"
133 err := os.Rename(configPath, configPathTmp)
135 t.Errorf("#TestHttpConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
138 err = os.Rename(configPathTmp, configPath)
140 t.Errorf("#TestHttpConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
143 yamlMap := map[string]interface{}{
144 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
145 "logging": map[string]interface{}{"logLevel": "info"},
146 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
147 "globalRicId": map[string]interface{}{"plmnId": "131014", "ricNearRtId": "556670"},
149 buf, err := yaml.Marshal(yamlMap)
151 t.Errorf("#TestHttpConfigNotFoundFailure - failed to marshal configuration map\n")
153 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
155 t.Errorf("#TestHttpConfigNotFoundFailure - failed to write configuration file: %s\n", configPath)
157 assert.PanicsWithValue(t, "#configuration.populateHttpConfig - failed to populate HTTP configuration: The entry 'http' not found\n",
158 func() { ParseConfiguration() })
161 func TestRoutingManagerConfigNotFoundFailure(t *testing.T) {
162 configPath := "../resources/configuration.yaml"
163 configPathTmp := "../resources/configuration.yaml_tmp"
164 err := os.Rename(configPath, configPathTmp)
166 t.Errorf("#TestRoutingManagerConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
169 err = os.Rename(configPathTmp, configPath)
171 t.Errorf("#TestRoutingManagerConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
174 yamlMap := map[string]interface{}{
175 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
176 "logging": map[string]interface{}{"logLevel": "info"},
177 "http": map[string]interface{}{"port": 3800},
178 "globalRicId": map[string]interface{}{"mcc": 327, "mnc": 94, "ricId": "AACCE"},
180 buf, err := yaml.Marshal(yamlMap)
182 t.Errorf("#TestRoutingManagerConfigNotFoundFailure - failed to marshal configuration map\n")
184 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
186 t.Errorf("#TestRoutingManagerConfigNotFoundFailure - failed to write configuration file: %s\n", configPath)
188 assert.PanicsWithValue(t, "#configuration.populateRoutingManagerConfig - failed to populate Routing Manager configuration: The entry 'routingManager' not found\n",
189 func() { ParseConfiguration() })
192 func TestGlobalRicIdConfigNotFoundFailure(t *testing.T) {
193 configPath := "../resources/configuration.yaml"
194 configPathTmp := "../resources/configuration.yaml_tmp"
195 err := os.Rename(configPath, configPathTmp)
197 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
200 err = os.Rename(configPathTmp, configPath)
202 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to rename configuration file: %s\n", configPath)
205 yamlMap := map[string]interface{}{
206 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
207 "logging": map[string]interface{}{"logLevel": "info"},
208 "http": map[string]interface{}{"port": 3800},
209 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
211 buf, err := yaml.Marshal(yamlMap)
213 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to marshal configuration map\n")
215 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
217 t.Errorf("#TestGlobalRicIdConfigNotFoundFailure - failed to write configuration file: %s\n", configPath)
219 assert.PanicsWithValue(t, "#configuration.validateGlobalRicIdConfig - failed to populate Global RicId configuration: The entry 'globalRicId' not found\n",
220 func() { ParseConfiguration() })
223 func TestEmptyRicIdFailure(t *testing.T) {
224 configPath := "../resources/configuration.yaml"
225 configPathTmp := "../resources/configuration.yaml_tmp"
226 err := os.Rename(configPath, configPathTmp)
228 t.Errorf("#TestEmptyRicIdFailure - failed to rename configuration file: %s\n", configPath)
231 err = os.Rename(configPathTmp, configPath)
233 t.Errorf("#TestEmptyRicIdFailure - failed to rename configuration file: %s\n", configPath)
236 yamlMap := map[string]interface{}{
237 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
238 "logging": map[string]interface{}{"logLevel": "info"},
239 "http": map[string]interface{}{"port": 3800},
240 "globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94", "ricId": ""},
241 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
243 buf, err := yaml.Marshal(yamlMap)
245 t.Errorf("#TestEmptyRicIdFailure - failed to marshal configuration map\n")
247 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
249 t.Errorf("#TestEmptyRicIdFailure - failed to write configuration file: %s\n", configPath)
251 assert.PanicsWithValue(t, "#configuration.validateRicId - ricId is missing or empty\n",
252 func() { ParseConfiguration() })
255 func TestMissingRicIdFailure(t *testing.T) {
256 configPath := "../resources/configuration.yaml"
257 configPathTmp := "../resources/configuration.yaml_tmp"
258 err := os.Rename(configPath, configPathTmp)
260 t.Errorf("#TestEmptyRicIdFailure - failed to rename configuration file: %s\n", configPath)
263 err = os.Rename(configPathTmp, configPath)
265 t.Errorf("#TestEmptyRicIdFailure - failed to rename configuration file: %s\n", configPath)
268 yamlMap := map[string]interface{}{
269 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
270 "logging": map[string]interface{}{"logLevel": "info"},
271 "http": map[string]interface{}{"port": 3800},
272 "globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94"},
273 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
275 buf, err := yaml.Marshal(yamlMap)
277 t.Errorf("#TestEmptyRicIdFailure - failed to marshal configuration map\n")
279 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
281 t.Errorf("#TestEmptyRicIdFailure - failed to write configuration file: %s\n", configPath)
283 assert.PanicsWithValue(t, "#configuration.validateRicId - ricId is missing or empty\n",
284 func() { ParseConfiguration() })
287 func TestNonHexRicIdFailure(t *testing.T) {
288 configPath := "../resources/configuration.yaml"
289 configPathTmp := "../resources/configuration.yaml_tmp"
290 err := os.Rename(configPath, configPathTmp)
292 t.Errorf("#TestNonHexRicIdFailure - failed to rename configuration file: %s\n", configPath)
295 err = os.Rename(configPathTmp, configPath)
297 t.Errorf("#TestNonHexRicIdFailure - failed to rename configuration file: %s\n", configPath)
300 yamlMap := map[string]interface{}{
301 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
302 "logging": map[string]interface{}{"logLevel": "info"},
303 "http": map[string]interface{}{"port": 3800},
304 "globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94", "ricId": "TEST1"},
305 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
307 buf, err := yaml.Marshal(yamlMap)
309 t.Errorf("#TestNonHexRicIdFailure - failed to marshal configuration map\n")
311 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
313 t.Errorf("#TestNonHexRicIdFailure - failed to write configuration file: %s\n", configPath)
315 assert.PanicsWithValue(t, "#configuration.validateRicId - ricId is not hex number\n",
316 func() { ParseConfiguration() })
319 func TestWrongRicIdLengthFailure(t *testing.T) {
320 configPath := "../resources/configuration.yaml"
321 configPathTmp := "../resources/configuration.yaml_tmp"
322 err := os.Rename(configPath, configPathTmp)
324 t.Errorf("#TestWrongRicIdLengthFailure - failed to rename configuration file: %s\n", configPath)
327 err = os.Rename(configPathTmp, configPath)
329 t.Errorf("#TestWrongRicIdLengthFailure - failed to rename configuration file: %s\n", configPath)
332 yamlMap := map[string]interface{}{
333 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
334 "logging": map[string]interface{}{"logLevel": "info"},
335 "http": map[string]interface{}{"port": 3800},
336 "globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94", "ricId": "AA43"},
337 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
339 buf, err := yaml.Marshal(yamlMap)
341 t.Errorf("#TestWrongRicIdLengthFailure - failed to marshal configuration map\n")
343 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
345 t.Errorf("#TestWrongRicIdLengthFailure - failed to write configuration file: %s\n", configPath)
347 assert.PanicsWithValue(t, "#configuration.validateRicId - ricId length should be 5 hex characters\n",
348 func() { ParseConfiguration() })
351 func TestMccNotThreeDigitsFailure(t *testing.T) {
352 configPath := "../resources/configuration.yaml"
353 configPathTmp := "../resources/configuration.yaml_tmp"
354 err := os.Rename(configPath, configPathTmp)
356 t.Errorf("#TestMccNotThreeDigitsFailure - failed to rename configuration file: %s\n", configPath)
359 err = os.Rename(configPathTmp, configPath)
361 t.Errorf("#TestMccNotThreeDigitsFailure - failed to rename configuration file: %s\n", configPath)
364 yamlMap := map[string]interface{}{
365 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
366 "logging": map[string]interface{}{"logLevel": "info"},
367 "http": map[string]interface{}{"port": 3800},
368 "globalRicId": map[string]interface{}{"mcc": "31", "mnc": "94", "ricId": "AA443"},
369 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
371 buf, err := yaml.Marshal(yamlMap)
373 t.Errorf("#TestMccNotThreeDigitsFailure - failed to marshal configuration map\n")
375 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
377 t.Errorf("#TestMccNotThreeDigitsFailure - failed to write configuration file: %s\n", configPath)
379 assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is not 3 digits\n",
380 func() { ParseConfiguration() })
383 func TestMncLengthIsGreaterThanThreeDigitsFailure(t *testing.T) {
384 configPath := "../resources/configuration.yaml"
385 configPathTmp := "../resources/configuration.yaml_tmp"
386 err := os.Rename(configPath, configPathTmp)
388 t.Errorf("#TestMncLengthIsGreaterThanThreeDigitsFailure - failed to rename configuration file: %s\n", configPath)
391 err = os.Rename(configPathTmp, configPath)
393 t.Errorf("#TestMncLengthIsGreaterThanThreeDigitsFailure - failed to rename configuration file: %s\n", configPath)
396 yamlMap := map[string]interface{}{
397 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
398 "logging": map[string]interface{}{"logLevel": "info"},
399 "http": map[string]interface{}{"port": 3800},
400 "globalRicId": map[string]interface{}{"mcc": "310", "mnc": "6794", "ricId": "AA443"},
401 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
403 buf, err := yaml.Marshal(yamlMap)
405 t.Errorf("#TestMncLengthIsGreaterThanThreeDigitsFailure - failed to marshal configuration map\n")
407 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
409 t.Errorf("#TestMncLengthIsGreaterThanThreeDigitsFailure - failed to write configuration file: %s\n", configPath)
411 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is not 2 or 3 digits\n",
412 func() { ParseConfiguration() })
415 func TestMncLengthIsLessThanTwoDigitsFailure(t *testing.T) {
416 configPath := "../resources/configuration.yaml"
417 configPathTmp := "../resources/configuration.yaml_tmp"
418 err := os.Rename(configPath, configPathTmp)
420 t.Errorf("#TestMncLengthIsLessThanTwoDigitsFailure - failed to rename configuration file: %s\n", configPath)
423 err = os.Rename(configPathTmp, configPath)
425 t.Errorf("#TestMncLengthIsLessThanTwoDigitsFailure - failed to rename configuration file: %s\n", configPath)
428 yamlMap := map[string]interface{}{
429 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
430 "logging": map[string]interface{}{"logLevel": "info"},
431 "http": map[string]interface{}{"port": 3800},
432 "globalRicId": map[string]interface{}{"mcc": "310", "mnc": "4", "ricId": "AA443"},
433 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
435 buf, err := yaml.Marshal(yamlMap)
437 t.Errorf("#TestMncLengthIsLessThanTwoDigitsFailure - failed to marshal configuration map\n")
439 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
441 t.Errorf("#TestMncLengthIsLessThanTwoDigitsFailure - failed to write configuration file: %s\n", configPath)
443 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is not 2 or 3 digits\n",
444 func() { ParseConfiguration() })
447 func TestNegativeMncFailure(t *testing.T) {
448 configPath := "../resources/configuration.yaml"
449 configPathTmp := "../resources/configuration.yaml_tmp"
450 err := os.Rename(configPath, configPathTmp)
452 t.Errorf("#TestNegativeMncFailure - failed to rename configuration file: %s\n", configPath)
455 err = os.Rename(configPathTmp, configPath)
457 t.Errorf("#TestNegativeMncFailure - failed to rename configuration file: %s\n", configPath)
460 yamlMap := map[string]interface{}{
461 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
462 "logging": map[string]interface{}{"logLevel": "info"},
463 "http": map[string]interface{}{"port": 3800},
464 "globalRicId": map[string]interface{}{"mcc": "310", "mnc": "-2", "ricId": "AA443"},
465 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
467 buf, err := yaml.Marshal(yamlMap)
469 t.Errorf("#TestNegativeMncFailure - failed to marshal configuration map\n")
471 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
473 t.Errorf("#TestNegativeMncFailure - failed to write configuration file: %s\n", configPath)
475 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is negative\n",
476 func() { ParseConfiguration() })
479 func TestNegativeMccFailure(t *testing.T) {
480 configPath := "../resources/configuration.yaml"
481 configPathTmp := "../resources/configuration.yaml_tmp"
482 err := os.Rename(configPath, configPathTmp)
484 t.Errorf("#TestNegativeMncFailure - failed to rename configuration file: %s\n", configPath)
487 err = os.Rename(configPathTmp, configPath)
489 t.Errorf("#TestNegativeMncFailure - failed to rename configuration file: %s\n", configPath)
492 yamlMap := map[string]interface{}{
493 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
494 "logging": map[string]interface{}{"logLevel": "info"},
495 "http": map[string]interface{}{"port": 3800},
496 "globalRicId": map[string]interface{}{"mcc": "-31", "mnc": "222", "ricId": "AA443"},
497 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
499 buf, err := yaml.Marshal(yamlMap)
501 t.Errorf("#TestNegativeMncFailure - failed to marshal configuration map\n")
503 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
505 t.Errorf("#TestNegativeMncFailure - failed to write configuration file: %s\n", configPath)
507 assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is negative\n",
508 func() { ParseConfiguration() })
511 func TestAlphaNumericMccFailure(t *testing.T) {
512 configPath := "../resources/configuration.yaml"
513 configPathTmp := "../resources/configuration.yaml_tmp"
514 err := os.Rename(configPath, configPathTmp)
516 t.Errorf("#TestAlphaNumericMccFailure - failed to rename configuration file: %s\n", configPath)
519 err = os.Rename(configPathTmp, configPath)
521 t.Errorf("#TestAlphaNumericMccFailure - failed to rename configuration file: %s\n", configPath)
524 yamlMap := map[string]interface{}{
525 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
526 "logging": map[string]interface{}{"logLevel": "info"},
527 "http": map[string]interface{}{"port": 3800},
528 "globalRicId": map[string]interface{}{"mcc": "1W2", "mnc": "222", "ricId": "AA443"},
529 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
531 buf, err := yaml.Marshal(yamlMap)
533 t.Errorf("#TestAlphaNumericMccFailure - failed to marshal configuration map\n")
535 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
537 t.Errorf("#TestAlphaNumericMccFailure - failed to write configuration file: %s\n", configPath)
539 assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is not a number\n",
540 func() { ParseConfiguration() })
543 func TestAlphaNumericMncFailure(t *testing.T) {
544 configPath := "../resources/configuration.yaml"
545 configPathTmp := "../resources/configuration.yaml_tmp"
546 err := os.Rename(configPath, configPathTmp)
548 t.Errorf("#TestAlphaNumericMncFailure - failed to rename configuration file: %s\n", configPath)
551 err = os.Rename(configPathTmp, configPath)
553 t.Errorf("#TestAlphaNumericMncFailure - failed to rename configuration file: %s\n", configPath)
556 yamlMap := map[string]interface{}{
557 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
558 "logging": map[string]interface{}{"logLevel": "info"},
559 "http": map[string]interface{}{"port": 3800},
560 "globalRicId": map[string]interface{}{"mcc": "111", "mnc": "2A8", "ricId": "AA443"},
561 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
563 buf, err := yaml.Marshal(yamlMap)
565 t.Errorf("#TestAlphaNumericMncFailure - failed to marshal configuration map\n")
567 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
569 t.Errorf("#TestAlphaNumericMncFailure - failed to write configuration file: %s\n", configPath)
571 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is not a number\n",
572 func() { ParseConfiguration() })
575 func TestMissingMmcFailure(t *testing.T) {
576 configPath := "../resources/configuration.yaml"
577 configPathTmp := "../resources/configuration.yaml_tmp"
578 err := os.Rename(configPath, configPathTmp)
580 t.Errorf("#TestMissingMmcFailure - failed to rename configuration file: %s\n", configPath)
583 err = os.Rename(configPathTmp, configPath)
585 t.Errorf("#TestMissingMmcFailure - failed to rename configuration file: %s\n", configPath)
588 yamlMap := map[string]interface{}{
589 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
590 "logging": map[string]interface{}{"logLevel": "info"},
591 "http": map[string]interface{}{"port": 3800},
592 "globalRicId": map[string]interface{}{"mnc": "94", "ricId": "AABB3"},
593 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
595 buf, err := yaml.Marshal(yamlMap)
597 t.Errorf("#TestMissingMmcFailure - failed to marshal configuration map\n")
599 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
601 t.Errorf("#TestMissingMmcFailure - failed to write configuration file: %s\n", configPath)
603 assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is missing or empty\n",
604 func() { ParseConfiguration() })
608 func TestEmptyMmcFailure(t *testing.T) {
609 configPath := "../resources/configuration.yaml"
610 configPathTmp := "../resources/configuration.yaml_tmp"
611 err := os.Rename(configPath, configPathTmp)
613 t.Errorf("#TestEmptyMmcFailure - failed to rename configuration file: %s\n", configPath)
616 err = os.Rename(configPathTmp, configPath)
618 t.Errorf("#TestEmptyMmcFailure - failed to rename configuration file: %s\n", configPath)
621 yamlMap := map[string]interface{}{
622 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
623 "logging": map[string]interface{}{"logLevel": "info"},
624 "http": map[string]interface{}{"port": 3800},
625 "globalRicId": map[string]interface{}{"mcc": "", "mnc": "94", "ricId": "AABB3"},
626 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
628 buf, err := yaml.Marshal(yamlMap)
630 t.Errorf("#TestEmptyMmcFailure - failed to marshal configuration map\n")
632 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
634 t.Errorf("#TestEmptyMmcFailure - failed to write configuration file: %s\n", configPath)
636 assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is missing or empty\n",
637 func() { ParseConfiguration() })
640 func TestEmptyMncFailure(t *testing.T) {
641 configPath := "../resources/configuration.yaml"
642 configPathTmp := "../resources/configuration.yaml_tmp"
643 err := os.Rename(configPath, configPathTmp)
645 t.Errorf("#TestEmptyMncFailure - failed to rename configuration file: %s\n", configPath)
648 err = os.Rename(configPathTmp, configPath)
650 t.Errorf("#TestEmptyMncFailure - failed to rename configuration file: %s\n", configPath)
653 yamlMap := map[string]interface{}{
654 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
655 "logging": map[string]interface{}{"logLevel": "info"},
656 "http": map[string]interface{}{"port": 3800},
657 "globalRicId": map[string]interface{}{"mcc": "111", "mnc": "", "ricId": "AABB3"},
658 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
660 buf, err := yaml.Marshal(yamlMap)
662 t.Errorf("#TestEmptyMncFailure - failed to marshal configuration map\n")
664 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
666 t.Errorf("#TestEmptyMncFailure - failed to write configuration file: %s\n", configPath)
668 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is missing or empty\n",
669 func() { ParseConfiguration() })
672 func TestMissingMncFailure(t *testing.T) {
673 configPath := "../resources/configuration.yaml"
674 configPathTmp := "../resources/configuration.yaml_tmp"
675 err := os.Rename(configPath, configPathTmp)
677 t.Errorf("#TestMissingMncFailure - failed to rename configuration file: %s\n", configPath)
680 err = os.Rename(configPathTmp, configPath)
682 t.Errorf("#TestMissingMncFailure - failed to rename configuration file: %s\n", configPath)
685 yamlMap := map[string]interface{}{
686 "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096},
687 "logging": map[string]interface{}{"logLevel": "info"},
688 "http": map[string]interface{}{"port": 3800},
689 "globalRicId": map[string]interface{}{"mcc": "111", "ricId": "AABB3"},
690 "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"},
692 buf, err := yaml.Marshal(yamlMap)
694 t.Errorf("#TestMissingMncFailure - failed to marshal configuration map\n")
696 err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644)
698 t.Errorf("#TestMissingMncFailure - failed to write configuration file: %s\n", configPath)
700 assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is missing or empty\n",
701 func() { ParseConfiguration() })