X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=n2vc%2Ftests%2Funit%2Ftest_libjuju.py;h=6b055e60497ce8d6acc826a57a7027d58c2e728a;hb=refs%2Fchanges%2F53%2F11053%2F1;hp=b7c7901525e39b260a4d4f4cbaf5bb6a7bb3ed0d;hpb=f6e9b00b6f7cd35e45ace4c84b53fe8d12b2438c;p=osm%2FN2VC.git diff --git a/n2vc/tests/unit/test_libjuju.py b/n2vc/tests/unit/test_libjuju.py index b7c7901..6b055e6 100644 --- a/n2vc/tests/unit/test_libjuju.py +++ b/n2vc/tests/unit/test_libjuju.py @@ -24,7 +24,6 @@ from .utils import FakeN2VC, FakeMachine, FakeApplication from n2vc.libjuju import Libjuju from n2vc.exceptions import ( JujuControllerFailedConnecting, - JujuModelAlreadyExists, JujuMachineNotFound, JujuApplicationNotFound, JujuActionNotFound, @@ -67,8 +66,6 @@ class LibjujuTestCase(asynctest.TestCase): log=None, db={"get_one": []}, n2vc=n2vc, - apt_mirror="192.168.0.100", - enable_os_upgrade=True, ) logging.disable(logging.CRITICAL) loop.run_until_complete(self.libjuju.disconnect()) @@ -106,8 +103,6 @@ class LibjujuInitTestCase(asynctest.TestCase): log=None, db={"get_one": []}, n2vc=self.n2vc, - apt_mirror="192.168.0.100", - enable_os_upgrade=True, ) mock_update_endpoints.assert_called_once_with([self.endpoint]) mock__get_api_endpoints_db.assert_called_once() @@ -129,8 +124,6 @@ class LibjujuInitTestCase(asynctest.TestCase): log=None, db={"get_one": []}, n2vc=self.n2vc, - apt_mirror="192.168.0.100", - enable_os_upgrade=True, ) mock_update_endpoints.assert_not_called() mock__get_api_endpoints_db.assert_called_once() @@ -152,8 +145,6 @@ class LibjujuInitTestCase(asynctest.TestCase): log=None, db={"get_one": []}, n2vc=self.n2vc, - apt_mirror="192.168.0.100", - enable_os_upgrade=True, ) mock_update_endpoints.assert_called_once_with([self.endpoint]) mock__get_api_endpoints_db.assert_called_once() @@ -238,10 +229,10 @@ class AddModelTest(LibjujuTestCase): ): mock_model_exists.return_value = True - with self.assertRaises(JujuModelAlreadyExists): - self.loop.run_until_complete( - self.libjuju.add_model("existing_model", "cloud") - ) + # This should not raise an exception + self.loop.run_until_complete( + self.libjuju.add_model("existing_model", "cloud") + ) mock_disconnect_controller.assert_called() @@ -1073,6 +1064,78 @@ class AddRelationTest(LibjujuTestCase): # TODO destroy_model testcase +@asynctest.mock.patch("n2vc.libjuju.Libjuju.get_controller") +@asynctest.mock.patch("n2vc.libjuju.Libjuju.get_model") +@asynctest.mock.patch("n2vc.libjuju.Libjuju.disconnect_controller") +@asynctest.mock.patch("n2vc.libjuju.Libjuju._get_application") +@asynctest.mock.patch("n2vc.libjuju.Libjuju.disconnect_model") +class DestroyApplicationTest(LibjujuTestCase): + def setUp(self): + super(DestroyApplicationTest, self).setUp() + + def test_success( + self, + mock_get_controller, + mock_get_model, + mock_disconnect_controller, + mock_get_application, + mock_disconnect_model, + ): + mock_get_application.return_value = FakeApplication() + mock_get_model.return_value = None + self.loop.run_until_complete( + self.libjuju.destroy_application( + "existing_model", + "existing_app", + 3600, + ) + ) + mock_get_application.assert_called() + mock_disconnect_controller.assert_called_once() + mock_disconnect_model.assert_called_once() + + def test_no_application( + self, + mock_get_controller, + mock_get_model, + mock_disconnect_controller, + mock_get_application, + mock_disconnect_model, + ): + mock_get_model.return_value = None + mock_get_application.return_value = None + + self.loop.run_until_complete( + self.libjuju.destroy_application( + "existing_model", + "existing_app", + 3600, + ) + ) + mock_get_application.assert_called() + + def test_exception( + self, + mock_get_controller, + mock_get_model, + mock_disconnect_controller, + mock_get_application, + mock_disconnect_model, + ): + mock_get_application.return_value = FakeApplication + mock_get_model.return_value = None + + with self.assertRaises(Exception): + self.loop.run_until_complete( + self.libjuju.destroy_application( + "existing_model", + "existing_app", + 0, + ) + ) + mock_get_application.assert_called_once() + + # @asynctest.mock.patch("juju.model.Model.get_machines") # @asynctest.mock.patch("logging.Logger.debug") # class DestroyMachineTest(LibjujuTestCase):