X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=n2vc%2Ftests%2Funit%2Ftest_k8s_helm_conn.py;h=161471ab67657e996c87e60e42b60325750f13fe;hb=085fa8d4658a9b621354d5a08853086e2696abdc;hp=ae9338d6e28802340ffeae4869668e39d493cd5b;hpb=d4cee8c1edd901a2922bb2593e5b643844f83b3a;p=osm%2FN2VC.git diff --git a/n2vc/tests/unit/test_k8s_helm_conn.py b/n2vc/tests/unit/test_k8s_helm_conn.py index ae9338d..161471a 100644 --- a/n2vc/tests/unit/test_k8s_helm_conn.py +++ b/n2vc/tests/unit/test_k8s_helm_conn.py @@ -79,7 +79,9 @@ class TestK8sHelmConn(asynctest.TestCase): ), ) - repo_update_command = "env KUBECONFIG=./tmp/helm_cluster_id/.kube/config /usr/bin/helm repo update" + repo_update_command = ( + "env KUBECONFIG=./tmp/helm_cluster_id/.kube/config /usr/bin/helm repo update {}" + ).format(repo_name) repo_add_command = ( "env KUBECONFIG=./tmp/helm_cluster_id/.kube/config /usr/bin/helm repo add {} {}" ).format(repo_name, repo_url) @@ -158,9 +160,17 @@ class TestK8sHelmConn(asynctest.TestCase): db_dict=db_dict, ) - self.helm_conn.fs.sync.assert_called_once_with(from_path=self.cluster_id) - self.helm_conn.fs.reverse_sync.assert_called_once_with( - from_path=self.cluster_id + self.helm_conn.fs.sync.assert_has_calls( + [ + asynctest.call(from_path=self.cluster_id), + asynctest.call(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, @@ -168,8 +178,6 @@ class TestK8sHelmConn(asynctest.TestCase): namespace=self.namespace, db_dict=db_dict, operation="install", - run_once=True, - check_every=0, ) command = ( "env KUBECONFIG=./tmp/helm_cluster_id/.kube/config /usr/bin/helm install " @@ -177,12 +185,12 @@ class TestK8sHelmConn(asynctest.TestCase): "--name=stable-openldap-0005399828 --namespace testk8s stable/openldap " "--version 1.2.2" ) - self.helm_conn._local_async_exec.assert_called_once_with( + 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(self): + async def test_upgrade_force_true(self): kdu_model = "stable/openldap:1.2.3" kdu_instance = "stable-openldap-0005399828" db_dict = {} @@ -198,13 +206,21 @@ class TestK8sHelmConn(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 + 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_called_once_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, @@ -212,14 +228,92 @@ class TestK8sHelmConn(asynctest.TestCase): namespace=self.namespace, db_dict=db_dict, operation="upgrade", - run_once=True, - check_every=0, ) command = ( - "env KUBECONFIG=./tmp/helm_cluster_id/.kube/config /usr/bin/helm upgrade " - "--atomic --output yaml --timeout 300 stable-openldap-0005399828 stable/openldap --version 1.2.3" + "env KUBECONFIG=./tmp/helm_cluster_id/.kube/config /usr/bin/helm upgrade --namespace testk8s " + "--atomic --output yaml --timeout 300 --force --reuse-values stable-openldap-0005399828 stable/openldap " + "--version 1.2.3" ) - self.helm_conn._local_async_exec.assert_called_once_with( + 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.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/helm_cluster_id/.kube/config /usr/bin/helm upgrade --namespace testk8s " + "--atomic --output yaml --timeout 300 --reuse-values stable-openldap-0005399828 stable/openldap " + "--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/helm_cluster_id/.kube/config /usr/bin/helm upgrade --namespace default " + "--atomic --output yaml --timeout 300 --reuse-values stable-openldap-0005399828 stable/openldap " + "--version 1.2.3" + ) + self.helm_conn._local_async_exec.assert_called_with( command=command, env=self.env, raise_exception_on_error=False ) @@ -271,8 +365,8 @@ class TestK8sHelmConn(asynctest.TestCase): ) command = ( "env KUBECONFIG=./tmp/helm_cluster_id/.kube/config " - "/usr/bin/helm upgrade --atomic --output yaml --set replicaCount=2 " - "--timeout 1800s stable-openldap-0005399828 stable/openldap " + "/usr/bin/helm upgrade --namespace testk8s --atomic --output yaml --set replicaCount=2 " + "--timeout 1800 --reuse-values stable-openldap-0005399828 stable/openldap " "--version 1.2.3" ) self.helm_conn._local_async_exec.assert_called_once_with( @@ -291,8 +385,8 @@ class TestK8sHelmConn(asynctest.TestCase): ) command = ( "env KUBECONFIG=./tmp/helm_cluster_id/.kube/config " - "/usr/bin/helm upgrade --atomic --output yaml --set dummy-app.replicas=3 " - "--timeout 1800s stable-openldap-0005399828 stable/openldap " + "/usr/bin/helm upgrade --namespace testk8s --atomic --output yaml --set dummy-app.replicas=3 " + "--timeout 1800 --reuse-values stable-openldap-0005399828 stable/openldap " "--version 1.2.3" ) self.helm_conn._local_async_exec.assert_called_with( @@ -305,8 +399,6 @@ class TestK8sHelmConn(asynctest.TestCase): namespace=self.namespace, db_dict=db_dict, operation="scale", - run_once=True, - check_every=0, ) @asynctest.fail_on(active_handles=True) @@ -339,8 +431,6 @@ class TestK8sHelmConn(asynctest.TestCase): namespace=self.namespace, db_dict=db_dict, operation="rollback", - run_once=True, - check_every=0, ) command = ( "env KUBECONFIG=./tmp/helm_cluster_id/.kube/config " @@ -544,8 +634,6 @@ class TestK8sHelmConn(asynctest.TestCase): namespace=self.namespace, db_dict=db_dict, operation="install", - run_once=True, - check_every=0, ) self.helm_conn._status_kdu.assert_called_once_with( cluster_id=self.cluster_id,