Resolve RMR port from K8s services
[ric-plt/appmgr.git] / pkg / cm / cm_test.go
index be600bb..01f5bc5 100755 (executable)
@@ -26,9 +26,9 @@ import (
        "reflect"
        "testing"
 
-       "gerrit.oran-osc.org/r/ric-plt/appmgr/pkg/appmgr"
-       "gerrit.oran-osc.org/r/ric-plt/appmgr/pkg/models"
-       "gerrit.oran-osc.org/r/ric-plt/appmgr/pkg/util"
+       "gerrit.o-ran-sc.org/r/ric-plt/appmgr/pkg/appmgr"
+       "gerrit.o-ran-sc.org/r/ric-plt/appmgr/pkg/models"
+       "gerrit.o-ran-sc.org/r/ric-plt/appmgr/pkg/util"
 )
 
 var helmSearchOutput = `
@@ -52,7 +52,8 @@ var kubectlConfigmapOutput = `
        "maxSize": 2072,
        "numWorkers": 1,
        "txMessages": ["RIC_X2_LOAD_INFORMATION"],
-       "rxMessages": ["RIC_X2_LOAD_INFORMATION"]
+       "rxMessages": ["RIC_X2_LOAD_INFORMATION"],
+          "policies":   [11, 22, 33]
     },
     "db": {
         "namespace": "ricxapp",
@@ -78,43 +79,19 @@ func (cm *MockedConfigMapper) UploadConfig() (cfg []models.XAppConfig) {
        return
 }
 
-func (cm *MockedConfigMapper) CreateConfigMap(r models.XAppConfig) (errList models.ConfigValidationErrors, err error) {
-       return
-}
-
-func (cm *MockedConfigMapper) GetConfigMap(m models.XappDescriptor, c *interface{}) (err error) {
-       return
-}
-
 func (cm *MockedConfigMapper) UpdateConfigMap(r models.XAppConfig) (errList models.ConfigValidationErrors, err error) {
        return
 }
 
-func (cm *MockedConfigMapper) DeleteConfigMap(r models.XAppConfig) (c interface{}, err error) {
-       return
-}
-
-func (cm *MockedConfigMapper) PurgeConfigMap(m models.XappDescriptor) (c interface{}, err error) {
-       return
-}
-
-func (cm *MockedConfigMapper) RestoreConfigMap(m models.XappDescriptor, c interface{}) (err error) {
-       return
-}
-
 func (cm *MockedConfigMapper) ReadConfigMap(name string, ns string, c *interface{}) (err error) {
        return
 }
 
-func (cm *MockedConfigMapper) ApplyConfigMap(r models.XAppConfig, action string) (err error) {
-       return
-}
-
 func (cm *MockedConfigMapper) FetchChart(name string) (err error) {
        return
 }
 
-func (cm *MockedConfigMapper) GetMessages(name string) (msgs appmgr.MessageTypes) {
+func (cm *MockedConfigMapper) GetRtmData(name string) (msgs appmgr.RtmData) {
        return
 }
 
@@ -135,19 +112,20 @@ func TestMain(m *testing.M) {
        os.Exit(code)
 }
 
-func TestGetMessages(t *testing.T) {
-       expectedMsgs := appmgr.MessageTypes{
+func TestGetRtmData(t *testing.T) {
+       expectedMsgs := appmgr.RtmData{
                TxMessages: []string{"RIC_X2_LOAD_INFORMATION"},
                RxMessages: []string{"RIC_X2_LOAD_INFORMATION"},
+               Policies:   []int64{11, 22, 33},
        }
 
        util.KubectlExec = func(args string) (out []byte, err error) {
                return []byte(kubectlConfigmapOutput), nil
        }
 
-       result := NewCM().GetMessages("dummy-xapp")
+       result := NewCM().GetRtmData("dummy-xapp")
        if !reflect.DeepEqual(result, expectedMsgs) {
-               t.Errorf("TestGetMessages failed: expected: %v, got: %v", expectedMsgs, result)
+               t.Errorf("TestGetRtmData failed: expected: %v, got: %v", expectedMsgs, result)
        }
 }
 
@@ -201,87 +179,37 @@ func TestGetNamesFromHelmRepoFailure(t *testing.T) {
        }
 }
 
-func TestApplyConfigMapSuccess(t *testing.T) {
-       name := "dummy-xapp"
-       m := models.ConfigMetadata{Name: &name, Namespace: "ricxapp"}
-       s := ConfigSample{5, "localhost"}
-
-       util.KubectlExec = func(args string) (out []byte, err error) {
-               return []byte(`{"logger": {"level": 2}}`), nil
-       }
-
-       err := NewCM().ApplyConfigMap(models.XAppConfig{Metadata: &m, Config: s}, "create")
-       if err != nil {
-               t.Errorf("ApplyConfigMap failed: %v", err)
-       }
-}
-
-func TestRestoreConfigMapSuccess(t *testing.T) {
+func TestBuildConfigMapSuccess(t *testing.T) {
        name := "dummy-xapp"
-       m := models.XappDescriptor{XappName: &name, Namespace: "ricxapp"}
-       s := ConfigSample{5, "localhost"}
+       namespace := "ricxapp"
+       m := models.ConfigMetadata{XappName: &name, Namespace: &namespace}
+       s := `{"Metadata": {"XappName": "ueec", "Namespace": "ricxapp"}, "Config": {"active": true, "interfaceId":{"globalENBId": {"eNBId": 77, "plmnId": "6666"}}}}`
 
        util.KubectlExec = func(args string) (out []byte, err error) {
                return []byte(`{"logger": {"level": 2}}`), nil
        }
 
-       err := NewCM().RestoreConfigMap(m, s)
+       cmString, err := NewCM().BuildConfigMap(models.XAppConfig{Metadata: &m, Config: s})
        if err != nil {
-               t.Errorf("RestoreConfigMap failed: %v", err)
-       }
-}
-
-func TestDeleteConfigMapSuccess(t *testing.T) {
-       util.HelmExec = func(args string) (out []byte, err error) {
-               return []byte("ok"), nil
-       }
-
-       util.KubectlExec = func(args string) (out []byte, err error) {
-               return []byte(`{"logger": {"level": 2}}`), nil
-       }
-
-       validationErrors, err := NewCM().DeleteConfigMap(models.ConfigMetadata{})
-       if err != nil {
-               t.Errorf("DeleteConfigMap failed: %v -> %v", err, validationErrors)
-       }
-}
-
-func TestPurgeConfigMapSuccess(t *testing.T) {
-       util.HelmExec = func(args string) (out []byte, err error) {
-               return []byte("ok"), nil
-       }
-
-       util.KubectlExec = func(args string) (out []byte, err error) {
-               return []byte(`{"logger": {"level": 2}}`), nil
-       }
-
-       name := "dummy-xapp"
-       validationErrors, err := NewCM().PurgeConfigMap(models.XappDescriptor{XappName: &name})
-       if err != nil {
-               t.Errorf("PurgeConfigMap failed: %v -> %v", err, validationErrors)
-       }
-}
-
-func TestCreateConfigMapFails(t *testing.T) {
-       name := "dummy-xapp"
-       validationErrors, err := NewCM().CreateConfigMap(models.XAppConfig{Metadata: &models.ConfigMetadata{Name: &name}})
-       if err == nil {
-               t.Errorf("CreateConfigMap failed: %v -> %v", err, validationErrors)
+               t.Errorf("BuildConfigMap failed: %v -> %v", err, cmString)
        }
 }
 
 func TestUpdateConfigMapFails(t *testing.T) {
        name := "dummy-xapp"
-       validationErrors, err := NewCM().UpdateConfigMap(models.XAppConfig{Metadata: &models.ConfigMetadata{Name: &name}})
+       namespace := "ricxapp"
+       config := models.XAppConfig{Metadata: &models.ConfigMetadata{XappName: &name, Namespace: &namespace}}
+
+       validationErrors, err := NewCM().UpdateConfigMap(config)
        if err == nil {
-               t.Errorf("CreateConfigMap failed: %v -> %v", err, validationErrors)
+               t.Errorf("UpdateConfigMap failed: %v -> %v", err, validationErrors)
        }
 }
 
 func TestValidationSuccess(t *testing.T) {
        var d interface{}
        var cfg map[string]interface{}
-       err := json.Unmarshal([]byte(`{"local": {"host": ":8080"}, "logger": {"level": 3}}`), &cfg)
+       err := json.Unmarshal([]byte(`{"active": true, "interfaceId":{"globalENBId": {"eNBId": 77, "plmnId": "6666"}}}`), &cfg)
 
        err = NewCM().ReadFile("../../test/schema.json", &d)
        if err != nil {
@@ -297,7 +225,7 @@ func TestValidationSuccess(t *testing.T) {
 func TestValidationFails(t *testing.T) {
        var d interface{}
        var cfg map[string]interface{}
-       err := json.Unmarshal([]byte(`{"local": {"host": ":8080"}, "logger": {"level": "INVALID"}}`), &cfg)
+       err := json.Unmarshal([]byte(`{"active": "INVALID", "interfaceId":{"globalENBId": {"eNBId": 77, "plmnId": "6666"}}}`), &cfg)
 
        err = NewCM().ReadFile("../../test/schema.json", &d)
        if err != nil {