Return endpoint's IP address instead of ClusterIP
[ric-plt/appmgr.git] / cmd / appmgr / desc_test.go
index 36b6c72..8f005a1 100755 (executable)
 package main
 
 import (
-       "testing"
-       "reflect"
-       "errors"
        "encoding/json"
+       "errors"
        "log"
+       "reflect"
+       "testing"
 )
 
 var helmSearchOutput = `
@@ -34,31 +34,63 @@ helm-repo/dualco        0.0.1           1.0             Helm Chart for Nokia dua
 helm-repo/reporter      0.0.1           1.0             Helm Chart for Reporting xAPP
 helm-repo/uemgr         0.0.1           1.0             Helm Chart for Nokia uemgr xAPP
 `
+
+var kubectlConfigmapOutput = `
+{
+    "local": {
+        "host": ":8080"
+    },
+    "logger": {
+        "level": 3
+    },
+    "rmr": {
+       "protPort": "tcp:4560",
+       "maxSize": 2072,
+       "numWorkers": 1,
+       "txMessages": ["RIC_X2_LOAD_INFORMATION"],
+       "rxMessages": ["RIC_X2_LOAD_INFORMATION"]
+    },
+    "db": {
+        "namespace": "ricxapp",
+        "host": "dbaas",
+        "port": 6379
+    }
+}
+`
+
 type ConfigSample struct {
-       Level   int
-       Host    string
+       Level int
+       Host  string
 }
 
 type MockedConfigMapper struct {
 }
 
+func (cm *MockedConfigMapper) ReadSchema(name string, c *XAppConfig) (err error) {
+       return
+}
+
 func (cm *MockedConfigMapper) UploadConfig() (cfg []XAppConfig) {
        return
 }
 
-func (cm *MockedConfigMapper) CreateConfigMap(r XAppConfig) (errList []CMError, err error){
+func (cm *MockedConfigMapper) CreateConfigMap(r XAppConfig) (errList []CMError, err error) {
        return
 }
 
-func (cm *MockedConfigMapper) UpdateConfigMap(r XAppConfig) (errList []CMError, err error){
+func (cm *MockedConfigMapper) GetConfigMap(m XappDeploy, c *interface{}) (err error) {
        return
 }
 
-func (cm *MockedConfigMapper) DeleteConfigMap(r XAppConfig) (c interface{}, err error){
+func (cm *MockedConfigMapper) UpdateConfigMap(r XAppConfig) (errList []CMError, err error) {
        return
 }
 
-func (cm *MockedConfigMapper) PurgeConfigMap(m XappDeploy) (c interface{}, err error){
+func (cm *MockedConfigMapper) DeleteConfigMap(r XAppConfig) (c interface{}, err error) {
+       return
+}
+
+func (cm *MockedConfigMapper) PurgeConfigMap(m XappDeploy) (c interface{}, err error) {
        return
 }
 
@@ -82,13 +114,41 @@ func (cm *MockedConfigMapper) GetMessages(name string) (msgs MessageTypes) {
        return
 }
 
+func (cm *MockedConfigMapper) GetNamespace(ns string) (n string) {
+       return
+}
+
+func (cm *MockedConfigMapper) GetNamesFromHelmRepo() (names []string) {
+       return
+}
+
 // Test cases
 func TestGetMessages(t *testing.T) {
        cm := ConfigMap{}
-       expectedMsgs := MessageTypes{}
+       expectedMsgs := MessageTypes{
+               TxMessages: []string{"RIC_X2_LOAD_INFORMATION"},
+               RxMessages: []string{"RIC_X2_LOAD_INFORMATION"},
+       }
+
+       KubectlExec = func(args string) (out []byte, err error) {
+               return []byte(kubectlConfigmapOutput), nil
+       }
 
-       if !reflect.DeepEqual(cm.GetMessages("dummy-xapp"), expectedMsgs) {
-               t.Errorf("TestGetMessages failed!")
+       result := cm.GetMessages("dummy-xapp")
+       if !reflect.DeepEqual(result, expectedMsgs) {
+               t.Errorf("TestGetMessages failed: expected: %v, got: %v", expectedMsgs, result)
+       }
+}
+
+func TestHelmNamespace(t *testing.T) {
+       cm := ConfigMap{}
+
+       if cm.GetNamespace("pltxapp") != "pltxapp" {
+               t.Errorf("getNamespace failed!")
+       }
+
+       if cm.GetNamespace("") != "default" {
+               t.Errorf("getNamespace failed!")
        }
 }
 
@@ -259,4 +319,4 @@ func TestValidationFails(t *testing.T) {
        }
 
        log.Println("Feedbacks: ", feedback)
-}
\ No newline at end of file
+}