X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=n2vc%2Ftests%2Funit%2Ftest_libjuju.py;fp=n2vc%2Ftests%2Funit%2Ftest_libjuju.py;h=1bbe55623ea355fc588871454a3431b33ec99d1a;hb=a07f69539ffcb24fd44371960be23ab9e4a32573;hp=e7f43ab035bd5702fcc3a19baeb5304393868d1a;hpb=085942e581b846f59ac6cb94b0e6ff72663d86e2;p=osm%2FN2VC.git diff --git a/n2vc/tests/unit/test_libjuju.py b/n2vc/tests/unit/test_libjuju.py index e7f43ab..1bbe556 100644 --- a/n2vc/tests/unit/test_libjuju.py +++ b/n2vc/tests/unit/test_libjuju.py @@ -1007,6 +1007,38 @@ class AddRelationTest(LibjujuTestCase): mock_disconnect_controller.assert_called_once() mock_disconnect_model.assert_called_once() + @asynctest.mock.patch("logging.Logger.warning") + def test_not_found_in_error_code( + self, + mock_warning, + mock_add_relation, + mock_disconnect_controller, + mock_disconnect_model, + mock_get_model, + mock_get_controller, + ): + result = { + "error": "relation cannot be added", + "error-code": "not found", + "response": "response", + "request-id": 1, + } + + mock_get_model.return_value = juju.model.Model() + mock_add_relation.side_effect = JujuAPIError(result) + + self.loop.run_until_complete( + self.libjuju.add_relation( + "model", + "app1:relation1", + "app2:relation2", + ) + ) + + mock_warning.assert_called_with("Relation not found: relation cannot be added") + mock_disconnect_controller.assert_called_once() + mock_disconnect_model.assert_called_once() + @asynctest.mock.patch("logging.Logger.warning") def test_already_exists( self, @@ -1035,6 +1067,40 @@ class AddRelationTest(LibjujuTestCase): mock_disconnect_controller.assert_called_once() mock_disconnect_model.assert_called_once() + @asynctest.mock.patch("logging.Logger.warning") + def test_already_exists_error_code( + self, + mock_warning, + mock_add_relation, + mock_disconnect_controller, + mock_disconnect_model, + mock_get_model, + mock_get_controller, + ): + result = { + "error": "relation cannot be added", + "error-code": "already exists", + "response": "response", + "request-id": 1, + } + + mock_get_model.return_value = juju.model.Model() + mock_add_relation.side_effect = JujuAPIError(result) + + self.loop.run_until_complete( + self.libjuju.add_relation( + "model", + "app1:relation1", + "app2:relation2", + ) + ) + + mock_warning.assert_called_with( + "Relation already exists: relation cannot be added" + ) + mock_disconnect_controller.assert_called_once() + mock_disconnect_model.assert_called_once() + def test_exception( self, mock_add_relation,