From 13ced50827996f6d49f5af7a64247466cda046e2 Mon Sep 17 00:00:00 2001 From: ss412g Date: Wed, 3 Jun 2020 10:32:12 +0300 Subject: [PATCH] [RIC-306] - Fix bug with parsing Change-Id: If6f819e40a261084ba3f11f6b4c6fe1094dc075c Signed-off-by: ss412g --- E2Manager/configuration/configuration.go | 48 ++-- E2Manager/configuration/configuration_test.go | 267 +++++++++++++++++++-- .../e2_setup_request_notification_handler.go | 2 +- .../e2_setup_request_notification_handler_test.go | 12 +- E2Manager/resources/configuration.yaml | 6 +- 5 files changed, 288 insertions(+), 47 deletions(-) diff --git a/E2Manager/configuration/configuration.go b/E2Manager/configuration/configuration.go index 8beac3c..89515e4 100644 --- a/E2Manager/configuration/configuration.go +++ b/E2Manager/configuration/configuration.go @@ -50,8 +50,8 @@ type Configuration struct { E2TInstanceDeletionTimeoutMs int GlobalRicId struct { RicId string - Mcc int - Mnc int + Mcc string + Mnc string } } @@ -118,8 +118,8 @@ func (c *Configuration) populateGlobalRicIdConfig(globalRicIdConfig *viper.Viper panic(err.Error()) } c.GlobalRicId.RicId = globalRicIdConfig.GetString("ricId") - c.GlobalRicId.Mcc = globalRicIdConfig.GetInt("mcc") - c.GlobalRicId.Mnc = globalRicIdConfig.GetInt("mnc") + c.GlobalRicId.Mcc = globalRicIdConfig.GetString("mcc") + c.GlobalRicId.Mnc = globalRicIdConfig.GetString("mnc") } func validateGlobalRicIdConfig(globalRicIdConfig *viper.Viper) error { @@ -133,13 +133,13 @@ func validateGlobalRicIdConfig(globalRicIdConfig *viper.Viper) error { return err } - err = validateMcc(globalRicIdConfig.GetInt("mcc")) + err = validateMcc(globalRicIdConfig.GetString("mcc")) if err != nil { return err } - err = validateMnc(globalRicIdConfig.GetInt("mnc")) + err = validateMnc(globalRicIdConfig.GetString("mnc")) if err != nil { return err @@ -149,29 +149,45 @@ func validateGlobalRicIdConfig(globalRicIdConfig *viper.Viper) error { return nil } -func validateMcc(mcc int) error { +func validateMcc(mcc string) error { - mccStr := strconv.Itoa(mcc) + if len(mcc) == 0{ + return errors.New("#configuration.validateMcc - mcc is emtpy or missing\n") + } - if len(mccStr) != 3{ + if len(mcc) != 3{ return errors.New("#configuration.validateMcc - mcc is not 3 digits\n") } - if mcc < 0 { + mccInt, err := strconv.Atoi(mcc) + + if err != nil{ + return errors.New("#configuration.validateMcc - mcc is not a number\n") + } + + if mccInt < 0 { return errors.New("#configuration.validateMcc - mcc is negative\n") } return nil } -func validateMnc(mnc int) error { +func validateMnc(mnc string) error { - mncStr := strconv.Itoa(mnc) + if len(mnc) == 0{ + return errors.New("#configuration.validateMnc - mnc is emtpy or missing\n") + } - if len(mncStr) < 2 || len(mncStr) >3 { + if len(mnc) < 2 || len(mnc) >3 { return errors.New("#configuration.validateMnc - mnc is not 2 or 3 digits\n") } - if mnc < 0 { + mncAsInt, err := strconv.Atoi(mnc) + + if err != nil{ + return errors.New("#configuration.validateMnc - mnc is not a number\n") + } + + if mncAsInt < 0 { return errors.New("#configuration.validateMnc - mnc is negative\n") } @@ -181,7 +197,7 @@ func validateMnc(mnc int) error { func validateRicId(ricId string) error{ if len(ricId) == 0{ - return errors.New("#configuration.validateRicId - ricId is emtpy\n") + return errors.New("#configuration.validateRicId - ricId is emtpy or missing\n") } if len(ricId) != 5 { @@ -201,7 +217,7 @@ func (c *Configuration) String() string { return fmt.Sprintf("{logging.logLevel: %s, http.port: %d, rmr: { port: %d, maxMsgSize: %d}, routingManager.baseUrl: %s, "+ "notificationResponseBuffer: %d, bigRedButtonTimeoutSec: %d, maxRnibConnectionAttempts: %d, "+ "rnibRetryIntervalMs: %d, keepAliveResponseTimeoutMs: %d, keepAliveDelayMs: %d, e2tInstanceDeletionTimeoutMs: %d, "+ - "globalRicId: { ricId: %s, mcc: %d, mnc: %d}", + "globalRicId: { ricId: %s, mcc: %s, mnc: %s}", c.Logging.LogLevel, c.Http.Port, c.Rmr.Port, diff --git a/E2Manager/configuration/configuration_test.go b/E2Manager/configuration/configuration_test.go index c6b1e18..9a1a9fb 100644 --- a/E2Manager/configuration/configuration_test.go +++ b/E2Manager/configuration/configuration_test.go @@ -41,8 +41,8 @@ func TestParseConfigurationSuccess(t *testing.T) { assert.Equal(t, 15000, config.E2TInstanceDeletionTimeoutMs) assert.NotNil(t, config.GlobalRicId) assert.Equal(t, "AACCE", config.GlobalRicId.RicId) - assert.Equal(t, 327, config.GlobalRicId.Mcc) - assert.Equal(t, 94, config.GlobalRicId.Mnc) + assert.Equal(t, "026", config.GlobalRicId.Mcc) + assert.Equal(t, "09", config.GlobalRicId.Mnc) } func TestStringer(t *testing.T) { @@ -82,7 +82,7 @@ func TestRmrConfigNotFoundFailure(t *testing.T) { yamlMap := map[string]interface{}{ "logging": map[string]interface{}{"logLevel": "info"}, "http": map[string]interface{}{"port": 3800}, - "routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, "globalRicId": map[string]interface{}{"plmnId": "131014", "ricNearRtId": "556670"}, } buf, err := yaml.Marshal(yamlMap) @@ -112,7 +112,7 @@ func TestLoggingConfigNotFoundFailure(t *testing.T) { yamlMap := map[string]interface{}{ "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, "http": map[string]interface{}{"port": 3800}, - "routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, "globalRicId": map[string]interface{}{"plmnId": "131014", "ricNearRtId": "556670"}, } buf, err := yaml.Marshal(yamlMap) @@ -143,7 +143,7 @@ func TestHttpConfigNotFoundFailure(t *testing.T) { yamlMap := map[string]interface{}{ "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, "logging": map[string]interface{}{"logLevel": "info"}, - "routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, "globalRicId": map[string]interface{}{"plmnId": "131014", "ricNearRtId": "556670"}, } buf, err := yaml.Marshal(yamlMap) @@ -206,7 +206,7 @@ func TestGlobalRicIdConfigNotFoundFailure(t *testing.T) { "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, "logging": map[string]interface{}{"logLevel": "info"}, "http": map[string]interface{}{"port": 3800}, - "routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, } buf, err := yaml.Marshal(yamlMap) if err != nil { @@ -237,8 +237,8 @@ yamlMap := map[string]interface{}{ "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, "logging": map[string]interface{}{"logLevel": "info"}, "http": map[string]interface{}{"port": 3800}, -"globalRicId": map[string]interface{}{"mcc": 327, "mnc": 94, "ricId": ""}, -"routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, +"globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94", "ricId": ""}, +"routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, } buf, err := yaml.Marshal(yamlMap) if err != nil { @@ -248,10 +248,42 @@ err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644) if err != nil { t.Errorf("#TestEmptyRicIdFailure - failed to write configuration file: %s\n", configPath) } -assert.PanicsWithValue(t, "#configuration.validateRicId - ricId is emtpy\n", +assert.PanicsWithValue(t, "#configuration.validateRicId - ricId is emtpy or missing\n", func() { ParseConfiguration() }) } +func TestMissingRicIdFailure(t *testing.T) { + configPath := "../resources/configuration.yaml" + configPathTmp := "../resources/configuration.yaml_tmp" + err := os.Rename(configPath, configPathTmp) + if err != nil { + t.Errorf("#TestEmptyRicIdFailure - failed to rename configuration file: %s\n", configPath) + } + defer func() { + err = os.Rename(configPathTmp, configPath) + if err != nil { + t.Errorf("#TestEmptyRicIdFailure - failed to rename configuration file: %s\n", configPath) + } + }() + yamlMap := map[string]interface{}{ + "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, + "logging": map[string]interface{}{"logLevel": "info"}, + "http": map[string]interface{}{"port": 3800}, + "globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, + } + buf, err := yaml.Marshal(yamlMap) + if err != nil { + t.Errorf("#TestEmptyRicIdFailure - failed to marshal configuration map\n") + } + err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644) + if err != nil { + t.Errorf("#TestEmptyRicIdFailure - failed to write configuration file: %s\n", configPath) + } + assert.PanicsWithValue(t, "#configuration.validateRicId - ricId is emtpy or missing\n", + func() { ParseConfiguration() }) +} + func TestNonHexRicIdFailure(t *testing.T) { configPath := "../resources/configuration.yaml" configPathTmp := "../resources/configuration.yaml_tmp" @@ -269,8 +301,8 @@ func TestNonHexRicIdFailure(t *testing.T) { "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, "logging": map[string]interface{}{"logLevel": "info"}, "http": map[string]interface{}{"port": 3800}, - "globalRicId": map[string]interface{}{"mcc": 327, "mnc": 94, "ricId": "TEST1"}, - "routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, + "globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94", "ricId": "TEST1"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, } buf, err := yaml.Marshal(yamlMap) if err != nil { @@ -301,8 +333,8 @@ func TestWrongRicIdLengthFailure(t *testing.T) { "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, "logging": map[string]interface{}{"logLevel": "info"}, "http": map[string]interface{}{"port": 3800}, - "globalRicId": map[string]interface{}{"mcc": 327, "mnc": 94, "ricId": "AA43"}, - "routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, + "globalRicId": map[string]interface{}{"mcc": "327", "mnc": "94", "ricId": "AA43"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, } buf, err := yaml.Marshal(yamlMap) if err != nil { @@ -334,7 +366,7 @@ func TestMccNotThreeDigitsFailure(t *testing.T) { "logging": map[string]interface{}{"logLevel": "info"}, "http": map[string]interface{}{"port": 3800}, "globalRicId": map[string]interface{}{"mcc": "31", "mnc": "94", "ricId": "AA443"}, - "routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, } buf, err := yaml.Marshal(yamlMap) if err != nil { @@ -366,7 +398,7 @@ func TestMncLengthIsGreaterThanThreeDigitsFailure(t *testing.T) { "logging": map[string]interface{}{"logLevel": "info"}, "http": map[string]interface{}{"port": 3800}, "globalRicId": map[string]interface{}{"mcc": "310", "mnc": "6794", "ricId": "AA443"}, - "routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, } buf, err := yaml.Marshal(yamlMap) if err != nil { @@ -398,7 +430,7 @@ func TestMncLengthIsLessThanTwoDigitsFailure(t *testing.T) { "logging": map[string]interface{}{"logLevel": "info"}, "http": map[string]interface{}{"port": 3800}, "globalRicId": map[string]interface{}{"mcc": "310", "mnc": "4", "ricId": "AA443"}, - "routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, } buf, err := yaml.Marshal(yamlMap) if err != nil { @@ -429,8 +461,8 @@ func TestNegativeMncFailure(t *testing.T) { "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, "logging": map[string]interface{}{"logLevel": "info"}, "http": map[string]interface{}{"port": 3800}, - "globalRicId": map[string]interface{}{"mcc": "310", "mnc": -2, "ricId": "AA443"}, - "routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, + "globalRicId": map[string]interface{}{"mcc": "310", "mnc": "-2", "ricId": "AA443"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, } buf, err := yaml.Marshal(yamlMap) if err != nil { @@ -461,8 +493,8 @@ func TestNegativeMccFailure(t *testing.T) { "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, "logging": map[string]interface{}{"logLevel": "info"}, "http": map[string]interface{}{"port": 3800}, - "globalRicId": map[string]interface{}{"mcc": -31, "mnc": 222, "ricId": "AA443"}, - "routingManager": map[string]interface{}{"baseUrl": "http://iltlv740.intl.att.com:8080/ric/v1/handles/"}, + "globalRicId": map[string]interface{}{"mcc": "-31", "mnc": "222", "ricId": "AA443"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, } buf, err := yaml.Marshal(yamlMap) if err != nil { @@ -474,4 +506,197 @@ func TestNegativeMccFailure(t *testing.T) { } assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is negative\n", func() { ParseConfiguration() }) -} \ No newline at end of file +} + +func TestAlphaNumericMccFailure(t *testing.T) { + configPath := "../resources/configuration.yaml" + configPathTmp := "../resources/configuration.yaml_tmp" + err := os.Rename(configPath, configPathTmp) + if err != nil { + t.Errorf("#TestAlphaNumericMccFailure - failed to rename configuration file: %s\n", configPath) + } + defer func() { + err = os.Rename(configPathTmp, configPath) + if err != nil { + t.Errorf("#TestAlphaNumericMccFailure - failed to rename configuration file: %s\n", configPath) + } + }() + yamlMap := map[string]interface{}{ + "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, + "logging": map[string]interface{}{"logLevel": "info"}, + "http": map[string]interface{}{"port": 3800}, + "globalRicId": map[string]interface{}{"mcc": "1W2", "mnc": "222", "ricId": "AA443"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, + } + buf, err := yaml.Marshal(yamlMap) + if err != nil { + t.Errorf("#TestAlphaNumericMccFailure - failed to marshal configuration map\n") + } + err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644) + if err != nil { + t.Errorf("#TestAlphaNumericMccFailure - failed to write configuration file: %s\n", configPath) + } + assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is not a number\n", + func() { ParseConfiguration() }) +} + +func TestAlphaNumericMncFailure(t *testing.T) { + configPath := "../resources/configuration.yaml" + configPathTmp := "../resources/configuration.yaml_tmp" + err := os.Rename(configPath, configPathTmp) + if err != nil { + t.Errorf("#TestAlphaNumericMncFailure - failed to rename configuration file: %s\n", configPath) + } + defer func() { + err = os.Rename(configPathTmp, configPath) + if err != nil { + t.Errorf("#TestAlphaNumericMncFailure - failed to rename configuration file: %s\n", configPath) + } + }() + yamlMap := map[string]interface{}{ + "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, + "logging": map[string]interface{}{"logLevel": "info"}, + "http": map[string]interface{}{"port": 3800}, + "globalRicId": map[string]interface{}{"mcc": "111", "mnc": "2A8", "ricId": "AA443"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, + } + buf, err := yaml.Marshal(yamlMap) + if err != nil { + t.Errorf("#TestAlphaNumericMncFailure - failed to marshal configuration map\n") + } + err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644) + if err != nil { + t.Errorf("#TestAlphaNumericMncFailure - failed to write configuration file: %s\n", configPath) + } + assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is not a number\n", + func() { ParseConfiguration() }) +} + +func TestMissingMmcFailure(t *testing.T) { + configPath := "../resources/configuration.yaml" + configPathTmp := "../resources/configuration.yaml_tmp" + err := os.Rename(configPath, configPathTmp) + if err != nil { + t.Errorf("#TestMissingMmcFailure - failed to rename configuration file: %s\n", configPath) + } + defer func() { + err = os.Rename(configPathTmp, configPath) + if err != nil { + t.Errorf("#TestMissingMmcFailure - failed to rename configuration file: %s\n", configPath) + } + }() + yamlMap := map[string]interface{}{ + "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, + "logging": map[string]interface{}{"logLevel": "info"}, + "http": map[string]interface{}{"port": 3800}, + "globalRicId": map[string]interface{}{"mnc": "94", "ricId": "AABB3"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, + } + buf, err := yaml.Marshal(yamlMap) + if err != nil { + t.Errorf("#TestMissingMmcFailure - failed to marshal configuration map\n") + } + err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644) + if err != nil { + t.Errorf("#TestMissingMmcFailure - failed to write configuration file: %s\n", configPath) + } + assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is emtpy or missing\n", + func() { ParseConfiguration() }) +} + + +func TestEmptyMmcFailure(t *testing.T) { + configPath := "../resources/configuration.yaml" + configPathTmp := "../resources/configuration.yaml_tmp" + err := os.Rename(configPath, configPathTmp) + if err != nil { + t.Errorf("#TestEmptyMmcFailure - failed to rename configuration file: %s\n", configPath) + } + defer func() { + err = os.Rename(configPathTmp, configPath) + if err != nil { + t.Errorf("#TestEmptyMmcFailure - failed to rename configuration file: %s\n", configPath) + } + }() + yamlMap := map[string]interface{}{ + "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, + "logging": map[string]interface{}{"logLevel": "info"}, + "http": map[string]interface{}{"port": 3800}, + "globalRicId": map[string]interface{}{"mcc": "", "mnc": "94", "ricId": "AABB3"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, + } + buf, err := yaml.Marshal(yamlMap) + if err != nil { + t.Errorf("#TestEmptyMmcFailure - failed to marshal configuration map\n") + } + err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644) + if err != nil { + t.Errorf("#TestEmptyMmcFailure - failed to write configuration file: %s\n", configPath) + } + assert.PanicsWithValue(t, "#configuration.validateMcc - mcc is emtpy or missing\n", + func() { ParseConfiguration() }) +} + +func TestEmptyMncFailure(t *testing.T) { + configPath := "../resources/configuration.yaml" + configPathTmp := "../resources/configuration.yaml_tmp" + err := os.Rename(configPath, configPathTmp) + if err != nil { + t.Errorf("#TestEmptyMncFailure - failed to rename configuration file: %s\n", configPath) + } + defer func() { + err = os.Rename(configPathTmp, configPath) + if err != nil { + t.Errorf("#TestEmptyMncFailure - failed to rename configuration file: %s\n", configPath) + } + }() + yamlMap := map[string]interface{}{ + "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, + "logging": map[string]interface{}{"logLevel": "info"}, + "http": map[string]interface{}{"port": 3800}, + "globalRicId": map[string]interface{}{"mcc": "111", "mnc": "", "ricId": "AABB3"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, + } + buf, err := yaml.Marshal(yamlMap) + if err != nil { + t.Errorf("#TestEmptyMncFailure - failed to marshal configuration map\n") + } + err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644) + if err != nil { + t.Errorf("#TestEmptyMncFailure - failed to write configuration file: %s\n", configPath) + } + assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is emtpy or missing\n", + func() { ParseConfiguration() }) +} + +func TestMissingMncFailure(t *testing.T) { + configPath := "../resources/configuration.yaml" + configPathTmp := "../resources/configuration.yaml_tmp" + err := os.Rename(configPath, configPathTmp) + if err != nil { + t.Errorf("#TestMissingMncFailure - failed to rename configuration file: %s\n", configPath) + } + defer func() { + err = os.Rename(configPathTmp, configPath) + if err != nil { + t.Errorf("#TestMissingMncFailure - failed to rename configuration file: %s\n", configPath) + } + }() + yamlMap := map[string]interface{}{ + "rmr": map[string]interface{}{"port": 3801, "maxMsgSize": 4096}, + "logging": map[string]interface{}{"logLevel": "info"}, + "http": map[string]interface{}{"port": 3800}, + "globalRicId": map[string]interface{}{"mcc": "111", "ricId": "AABB3"}, + "routingManager": map[string]interface{}{"baseUrl": "http://localhost:8080/ric/v1/handles/"}, + } + buf, err := yaml.Marshal(yamlMap) + if err != nil { + t.Errorf("#TestMissingMncFailure - failed to marshal configuration map\n") + } + err = ioutil.WriteFile("../resources/configuration.yaml", buf, 0644) + if err != nil { + t.Errorf("#TestMissingMncFailure - failed to write configuration file: %s\n", configPath) + } + assert.PanicsWithValue(t, "#configuration.validateMnc - mnc is emtpy or missing\n", + func() { ParseConfiguration() }) +} diff --git a/E2Manager/handlers/rmrmsghandlers/e2_setup_request_notification_handler.go b/E2Manager/handlers/rmrmsghandlers/e2_setup_request_notification_handler.go index de17a4f..2a39b73 100644 --- a/E2Manager/handlers/rmrmsghandlers/e2_setup_request_notification_handler.go +++ b/E2Manager/handlers/rmrmsghandlers/e2_setup_request_notification_handler.go @@ -171,7 +171,7 @@ func (h E2SetupRequestNotificationHandler) handleUnsuccessfulResponse(nodebInfo func (h E2SetupRequestNotificationHandler) handleSuccessfulResponse(ranName string, req *models.NotificationRequest, setupRequest *models.E2SetupRequestMessage) { - plmnId := buildPlmnId(strconv.Itoa(h.config.GlobalRicId.Mcc), strconv.Itoa(h.config.GlobalRicId.Mnc)) + plmnId := buildPlmnId(h.config.GlobalRicId.Mcc, h.config.GlobalRicId.Mnc) ricNearRtId, err := convertTo20BitString(h.config.GlobalRicId.RicId) if err != nil { diff --git a/E2Manager/handlers/rmrmsghandlers/e2_setup_request_notification_handler_test.go b/E2Manager/handlers/rmrmsghandlers/e2_setup_request_notification_handler_test.go index 30bc71a..a824e0c 100644 --- a/E2Manager/handlers/rmrmsghandlers/e2_setup_request_notification_handler_test.go +++ b/E2Manager/handlers/rmrmsghandlers/e2_setup_request_notification_handler_test.go @@ -308,9 +308,9 @@ func TestE2SetupRequestNotificationHandler_ConvertTo20BitStringError(t *testing. logger := tests.InitLog(t) config := &configuration.Configuration{RnibRetryIntervalMs: 10, MaxRnibConnectionAttempts: 3, GlobalRicId: struct { RicId string - Mcc int - Mnc int - }{Mcc: 327, Mnc: 94 ,RicId: "10011001101010101011"}} + Mcc string + Mnc string + }{Mcc: "327", Mnc: "94" ,RicId: "10011001101010101011"}} rmrMessengerMock := &mocks.RmrMessengerMock{} rmrSender := tests.InitRmrSender(rmrMessengerMock, logger) readerMock := &mocks.RnibReaderMock{} @@ -367,9 +367,9 @@ func initMocks(t *testing.T) (E2SetupRequestNotificationHandler, *mocks.RnibRead logger := tests.InitLog(t) config := &configuration.Configuration{RnibRetryIntervalMs: 10, MaxRnibConnectionAttempts: 3, GlobalRicId: struct { RicId string - Mcc int - Mnc int - }{Mcc: 327, Mnc: 94 ,RicId: "AACCE"}} + Mcc string + Mnc string + }{Mcc: "327", Mnc: "94" ,RicId: "AACCE"}} rmrMessengerMock := &mocks.RmrMessengerMock{} rmrSender := tests.InitRmrSender(rmrMessengerMock, logger) readerMock := &mocks.RnibReaderMock{} diff --git a/E2Manager/resources/configuration.yaml b/E2Manager/resources/configuration.yaml index 0331f44..f2875d4 100644 --- a/E2Manager/resources/configuration.yaml +++ b/E2Manager/resources/configuration.yaml @@ -15,6 +15,6 @@ keepAliveResponseTimeoutMs: 4500 keepAliveDelayMs: 1500 e2tInstanceDeletionTimeoutMs: 15000 globalRicId: - ricId: AACCE - mcc: 327 - mnc: 94 \ No newline at end of file + ricId: "AACCE" + mcc: "026" + mnc: "09" \ No newline at end of file -- 2.16.6