X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Ftests%2Funit%2Ftest_n2vc_juju_conn.py;h=64b93cc7dbe8657cc303f47e30044135ff0b7496;hp=80c4c8775384ee7d7dee776fd4671383e9e45755;hb=b816d822dcc61a709b22f475085c3f94dceca61d;hpb=0c478257d6bd8126b27d80f76d128c7cc21d0609 diff --git a/n2vc/tests/unit/test_n2vc_juju_conn.py b/n2vc/tests/unit/test_n2vc_juju_conn.py index 80c4c87..64b93cc 100644 --- a/n2vc/tests/unit/test_n2vc_juju_conn.py +++ b/n2vc/tests/unit/test_n2vc_juju_conn.py @@ -26,6 +26,7 @@ from n2vc.exceptions import ( class N2VCJujuConnTestCase(asynctest.TestCase): + @asynctest.mock.patch("n2vc.libjuju.Libjuju._create_health_check_task") @asynctest.mock.patch("juju.controller.Controller.update_endpoints") @asynctest.mock.patch("juju.client.connector.Connector.connect") @asynctest.mock.patch("juju.controller.Controller.connection") @@ -36,7 +37,9 @@ class N2VCJujuConnTestCase(asynctest.TestCase): mock_connection=None, mock_connect=None, mock_update_endpoints=None, + mock__create_health_check_task=None, ): + mock__get_api_endpoints_db.return_value = ["2.2.2.2:17070"] loop = asyncio.get_event_loop() db = {} vca_config = { @@ -60,6 +63,25 @@ class N2VCJujuConnTestCase(asynctest.TestCase): ) +@asynctest.mock.patch("n2vc.libjuju.Libjuju.get_metrics") +class GetMetricssTest(N2VCJujuConnTestCase): + def setUp(self): + super(GetMetricssTest, self).setUp() + + def test_success(self, mock_get_metrics): + _ = self.loop.run_until_complete(self.n2vc.get_metrics("model", "application")) + mock_get_metrics.assert_called_once() + + def test_except(self, mock_get_metrics): + mock_get_metrics.side_effect = Exception() + with self.assertRaises(Exception): + _ = self.loop.run_until_complete( + self.n2vc.get_metrics("model", "application") + ) + mock_get_metrics.assert_called_once() + + +@asynctest.mock.patch("n2vc.libjuju.Libjuju.model_exists") @asynctest.mock.patch("osm_common.fslocal.FsLocal.file_exists") @asynctest.mock.patch( "osm_common.fslocal.FsLocal.path", new_callable=asynctest.PropertyMock, create=True @@ -71,8 +93,9 @@ class K8sProxyCharmsTest(N2VCJujuConnTestCase): super(K8sProxyCharmsTest, self).setUp() def test_success( - self, mock_add_model, mock_deploy_charm, mock_path, mock_file_exists, + self, mock_add_model, mock_deploy_charm, mock_path, mock_file_exists, mock_model_exists ): + mock_model_exists.return_value = None mock_file_exists.return_value = True mock_path.return_value = "/path" ee_id = self.loop.run_until_complete( @@ -81,7 +104,11 @@ class K8sProxyCharmsTest(N2VCJujuConnTestCase): ) ) - mock_add_model.assert_called_once_with("ns-id-k8s", "k8s_cloud") + mock_add_model.assert_called_once_with( + "ns-id-k8s", + cloud_name=self.n2vc.k8s_cloud, + credential_name=self.n2vc.k8s_cloud + ) mock_deploy_charm.assert_called_once_with( model_name="ns-id-k8s", application_name="app-vnf-vnf-id-vdu-vdu", @@ -106,6 +133,7 @@ class K8sProxyCharmsTest(N2VCJujuConnTestCase): mock_deploy_charm, mock_path, mock_file_exists, + mock_model_exists, ): mock_k8s_cloud.return_value = None with self.assertRaises(JujuK8sProxycharmNotSupported): @@ -117,7 +145,7 @@ class K8sProxyCharmsTest(N2VCJujuConnTestCase): self.assertIsNone(ee_id) def test_no_artifact_path( - self, mock_add_model, mock_deploy_charm, mock_path, mock_file_exists, + self, mock_add_model, mock_deploy_charm, mock_path, mock_file_exists, mock_model_exists, ): with self.assertRaises(N2VCBadArgumentsException): ee_id = self.loop.run_until_complete( @@ -128,7 +156,7 @@ class K8sProxyCharmsTest(N2VCJujuConnTestCase): self.assertIsNone(ee_id) def test_no_db( - self, mock_add_model, mock_deploy_charm, mock_path, mock_file_exists, + self, mock_add_model, mock_deploy_charm, mock_path, mock_file_exists, mock_model_exists, ): with self.assertRaises(N2VCBadArgumentsException): ee_id = self.loop.run_until_complete( @@ -139,7 +167,7 @@ class K8sProxyCharmsTest(N2VCJujuConnTestCase): self.assertIsNone(ee_id) def test_file_not_exists( - self, mock_add_model, mock_deploy_charm, mock_path, mock_file_exists, + self, mock_add_model, mock_deploy_charm, mock_path, mock_file_exists, mock_model_exists, ): mock_file_exists.return_value = False with self.assertRaises(N2VCBadArgumentsException): @@ -151,8 +179,9 @@ class K8sProxyCharmsTest(N2VCJujuConnTestCase): self.assertIsNone(ee_id) def test_exception( - self, mock_add_model, mock_deploy_charm, mock_path, mock_file_exists, + self, mock_add_model, mock_deploy_charm, mock_path, mock_file_exists, mock_model_exists, ): + mock_model_exists.return_value = None mock_file_exists.return_value = True mock_path.return_value = "/path" mock_deploy_charm.side_effect = Exception()