Add unit tests to N2VC refactor
This commit adds unit tests for the following
modules:
juju_watcher.py 96% coverage
libjuju.py 72% coverage
utils.py 100% coverage
Minor libjuju.py fixes found with unit testing
Fix testing with tox
Change-Id: I9f23ce2f18aac6765edfa955ed200802c27d9047
Signed-off-by: Dominik Fleischmann <dominik.fleischmann@canonical.com>
diff --git a/n2vc/libjuju.py b/n2vc/libjuju.py
index be16e2a..22ba182 100644
--- a/n2vc/libjuju.py
+++ b/n2vc/libjuju.py
@@ -29,6 +29,8 @@
from n2vc.exceptions import (
JujuMachineNotFound,
JujuApplicationNotFound,
+ JujuLeaderUnitNotFound,
+ JujuActionNotFound,
JujuModelAlreadyExists,
JujuControllerFailedConnecting,
JujuApplicationExists,
@@ -298,7 +300,7 @@
machine_id, model_name
)
)
- machine = model.machines[machine_id]
+ machine = machines[machine_id]
else:
raise JujuMachineNotFound("Machine {} not found".format(machine_id))
@@ -570,7 +572,6 @@
:param: application_name: Application name
:param: model_name: Model name
- :param: cloud_name: Cloud name
:param: action_name: Name of the action
:param: db_dict: Dictionary with data of the DB to write the updates
:param: progress_timeout: Maximum time between two updates in the model
@@ -601,12 +602,12 @@
if await u.is_leader_from_status():
unit = u
if unit is None:
- raise Exception("Cannot execute action: leader unit not found")
+ raise JujuLeaderUnitNotFound("Cannot execute action: leader unit not found")
actions = await application.get_actions()
if action_name not in actions:
- raise Exception(
+ raise JujuActionNotFound(
"Action {} not in available actions".format(action_name)
)
@@ -637,8 +638,6 @@
action_name, action.status, application_name, model_name
)
)
- except Exception as e:
- raise e
finally:
await self.disconnect_model(model)
await self.disconnect_controller(controller)
@@ -819,7 +818,7 @@
"""
machines = await model.get_machines()
if machine_id in machines:
- machine = model.machines[machine_id]
+ machine = machines[machine_id]
await machine.destroy(force=True)
# max timeout
end = time.time() + total_timeout