1 // SPDX-License-Identifier: Apache-2.0
2 // Copyright (c) 2020 Intel Corporation
11 "github.com/open-ness/EMCO/src/orchestrator/pkg/infra/db"
12 "github.com/open-ness/EMCO/src/orchestrator/pkg/module/types"
14 pkgerrors "github.com/pkg/errors"
17 func TestCreateController(t *testing.T) {
18 testCases := []struct {
26 label: "Create Controller",
28 Metadata: types.Metadata{
29 Name: "testController",
37 Metadata: types.Metadata{
38 Name: "testController",
49 label: "Failed Create Controller",
50 expectedError: "Error Creating Controller",
52 Err: pkgerrors.New("Error Creating Controller"),
57 for _, testCase := range testCases {
58 t.Run(testCase.label, func(t *testing.T) {
59 db.DBconn = testCase.mockdb
60 impl := NewControllerClient()
61 got, err := impl.CreateController(testCase.inp, false)
63 if testCase.expectedError == "" {
64 t.Fatalf("Create returned an unexpected error %s", err)
66 if strings.Contains(err.Error(), testCase.expectedError) == false {
67 t.Fatalf("Create returned an unexpected error %s", err)
70 if reflect.DeepEqual(testCase.expected, got) == false {
71 t.Errorf("Create returned unexpected body: got %v;"+
72 " expected %v", got, testCase.expected)
79 func TestGetController(t *testing.T) {
81 testCases := []struct {
90 label: "Get Controller",
91 name: "testController",
93 Metadata: types.Metadata{
94 Name: "testController",
103 Items: []map[string]map[string][]byte{
105 ControllerKey{ControllerName: "testController"}.String(): {
106 "controllermetadata": []byte(
108 "\"name\":\"testController\"" +
111 "\"host\":\"132.156.0.10\"," +
112 "\"port\": 8080 }}"),
120 expectedError: "DB Error",
122 Err: pkgerrors.New("DB Error"),
127 for _, testCase := range testCases {
128 t.Run(testCase.label, func(t *testing.T) {
129 db.DBconn = testCase.mockdb
130 impl := NewControllerClient()
131 got, err := impl.GetController(testCase.name)
133 if testCase.expectedError == "" {
134 t.Fatalf("Get returned an unexpected error: %s", err)
136 if strings.Contains(err.Error(), testCase.expectedError) == false {
137 t.Fatalf("Get returned an unexpected error: %s", err)
140 if reflect.DeepEqual(testCase.expected, got) == false {
141 t.Errorf("Get returned unexpected body: got %v;"+
142 " expected %v", got, testCase.expected)
149 func TestDeleteController(t *testing.T) {
151 testCases := []struct {
158 label: "Delete Controller",
159 name: "testController",
160 mockdb: &db.MockDB{},
163 label: "Delete Error",
164 expectedError: "DB Error",
166 Err: pkgerrors.New("DB Error"),
171 for _, testCase := range testCases {
172 t.Run(testCase.label, func(t *testing.T) {
173 db.DBconn = testCase.mockdb
174 impl := NewControllerClient()
175 err := impl.DeleteController(testCase.name)
177 if testCase.expectedError == "" {
178 t.Fatalf("Delete returned an unexpected error %s", err)
180 if strings.Contains(err.Error(), testCase.expectedError) == false {
181 t.Fatalf("Delete returned an unexpected error %s", err)