Fix bug 1467
Do not raise exceptions in n2vc.libjuju.add_model() or n2vc.libjuju.destroy_model() functions
In general, functions should be as idempotent as possible. In this
particular case, executing the add_model() function several times with
the same arguments should just work. Same thing for destroy_model(). If
the model has already been destroyed, it should return and not give any
errors saying that the model doesn't exist.
Change-Id: I87e11ea0fe1b4063b2f89900fcc2bbf1f915b953
Signed-off-by: David Garcia <david.garcia@canonical.com>
diff --git a/n2vc/tests/unit/test_libjuju.py b/n2vc/tests/unit/test_libjuju.py
index b7c7901..9ab6ddb 100644
--- a/n2vc/tests/unit/test_libjuju.py
+++ b/n2vc/tests/unit/test_libjuju.py
@@ -24,7 +24,6 @@
from n2vc.libjuju import Libjuju
from n2vc.exceptions import (
JujuControllerFailedConnecting,
- JujuModelAlreadyExists,
JujuMachineNotFound,
JujuApplicationNotFound,
JujuActionNotFound,
@@ -238,10 +237,10 @@
):
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()