summaryrefslogtreecommitdiffstats
path: root/src/k8splugin/plugins/network/plugin_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/k8splugin/plugins/network/plugin_test.go')
-rw-r--r--src/k8splugin/plugins/network/plugin_test.go173
1 files changed, 0 insertions, 173 deletions
diff --git a/src/k8splugin/plugins/network/plugin_test.go b/src/k8splugin/plugins/network/plugin_test.go
deleted file mode 100644
index 33cae1c7..00000000
--- a/src/k8splugin/plugins/network/plugin_test.go
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
-Copyright 2018 Intel Corporation.
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package main
-
-import (
- utils "github.com/onap/multicloud-k8s/src/k8splugin/internal"
- "github.com/onap/multicloud-k8s/src/k8splugin/internal/helm"
- "os"
- "plugin"
- "reflect"
- "strings"
- "testing"
-
- pkgerrors "github.com/pkg/errors"
- "k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-func LoadMockNetworkPlugins(krdLoadedPlugins *map[string]*plugin.Plugin, networkName, errMsg string) error {
- if _, err := os.Stat("../../mock_files/mock_plugins/mocknetworkplugin.so"); os.IsNotExist(err) {
- return pkgerrors.New("mocknetworkplugin.so does not exist. Please compile mocknetworkplugin.go to generate")
- }
-
- mockNetworkPlugin, err := plugin.Open("../../mock_files/mock_plugins/mocknetworkplugin.so")
- if err != nil {
- return pkgerrors.Cause(err)
- }
-
- symErrVar, err := mockNetworkPlugin.Lookup("Err")
- if err != nil {
- return err
- }
- symNetworkNameVar, err := mockNetworkPlugin.Lookup("NetworkName")
- if err != nil {
- return err
- }
-
- *symErrVar.(*string) = errMsg
- *symNetworkNameVar.(*string) = networkName
- (*krdLoadedPlugins)["ovn4nfvk8s-network"] = mockNetworkPlugin
-
- return nil
-}
-
-func TestCreateNetwork(t *testing.T) {
- oldkrdPluginData := utils.LoadedPlugins
-
- defer func() {
- utils.LoadedPlugins = oldkrdPluginData
- }()
-
- testCases := []struct {
- label string
- input string
- mockError string
- mockOutput string
- expectedResult string
- expectedError string
- }{
- {
- label: "Fail to decode a network object",
- input: "../../mock_files/mock_yamls/service.yaml",
- expectedError: "No plugin for resource",
- },
- {
- label: "Fail to create a network",
- input: "../../mock_files/mock_yamls/ovn4nfvk8s.yaml",
- mockError: "Internal error",
- expectedError: "Error during the creation for ovn4nfvk8s plugin: Internal error",
- },
- {
- label: "Successfully create a ovn4nfv network",
- input: "../../mock_files/mock_yamls/ovn4nfvk8s.yaml",
- expectedResult: "ovn4nfvk8s_myNetwork",
- mockOutput: "myNetwork",
- },
- }
-
- for _, testCase := range testCases {
- t.Run(testCase.label, func(t *testing.T) {
- err := LoadMockNetworkPlugins(&utils.LoadedPlugins, testCase.mockOutput, testCase.mockError)
- if err != nil {
- t.Fatalf("TestCreateNetwork returned an error (%s)", err)
- }
- result, err := networkPlugin{}.Create(testCase.input, "", nil)
- 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)
- }
- } else {
- if testCase.expectedError != "" && testCase.expectedResult == "" {
- t.Fatalf("Create method was expecting \"%s\" error message", testCase.expectedError)
- }
- if !reflect.DeepEqual(testCase.expectedResult, result) {
-
- t.Fatalf("Create method returned: \n%v\n and it was expected: \n%v", result, testCase.expectedResult)
- }
- }
- })
- }
-}
-
-func TestDeleteNetwork(t *testing.T) {
- oldkrdPluginData := utils.LoadedPlugins
-
- defer func() {
- utils.LoadedPlugins = oldkrdPluginData
- }()
-
- testCases := []struct {
- label string
- input string
- mockError string
- mockOutput string
- expectedResult string
- expectedError string
- }{
- {
- label: "Fail to load non-existing plugin",
- input: "non-existing-cni_test",
- expectedError: "No plugin for resource non-existing-cni",
- },
- {
- label: "Fail to extract cni from network name",
- input: "1_ovn4nfvk8s_test",
- expectedError: "Error extracting CNI type from resource: Couldn't split resource '1_ovn4nfvk8s_test' into CNI type and Network name",
- },
- {
- label: "Fail to delete a network",
- input: "ovn4nfvk8s_test",
- mockError: "Internal error",
- expectedError: "Error during the deletion for ovn4nfvk8s plugin: Internal error",
- },
- {
- label: "Successfully delete a ovn4nfv network",
- input: "ovn4nfvk8s_test",
- },
- }
-
- for _, testCase := range testCases {
- t.Run(testCase.label, func(t *testing.T) {
- err := LoadMockNetworkPlugins(&utils.LoadedPlugins, testCase.mockOutput, testCase.mockError)
- if err != nil {
- t.Fatalf("TestDeleteNetwork returned an error (%s)", err)
- }
- err = networkPlugin{}.Delete(helm.KubernetesResource{
- GVK: schema.GroupVersionKind{Group: "", Version: "", Kind: "Network"},
- Name: testCase.input,
- }, "", nil)
- 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)
- }
- }
- })
- }
-}