X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Ftests%2Funit%2Ftest_k8s_juju_conn.py;h=388c08fed2798854f88258351c183a9df654f9f7;hp=50e827ed09ff861c15962cbcbaebefde31535c8a;hb=refs%2Fchanges%2F47%2F10047%2F13;hpb=1c83f2e4d061ad37ba898e114cb42e70fdee5145;ds=sidebyside diff --git a/n2vc/tests/unit/test_k8s_juju_conn.py b/n2vc/tests/unit/test_k8s_juju_conn.py index 50e827e..388c08f 100644 --- a/n2vc/tests/unit/test_k8s_juju_conn.py +++ b/n2vc/tests/unit/test_k8s_juju_conn.py @@ -16,16 +16,15 @@ import asyncio import logging import asynctest -from n2vc.k8s_juju_conn import K8sJujuConnector +from unittest.mock import Mock +from n2vc.k8s_juju_conn import K8sJujuConnector, RBAC_LABEL_KEY_NAME from osm_common import fslocal -from .utils import kubeconfig, FakeModel, FakeFileWrapper +from .utils import kubeconfig, FakeModel, FakeFileWrapper, AsyncMock from n2vc.exceptions import ( MethodNotImplemented, K8sException, N2VCBadArgumentsException, ) -from unittest.mock import Mock -from .utils import AsyncMock class K8sJujuConnTestCase(asynctest.TestCase): @@ -193,12 +192,17 @@ class K8sJujuConnectorInitFailureTestCase(asynctest.TestCase): ) +@asynctest.mock.patch("n2vc.kubectl.Kubectl.get_default_storage_class") class InitEnvTest(K8sJujuConnTestCase): def setUp(self): super(InitEnvTest, self).setUp() self.k8s_juju_conn.libjuju.add_k8s = AsyncMock() + self.k8s_juju_conn._create_cluster_role = Mock() + self.k8s_juju_conn._create_service_account = Mock() + self.k8s_juju_conn._create_cluster_role_binding = Mock() + self.k8s_juju_conn._get_secret_data = AsyncMock() + self.k8s_juju_conn._get_secret_data.return_value = ("token", "cacert") - @asynctest.mock.patch("n2vc.kubectl.Kubectl.get_default_storage_class") def test_with_cluster_uuid( self, mock_get_default_storage_class, @@ -215,8 +219,10 @@ class InitEnvTest(K8sJujuConnTestCase): mock_get_default_storage_class.assert_called_once() self.k8s_juju_conn.libjuju.add_k8s.assert_called_once() - @asynctest.mock.patch("n2vc.kubectl.Kubectl.get_default_storage_class") - def test_with_no_cluster_uuid(self, mock_get_default_storage_class): + def test_with_no_cluster_uuid( + self, + mock_get_default_storage_class, + ): uuid, created = self.loop.run_until_complete( self.k8s_juju_conn.init_env(k8s_creds=kubeconfig) ) @@ -226,8 +232,10 @@ class InitEnvTest(K8sJujuConnTestCase): mock_get_default_storage_class.assert_called_once() self.k8s_juju_conn.libjuju.add_k8s.assert_called_once() - @asynctest.mock.patch("n2vc.kubectl.Kubectl.get_default_storage_class") - def test_init_env_exception(self, mock_get_default_storage_class): + def test_init_env_exception( + self, + mock_get_default_storage_class, + ): self.k8s_juju_conn.libjuju.add_k8s.side_effect = Exception() created = None uuid = None @@ -283,6 +291,15 @@ class ResetTest(K8sJujuConnTestCase): def setUp(self): super(ResetTest, self).setUp() self.k8s_juju_conn.libjuju.remove_cloud = AsyncMock() + self.k8s_juju_conn.libjuju.get_cloud_credentials = AsyncMock() + cloud_creds = Mock() + cloud_creds.result = {"attrs": {RBAC_LABEL_KEY_NAME: "asd"}} + self.k8s_juju_conn.libjuju.get_cloud_credentials.return_value = [cloud_creds] + self.k8s_juju_conn._delete_cluster_role_binding = Mock() + self.k8s_juju_conn._delete_service_account = Mock() + self.k8s_juju_conn._delete_cluster_role = Mock() + self.k8s_juju_conn.get_credentials = Mock() + self.k8s_juju_conn.get_credentials.return_value = kubeconfig def test_success(self): removed = self.loop.run_until_complete(self.k8s_juju_conn.reset("uuid"))