X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=cmd%2Fvesmgr%2Fconfig_test.go;h=da135b46d04c717c55d277cdf53bf03a891bbbbd;hb=070b3653202d9db994834cbdc175044a80e8278a;hp=08bde190ca9d9a27be20098916246029be294993;hpb=412df96a23a30a82d2a031556888aeaf9604ada8;p=ric-plt%2Fvespamgr.git diff --git a/cmd/vesmgr/config_test.go b/cmd/vesmgr/config_test.go old mode 100644 new mode 100755 index 08bde19..da135b4 --- a/cmd/vesmgr/config_test.go +++ b/cmd/vesmgr/config_test.go @@ -13,18 +13,22 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. + * + * This source code is part of the near-RT RIC (RAN Intelligent Controller) + * platform project (RICP). */ package main import ( "bytes" "encoding/json" - "github.com/stretchr/testify/assert" - "gopkg.in/yaml.v2" "io/ioutil" "os" "testing" "time" + + "github.com/stretchr/testify/assert" + "gopkg.in/yaml.v2" ) func testBaseConf(t *testing.T, vesconf VESAgentConfiguration) { @@ -33,6 +37,14 @@ func testBaseConf(t *testing.T, vesconf VESAgentConfiguration) { assert.Equal(t, vesconf.Event.MaxMissed, 2) assert.Equal(t, vesconf.Event.RetryInterval, time.Second*5) assert.Equal(t, vesconf.Measurement.Prometheus.KeepAlive, time.Second*30) + assert.Equal(t, vesconf.Event.VNFName, defaultVNFName) + assert.Equal(t, vesconf.Event.NfNamingCode, defaultNFNamingCode) + assert.Equal(t, vesconf.Event.ReportingEntityName, "Vespa") + // depending on the credentials with which this test is run, + // root or non-root, the code either reads the UUID from the file or + // ends up using the default id. Just check the length here, + // not the actual value. + assert.Len(t, vesconf.Event.ReportingEntityID, len(defaultReportingEntityID)) } func TestBasicConfigContainsCorrectValues(t *testing.T) { @@ -40,7 +52,19 @@ func TestBasicConfigContainsCorrectValues(t *testing.T) { testBaseConf(t, vesconf) } +func TestBasicConfigContainsCorrectVNFName(t *testing.T) { + os.Setenv("VESMGR_VNFNAME", "VNF-111") + os.Setenv("VESMGR_NFNAMINGCODE", "code55") + vesconf := basicVespaConf() + assert.Equal(t, vesconf.Event.VNFName, "VNF-111") + assert.Equal(t, vesconf.Event.NfNamingCode, "code55") + os.Unsetenv("VESMGR_VNFNAME") + os.Unsetenv("VESMGR_NFNAMINGCODE") +} + func TestCollectorConfiguration(t *testing.T) { + os.Unsetenv("VESMGR_VNFNAME") + os.Unsetenv("VESMGR_NFNAMINGCODE") os.Setenv("VESMGR_PRICOLLECTOR_USER", "user123") os.Setenv("VESMGR_PRICOLLECTOR_PASSWORD", "pass123") os.Setenv("VESMGR_PRICOLLECTOR_PASSPHRASE", "phrase123") @@ -64,6 +88,8 @@ func TestCollectorConfiguration(t *testing.T) { } func TestCollectorConfigurationWhenEnvironmentVariablesAreNotDefined(t *testing.T) { + os.Unsetenv("VESMGR_VNFNAME") + os.Unsetenv("VESMGR_NFNAMINGCODE") os.Unsetenv("VESMGR_PRICOLLECTOR_USER") os.Unsetenv("VESMGR_PRICOLLECTOR_PASSWORD") os.Unsetenv("VESMGR_PRICOLLECTOR_PASSPHRASE") @@ -130,16 +156,16 @@ func metricsStringToInterfaceArray(metrics string) []interface{} { } func TestParseMetricsRules(t *testing.T) { - metricsJson := `{"metrics": [ - { "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounter", "objectInstance": "ricxappRMRReceived" }, - { "name": "ricxapp_RMR_ReceiveError", "objectName": "ricxappRMRReceiveErrorCounter", "objectInstance": "ricxappRMRReceiveError" }, - { "name": "ricxapp_RMR_Transmitted", "objectName": "ricxappRMRTransmittedCounter", "objectInstance": "ricxappRMRTransmitted" }, - { "name": "ricxapp_RMR_TransmitError", "objectName": "ricxappRMRTransmitErrorCounter", "objectInstance": "ricxappRMRTransmitError" }, - { "name": "ricxapp_SDL_Stored", "objectName": "ricxappSDLStoredCounter", "objectInstance": "ricxappSDLStored" }, - { "name": "ricxapp_SDL_StoreError", "objectName": "ricxappSDLStoreErrorCounter", "objectInstance": "ricxappSDLStoreError" } ]}` + metricsJSON := `{"metrics": [ + { "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounter", "objectInstance": "ricxappRMRReceived", "counterId": "0011" }, + { "name": "ricxapp_RMR_ReceiveError", "objectName": "ricxappRMRReceiveErrorCounter", "objectInstance": "ricxappRMRReceiveError", "counterId": "0011" }, + { "name": "ricxapp_RMR_Transmitted", "objectName": "ricxappRMRTransmittedCounter", "objectInstance": "ricxappRMRTransmitted", "counterId": "0011" }, + { "name": "ricxapp_RMR_TransmitError", "objectName": "ricxappRMRTransmitErrorCounter", "objectInstance": "ricxappRMRTransmitError", "counterId": "0011" }, + { "name": "ricxapp_SDL_Stored", "objectName": "ricxappSDLStoredCounter", "objectInstance": "ricxappSDLStored", "counterId": "0011" }, + { "name": "ricxapp_SDL_StoreError", "objectName": "ricxappSDLStoreErrorCounter", "objectInstance": "ricxappSDLStoreError", "counterId": "0011" } ]}` appMetrics := make(AppMetrics) - var m []interface{} = metricsStringToInterfaceArray(metricsJson) - appMetrics = parseMetricsRules(m, appMetrics) + m := metricsStringToInterfaceArray(metricsJSON) + appMetrics = parseMetricsRules(m, appMetrics, "SEP/XAPP", "X2", "1234", "60") assert.Len(t, appMetrics, 6) assert.Equal(t, "ricxappRMRreceivedCounter", appMetrics["ricxapp_RMR_Received"].ObjectName) assert.Equal(t, "ricxappRMRTransmitErrorCounter", appMetrics["ricxapp_RMR_TransmitError"].ObjectName) @@ -148,18 +174,18 @@ func TestParseMetricsRules(t *testing.T) { func TestParseMetricsRulesNoMetrics(t *testing.T) { appMetrics := make(AppMetrics) - metricsJson := `{"metrics": []` - var m []interface{} = metricsStringToInterfaceArray(metricsJson) - appMetrics = parseMetricsRules(m, appMetrics) + metricsJSON := `{"metrics": []` + m := metricsStringToInterfaceArray(metricsJSON) + appMetrics = parseMetricsRules(m, appMetrics, "SEP/XAPP", "X2", "1234", "60") assert.Empty(t, appMetrics) } func TestParseMetricsRulesAdditionalFields(t *testing.T) { appMetrics := make(AppMetrics) - metricsJson := `{"metrics": [ - { "additionalField": "valueIgnored", "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounter", "objectInstance": "ricxappRMRReceived" }]}` - var m []interface{} = metricsStringToInterfaceArray(metricsJson) - appMetrics = parseMetricsRules(m, appMetrics) + metricsJSON := `{"metrics": [ + { "additionalField": "valueIgnored", "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounter", "objectInstance": "ricxappRMRReceived", "counterId": "0011" }]}` + m := metricsStringToInterfaceArray(metricsJSON) + appMetrics = parseMetricsRules(m, appMetrics, "SEP/XAPP", "X2", "1234", "60") assert.Len(t, appMetrics, 1) assert.Equal(t, "ricxappRMRreceivedCounter", appMetrics["ricxapp_RMR_Received"].ObjectName) assert.Equal(t, "ricxappRMRReceived", appMetrics["ricxapp_RMR_Received"].ObjectInstance) @@ -167,12 +193,12 @@ func TestParseMetricsRulesAdditionalFields(t *testing.T) { func TestParseMetricsRulesMissingFields(t *testing.T) { appMetrics := make(AppMetrics) - metricsJson := `{"metrics": [ - { "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounter", "objectInstance": "ricxappRMRReceived" }, + metricsJSON := `{"metrics": [ + { "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounter", "objectInstance": "ricxappRMRReceived", "counterId": "0011" }, { "name": "ricxapp_RMR_ReceiveError", "objectInstance": "ricxappRMRReceiveError" }, - { "name": "ricxapp_RMR_Transmitted", "objectName": "ricxappRMRTransmittedCounter", "objectInstance": "ricxappRMRTransmitted" }]}` - var m []interface{} = metricsStringToInterfaceArray(metricsJson) - appMetrics = parseMetricsRules(m, appMetrics) + { "name": "ricxapp_RMR_Transmitted", "objectName": "ricxappRMRTransmittedCounter", "objectInstance": "ricxappRMRTransmitted", "counterId": "0011" }]}` + m := metricsStringToInterfaceArray(metricsJSON) + appMetrics = parseMetricsRules(m, appMetrics, "SEP/XAPP", "X2", "1234", "60") assert.Len(t, appMetrics, 2) assert.Equal(t, "ricxappRMRreceivedCounter", appMetrics["ricxapp_RMR_Received"].ObjectName) assert.Equal(t, "ricxappRMRTransmittedCounter", appMetrics["ricxapp_RMR_Transmitted"].ObjectName) @@ -182,12 +208,12 @@ func TestParseMetricsRulesMissingFields(t *testing.T) { func TestParseMetricsRulesDuplicateDefinitionIsIgnored(t *testing.T) { appMetrics := make(AppMetrics) - metricsJson := `{"metrics": [ - { "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounter", "objectInstance": "ricxappRMRReceived" }, - { "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounterXXX", "objectInstance": "ricxappRMRReceivedXXX" }, - { "name": "ricxapp_RMR_Transmitted", "objectName": "ricxappRMRTransmittedCounter", "objectInstance": "ricxappRMRTransmitted" }]}` - var m []interface{} = metricsStringToInterfaceArray(metricsJson) - appMetrics = parseMetricsRules(m, appMetrics) + metricsJSON := `{"metrics": [ + { "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounter", "objectInstance": "ricxappRMRReceived", "counterId": "0011" }, + { "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounterXXX", "objectInstance": "ricxappRMRReceivedXXX", "counterId": "0011" }, + { "name": "ricxapp_RMR_Transmitted", "objectName": "ricxappRMRTransmittedCounter", "objectInstance": "ricxappRMRTransmitted", "counterId": "0011" }]}` + m := metricsStringToInterfaceArray(metricsJSON) + appMetrics = parseMetricsRules(m, appMetrics, "SEP/XAPP", "X2", "1234", "60") assert.Len(t, appMetrics, 2) assert.Equal(t, "ricxappRMRreceivedCounter", appMetrics["ricxapp_RMR_Received"].ObjectName) assert.Equal(t, "ricxappRMRReceived", appMetrics["ricxapp_RMR_Received"].ObjectInstance) @@ -195,14 +221,14 @@ func TestParseMetricsRulesDuplicateDefinitionIsIgnored(t *testing.T) { func TestParseMetricsRulesIncrementalFillOfAppMetrics(t *testing.T) { appMetrics := make(AppMetrics) - metricsJson1 := `{"metrics": [ - { "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounter", "objectInstance": "ricxappRMRReceived" }]}` - metricsJson2 := `{"metrics": [ - { "name": "ricxapp_RMR_Transmitted", "objectName": "ricxappRMRTransmittedCounter", "objectInstance": "ricxappRMRTransmitted" }]}` - var m1 []interface{} = metricsStringToInterfaceArray(metricsJson1) - var m2 []interface{} = metricsStringToInterfaceArray(metricsJson2) - appMetrics = parseMetricsRules(m1, appMetrics) - appMetrics = parseMetricsRules(m2, appMetrics) + metricsJSON1 := `{"metrics": [ + { "name": "ricxapp_RMR_Received", "objectName": "ricxappRMRreceivedCounter", "objectInstance": "ricxappRMRReceived", "counterId": "0011" }]}` + metricsJSON2 := `{"metrics": [ + { "name": "ricxapp_RMR_Transmitted", "objectName": "ricxappRMRTransmittedCounter", "objectInstance": "ricxappRMRTransmitted", "counterId": "0011" }]}` + m1 := metricsStringToInterfaceArray(metricsJSON1) + m2 := metricsStringToInterfaceArray(metricsJSON2) + appMetrics = parseMetricsRules(m1, appMetrics, "SEP/XAPP", "X2", "1234", "60") + appMetrics = parseMetricsRules(m2, appMetrics, "SEP/XAPP", "X2", "1234", "60") assert.Len(t, appMetrics, 2) assert.Equal(t, "ricxappRMRreceivedCounter", appMetrics["ricxapp_RMR_Received"].ObjectName) assert.Equal(t, "ricxappRMRReceived", appMetrics["ricxapp_RMR_Received"].ObjectInstance) @@ -226,18 +252,18 @@ func TestParseXAppDescriptor(t *testing.T) { } func TestParseXAppDescriptorWithNoConfig(t *testing.T) { - metricsJson := `[{{"metadata": "something", "descriptor": "somethingelse"}}, + metricsJSON := `[{{"metadata": "something", "descriptor": "somethingelse"}}, {{"metadata": "something", "descriptor": "somethingelse"}}]` - metricsBytes := []byte(metricsJson) + metricsBytes := []byte(metricsJSON) appMetrics := make(AppMetrics) appMetrics = parseMetricsFromXAppDescriptor(metricsBytes, appMetrics) assert.Empty(t, appMetrics) } func TestParseXAppDescriptorWithNoMetrics(t *testing.T) { - metricsJson := `[{{"metadata": "something", "descriptor": "somethingelse", "config":{}}, + metricsJSON := `[{{"metadata": "something", "descriptor": "somethingelse", "config":{}}, {{"metadata": "something", "descriptor": "somethingelse", "config":{}}}]` - metricsBytes := []byte(metricsJson) + metricsBytes := []byte(metricsJSON) appMetrics := make(AppMetrics) appMetrics = parseMetricsFromXAppDescriptor(metricsBytes, appMetrics) assert.Empty(t, appMetrics)