X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=n2vc%2Ftests%2Funit%2Ftest_k8s_helm3_conn.py;h=a2e75e1d5ce739294144edd8e15004a2df97e672;hb=5f069332606e512f74791c6497af40326b611344;hp=131b5c45dd58572fcfedf023eb6286431068b19e;hpb=3c443f5899f2cc953b27ed4ac4c5d1a247248c5e;p=osm%2FN2VC.git diff --git a/n2vc/tests/unit/test_k8s_helm3_conn.py b/n2vc/tests/unit/test_k8s_helm3_conn.py index 131b5c4..a2e75e1 100644 --- a/n2vc/tests/unit/test_k8s_helm3_conn.py +++ b/n2vc/tests/unit/test_k8s_helm3_conn.py @@ -134,7 +134,6 @@ class TestK8sHelm3Conn(asynctest.TestCase): @asynctest.fail_on(active_handles=True) async def test_repo_list(self): - self.helm_conn._local_async_exec = asynctest.CoroutineMock(return_value=("", 0)) await self.helm_conn.repo_list(self.cluster_uuid) @@ -150,7 +149,6 @@ class TestK8sHelm3Conn(asynctest.TestCase): @asynctest.fail_on(active_handles=True) async def test_repo_remove(self): - self.helm_conn._local_async_exec = asynctest.CoroutineMock(return_value=("", 0)) repo_name = "bitnami" await self.helm_conn.repo_remove(self.cluster_uuid, repo_name) @@ -271,9 +269,46 @@ class TestK8sHelm3Conn(asynctest.TestCase): self.helm_conn.get_instance_info = asynctest.CoroutineMock( return_value=instance_info ) + # TEST-1 (--force true) + await self.helm_conn.upgrade( + self.cluster_uuid, + kdu_instance, + kdu_model, + atomic=True, + db_dict=db_dict, + force=True, + ) + self.helm_conn.fs.sync.assert_called_with(from_path=self.cluster_id) + self.helm_conn.fs.reverse_sync.assert_has_calls( + [ + asynctest.call(from_path=self.cluster_id), + asynctest.call(from_path=self.cluster_id), + ] + ) + self.helm_conn._store_status.assert_called_with( + cluster_id=self.cluster_id, + kdu_instance=kdu_instance, + namespace=self.namespace, + db_dict=db_dict, + operation="upgrade", + ) + command = ( + "env KUBECONFIG=./tmp/helm3_cluster_id/.kube/config " + "/usr/bin/helm3 upgrade stable-openldap-0005399828 stable/openldap " + "--namespace testk8s --atomic --force --output yaml --timeout 300s " + "--reuse-values --version 1.2.3" + ) + self.helm_conn._local_async_exec.assert_called_with( + command=command, env=self.env, raise_exception_on_error=False + ) + # TEST-2 (--force false) await self.helm_conn.upgrade( - self.cluster_uuid, kdu_instance, kdu_model, atomic=True, db_dict=db_dict + self.cluster_uuid, + kdu_instance, + kdu_model, + atomic=True, + db_dict=db_dict, ) self.helm_conn.fs.sync.assert_called_with(from_path=self.cluster_id) self.helm_conn.fs.reverse_sync.assert_has_calls( @@ -293,7 +328,57 @@ class TestK8sHelm3Conn(asynctest.TestCase): "env KUBECONFIG=./tmp/helm3_cluster_id/.kube/config " "/usr/bin/helm3 upgrade stable-openldap-0005399828 stable/openldap " "--namespace testk8s --atomic --output yaml --timeout 300s " - "--version 1.2.3" + "--reuse-values --version 1.2.3" + ) + self.helm_conn._local_async_exec.assert_called_with( + command=command, env=self.env, raise_exception_on_error=False + ) + + @asynctest.fail_on(active_handles=True) + async def test_upgrade_namespace(self): + kdu_model = "stable/openldap:1.2.3" + kdu_instance = "stable-openldap-0005399828" + db_dict = {} + instance_info = { + "chart": "openldap-1.2.2", + "name": kdu_instance, + "namespace": self.namespace, + "revision": 1, + "status": "DEPLOYED", + } + self.helm_conn._local_async_exec = asynctest.CoroutineMock(return_value=("", 0)) + self.helm_conn._store_status = asynctest.CoroutineMock() + self.helm_conn.get_instance_info = asynctest.CoroutineMock( + return_value=instance_info + ) + + await self.helm_conn.upgrade( + self.cluster_uuid, + kdu_instance, + kdu_model, + atomic=True, + db_dict=db_dict, + namespace="default", + ) + self.helm_conn.fs.sync.assert_called_with(from_path=self.cluster_id) + self.helm_conn.fs.reverse_sync.assert_has_calls( + [ + asynctest.call(from_path=self.cluster_id), + asynctest.call(from_path=self.cluster_id), + ] + ) + self.helm_conn._store_status.assert_called_with( + cluster_id=self.cluster_id, + kdu_instance=kdu_instance, + namespace="default", + db_dict=db_dict, + operation="upgrade", + ) + command = ( + "env KUBECONFIG=./tmp/helm3_cluster_id/.kube/config " + "/usr/bin/helm3 upgrade stable-openldap-0005399828 stable/openldap " + "--namespace default --atomic --output yaml --timeout 300s " + "--reuse-values --version 1.2.3" ) self.helm_conn._local_async_exec.assert_called_with( command=command, env=self.env, raise_exception_on_error=False @@ -349,7 +434,7 @@ class TestK8sHelm3Conn(asynctest.TestCase): "env KUBECONFIG=./tmp/helm3_cluster_id/.kube/config " "/usr/bin/helm3 upgrade stable-openldap-0005399828 stable/openldap " "--namespace testk8s --atomic --output yaml --set replicaCount=2 --timeout 1800s " - "--version 1.2.3" + "--reuse-values --version 1.2.3" ) self.helm_conn._local_async_exec.assert_called_once_with( command=command, env=self.env, raise_exception_on_error=False @@ -368,7 +453,7 @@ class TestK8sHelm3Conn(asynctest.TestCase): "env KUBECONFIG=./tmp/helm3_cluster_id/.kube/config " "/usr/bin/helm3 upgrade stable-openldap-0005399828 stable/openldap " "--namespace testk8s --atomic --output yaml --set dummy-app.replicas=3 --timeout 1800s " - "--version 1.2.3" + "--reuse-values --version 1.2.3" ) self.helm_conn._local_async_exec.assert_called_with( command=command, env=self.env, raise_exception_on_error=False