1 // SPDX-License-Identifier: Apache-2.0
\r
2 // Copyright (c) 2020 Intel Corporation
\r
11 "github.com/open-ness/EMCO/src/orchestrator/pkg/infra/db"
\r
12 "github.com/open-ness/EMCO/src/orchestrator/pkg/module/types"
\r
14 pkgerrors "github.com/pkg/errors"
\r
17 func TestCreateController(t *testing.T) {
\r
18 testCases := []struct {
\r
21 expectedError string
\r
26 label: "Create Controller",
\r
28 Metadata: types.Metadata{
\r
29 Name: "testController",
\r
31 Spec: ControllerSpec{
\r
32 Host: "132.156.0.10",
\r
36 expected: Controller{
\r
37 Metadata: types.Metadata{
\r
38 Name: "testController",
\r
40 Spec: ControllerSpec{
\r
41 Host: "132.156.0.10",
\r
46 mockdb: &db.MockDB{},
\r
49 label: "Failed Create Controller",
\r
50 expectedError: "Error Creating Controller",
\r
52 Err: pkgerrors.New("Error Creating Controller"),
\r
57 for _, testCase := range testCases {
\r
58 t.Run(testCase.label, func(t *testing.T) {
\r
59 db.DBconn = testCase.mockdb
\r
60 impl := NewControllerClient()
\r
61 got, err := impl.CreateController(testCase.inp, false)
\r
63 if testCase.expectedError == "" {
\r
64 t.Fatalf("Create returned an unexpected error %s", err)
\r
66 if strings.Contains(err.Error(), testCase.expectedError) == false {
\r
67 t.Fatalf("Create returned an unexpected error %s", err)
\r
70 if reflect.DeepEqual(testCase.expected, got) == false {
\r
71 t.Errorf("Create returned unexpected body: got %v;"+
\r
72 " expected %v", got, testCase.expected)
\r
79 func TestGetController(t *testing.T) {
\r
81 testCases := []struct {
\r
84 expectedError string
\r
90 label: "Get Controller",
\r
91 name: "testController",
\r
92 expected: Controller{
\r
93 Metadata: types.Metadata{
\r
94 Name: "testController",
\r
96 Spec: ControllerSpec{
\r
97 Host: "132.156.0.10",
\r
102 mockdb: &db.MockDB{
\r
103 Items: map[string]map[string][]byte{
\r
104 ControllerKey{ControllerName: "testController"}.String(): {
\r
105 "controllermetadata": []byte(
\r
106 "{\"metadata\":{" +
\r
107 "\"name\":\"testController\"" +
\r
110 "\"host\":\"132.156.0.10\"," +
\r
111 "\"port\": 8080 }}"),
\r
117 label: "Get Error",
\r
118 expectedError: "DB Error",
\r
119 mockdb: &db.MockDB{
\r
120 Err: pkgerrors.New("DB Error"),
\r
125 for _, testCase := range testCases {
\r
126 t.Run(testCase.label, func(t *testing.T) {
\r
127 db.DBconn = testCase.mockdb
\r
128 impl := NewControllerClient()
\r
129 got, err := impl.GetController(testCase.name)
\r
131 if testCase.expectedError == "" {
\r
132 t.Fatalf("Get returned an unexpected error: %s", err)
\r
134 if strings.Contains(err.Error(), testCase.expectedError) == false {
\r
135 t.Fatalf("Get returned an unexpected error: %s", err)
\r
138 if reflect.DeepEqual(testCase.expected, got) == false {
\r
139 t.Errorf("Get returned unexpected body: got %v;"+
\r
140 " expected %v", got, testCase.expected)
\r
147 func TestDeleteController(t *testing.T) {
\r
149 testCases := []struct {
\r
152 expectedError string
\r
156 label: "Delete Controller",
\r
157 name: "testController",
\r
158 mockdb: &db.MockDB{},
\r
161 label: "Delete Error",
\r
162 expectedError: "DB Error",
\r
163 mockdb: &db.MockDB{
\r
164 Err: pkgerrors.New("DB Error"),
\r
169 for _, testCase := range testCases {
\r
170 t.Run(testCase.label, func(t *testing.T) {
\r
171 db.DBconn = testCase.mockdb
\r
172 impl := NewControllerClient()
\r
173 err := impl.DeleteController(testCase.name)
\r
175 if testCase.expectedError == "" {
\r
176 t.Fatalf("Delete returned an unexpected error %s", err)
\r
178 if strings.Contains(err.Error(), testCase.expectedError) == false {
\r
179 t.Fatalf("Delete returned an unexpected error %s", err)
\r