Fix bug 1263
[osm/N2VC.git] / n2vc / tests / unit / test_n2vc_juju_conn.py
index 80c4c87..663f2ba 100644 (file)
@@ -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,24 @@ 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("osm_common.fslocal.FsLocal.file_exists")
 @asynctest.mock.patch(
     "osm_common.fslocal.FsLocal.path", new_callable=asynctest.PropertyMock, create=True