aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVictor Morales <victor.morales@intel.com>2018-09-26 08:21:13 -0700
committerVictor Morales <victor.morales@intel.com>2018-09-26 08:21:13 -0700
commit3861b03899b5b31ee33098e336ae5c4e967936a8 (patch)
tree503bb773fad9df0d72d7bcfa52dfb76773a85c58 /src
parent145648701486244f632cc6aaaa0f70a252db829a (diff)
Improve Services UTs
The current implementation of Unit Tests for Services wasn't validating sucessful cases properly. This change fix that gap and increase the coverage number. Change-Id: Ib5daa607f38e490ced471a129a5fa71b2d4eb133 Signed-off-by: Victor Morales <victor.morales@intel.com> Issue-ID: MULTICLOUD-301
Diffstat (limited to 'src')
-rw-r--r--src/k8splugin/plugins/service/plugin_test.go137
1 files changed, 104 insertions, 33 deletions
diff --git a/src/k8splugin/plugins/service/plugin_test.go b/src/k8splugin/plugins/service/plugin_test.go
index 001467df..25eeb730 100644
--- a/src/k8splugin/plugins/service/plugin_test.go
+++ b/src/k8splugin/plugins/service/plugin_test.go
@@ -39,14 +39,6 @@ func TestCreateService(t *testing.T) {
expectedError string
}{
{
- label: "Fail to create a service with non-existing file",
- input: &krd.ResourceData{
- YamlFilePath: "non-existing_test_file.yaml",
- },
- clientOutput: &coreV1.Service{},
- expectedError: "not found",
- },
- {
label: "Fail to create a service with invalid type",
input: &krd.ResourceData{
YamlFilePath: "../../mock_files/mock_yamls/deployment.yaml",
@@ -75,12 +67,23 @@ func TestCreateService(t *testing.T) {
t.Run(testCase.label, func(t *testing.T) {
result, err := Create(testCase.input, client)
if err != nil {
+ if testCase.expectedError == "" {
+ t.Fatalf("Create method return an un-expected (%s)", err)
+ }
if !strings.Contains(string(err.Error()), testCase.expectedError) {
t.Fatalf("Create method returned an error (%s)", err)
}
- }
- if !reflect.DeepEqual(testCase.expectedResult, result) {
- t.Fatalf("Create method returned %v and it was expected (%v)", result, testCase.expectedResult)
+ } else {
+ if testCase.expectedError != "" && testCase.expectedResult == "" {
+ t.Fatalf("Create method was expecting \"%s\" error message", testCase.expectedError)
+ }
+ if result == "" {
+ t.Fatal("Create method returned nil result")
+ }
+ if !reflect.DeepEqual(testCase.expectedResult, result) {
+
+ t.Fatalf("Create method returned: \n%v\n and it was expected: \n%v", result, testCase.expectedResult)
+ }
}
})
}
@@ -115,6 +118,27 @@ func TestListService(t *testing.T) {
},
expectedResult: []string{"test"},
},
+ {
+ label: "Sucessfully display a list of existing services in default namespace",
+ input: "",
+ clientOutput: &coreV1.ServiceList{
+ Items: []coreV1.Service{
+ coreV1.Service{
+ ObjectMeta: metaV1.ObjectMeta{
+ Name: "test",
+ Namespace: "default",
+ },
+ },
+ coreV1.Service{
+ ObjectMeta: metaV1.ObjectMeta{
+ Name: "test2",
+ Namespace: namespace,
+ },
+ },
+ },
+ },
+ expectedResult: []string{"test"},
+ },
}
for _, testCase := range testCases {
@@ -123,29 +147,42 @@ func TestListService(t *testing.T) {
result, err := List(testCase.input, client)
if err != nil {
t.Fatalf("List method returned an error (%s)", err)
- }
- if !reflect.DeepEqual(testCase.expectedResult, result) {
- t.Fatalf("List method returned %v and it was expected (%v)", result, testCase.expectedResult)
+ } else {
+ if result == nil {
+ t.Fatal("List method returned nil result")
+ }
+ if !reflect.DeepEqual(testCase.expectedResult, result) {
+
+ t.Fatalf("List method returned: \n%v\n and it was expected: \n%v", result, testCase.expectedResult)
+ }
}
})
}
}
func TestDeleteService(t *testing.T) {
- namespace := "test1"
- name := "mock-service"
testCases := []struct {
label string
- input string
+ input map[string]string
clientOutput *coreV1.Service
}{
{
label: "Sucessfully to delete an existing service",
- input: name,
+ input: map[string]string{"name": "test-service", "namespace": "test-namespace"},
clientOutput: &coreV1.Service{
ObjectMeta: metaV1.ObjectMeta{
- Name: name,
- Namespace: namespace,
+ Name: "test-service",
+ Namespace: "test-namespace",
+ },
+ },
+ },
+ {
+ label: "Sucessfully delete an existing service in default namespace",
+ input: map[string]string{"name": "test-service", "namespace": ""},
+ clientOutput: &coreV1.Service{
+ ObjectMeta: metaV1.ObjectMeta{
+ Name: "test-service",
+ Namespace: "default",
},
},
},
@@ -154,7 +191,7 @@ func TestDeleteService(t *testing.T) {
for _, testCase := range testCases {
client := testclient.NewSimpleClientset(testCase.clientOutput)
t.Run(testCase.label, func(t *testing.T) {
- err := Delete(testCase.input, namespace, client)
+ err := Delete(testCase.input["name"], testCase.input["namespace"], client)
if err != nil {
t.Fatalf("Delete method returned an error (%s)", err)
}
@@ -163,36 +200,70 @@ func TestDeleteService(t *testing.T) {
}
func TestGetService(t *testing.T) {
- namespace := "test1"
- name := "mock-service"
testCases := []struct {
label string
- input string
+ input map[string]string
clientOutput *coreV1.Service
expectedResult string
+ expectedError string
}{
{
label: "Sucessfully to get an existing service",
- input: name,
+ input: map[string]string{"name": "test-service", "namespace": "test-namespace"},
clientOutput: &coreV1.Service{
ObjectMeta: metaV1.ObjectMeta{
- Name: name,
- Namespace: namespace,
+ Name: "test-service",
+ Namespace: "test-namespace",
},
},
- expectedResult: name,
+ expectedResult: "test-service",
+ },
+ {
+ label: "Sucessfully get an existing service from default namespaces",
+ input: map[string]string{"name": "test-service", "namespace": ""},
+ clientOutput: &coreV1.Service{
+ ObjectMeta: metaV1.ObjectMeta{
+ Name: "test-service",
+ Namespace: "default",
+ },
+ },
+ expectedResult: "test-service",
+ },
+ {
+ label: "Fail to get an non-existing namespace",
+ input: map[string]string{"name": "test-name", "namespace": "test-namespace"},
+ clientOutput: &coreV1.Service{
+ ObjectMeta: metaV1.ObjectMeta{
+ Name: "test-service",
+ Namespace: "default",
+ },
+ },
+ expectedError: "not found",
},
}
for _, testCase := range testCases {
client := testclient.NewSimpleClientset(testCase.clientOutput)
t.Run(testCase.label, func(t *testing.T) {
- result, err := Get(testCase.input, namespace, client)
+ result, err := Get(testCase.input["name"], testCase.input["namespace"], client)
if err != nil {
- t.Fatalf("Get method returned an error (%s)", err)
- }
- if !reflect.DeepEqual(testCase.expectedResult, result) {
- t.Fatalf("Get method returned %v and it was expected (%v)", result, testCase.expectedResult)
+ if testCase.expectedError == "" {
+ t.Fatalf("Get method return an un-expected (%s)", err)
+ }
+ if !strings.Contains(string(err.Error()), testCase.expectedError) {
+ t.Fatalf("Get method returned an error (%s)", err)
+ }
+ } else {
+ if testCase.expectedError != "" && testCase.expectedResult == "" {
+ t.Fatalf("Get method was expecting \"%s\" error message", testCase.expectedError)
+ }
+ if result == "" {
+ t.Fatal("Get method returned nil result")
+ }
+ if !reflect.DeepEqual(testCase.expectedResult, result) {
+
+ t.Fatalf("Get method returned: \n%v\n and it was expected: \n%v", result, testCase.expectedResult)
+ }
}
})
}