package main
import (
- "testing"
- "reflect"
- "errors"
"encoding/json"
+ "errors"
"log"
+ "reflect"
+ "testing"
)
var helmSearchOutput = `
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
}
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!")
}
}
}
log.Println("Feedbacks: ", feedback)
-}
\ No newline at end of file
+}