+
+
+@asynctest.mock.patch("n2vc.libjuju.Libjuju.list_models")
+class ModelsExistTest(LibjujuTestCase):
+ def setUp(self):
+ super(ModelsExistTest, self).setUp()
+
+ def test_model_names_none(self, mock_list_models):
+ mock_list_models.return_value = []
+ with self.assertRaises(Exception):
+ self.loop.run_until_complete(self.libjuju.models_exist(None))
+
+ def test_model_names_empty(self, mock_list_models):
+ mock_list_models.return_value = []
+ with self.assertRaises(Exception):
+ (exist, non_existing_models) = self.loop.run_until_complete(
+ self.libjuju.models_exist([])
+ )
+
+ def test_model_names_not_existing(self, mock_list_models):
+ mock_list_models.return_value = ["prometheus", "grafana"]
+ (exist, non_existing_models) = self.loop.run_until_complete(
+ self.libjuju.models_exist(["prometheus2", "grafana"])
+ )
+ self.assertFalse(exist)
+ self.assertEqual(non_existing_models, ["prometheus2"])
+
+ def test_model_names_exist(self, mock_list_models):
+ mock_list_models.return_value = ["prometheus", "grafana"]
+ (exist, non_existing_models) = self.loop.run_until_complete(
+ self.libjuju.models_exist(["prometheus", "grafana"])
+ )
+ self.assertTrue(exist)
+ self.assertEqual(non_existing_models, [])