Example #1
0
 def test_terminate_machine_method_root(self):
     """Verify supporting method throws `CannotTerminateMachine`."""
     environment = self.config.get("firstenv")
     mysql_service_state = yield self.add_service_from_charm("mysql")
     mysql_unit_state = yield mysql_service_state.add_unit_state()
     mysql_machine_state = yield self.machine_state_manager.add_machine_state()
     yield mysql_unit_state.assign_to_machine(mysql_machine_state)
     ex = yield self.assertFailure(
         terminate_machine.terminate_machine(
             self.config, environment, False, logging.getLogger("juju.control.cli"), [0]
         ),
         CannotTerminateMachine,
     )
     self.assertEqual(str(ex), "Cannot terminate machine 0: environment would be destroyed")
 def test_terminate_machine_method_unknown(self):
     """Verify supporting method throws `MachineStateInUse`."""
     environment = self.config.get("firstenv")
     mysql_service_state = yield self.add_service_from_charm("mysql")
     mysql_unit_state = yield mysql_service_state.add_unit_state()
     mysql_machine_state = yield self.add_machine_state()
     yield mysql_unit_state.assign_to_machine(mysql_machine_state)
     ex = yield self.assertFailure(
         terminate_machine.terminate_machine(
             self.config, environment, False,
             logging.getLogger("juju.control.cli"), [42]),
         MachineStateNotFound)
     self.assertEqual(ex.machine_id, 42)
     yield self.assert_machine_states([0, 1], [])
Example #3
0
 def test_terminate_machine_method_unknown(self):
     """Verify supporting method throws `MachineStateInUse`."""
     environment = self.config.get("firstenv")
     mysql_service_state = yield self.add_service_from_charm("mysql")
     mysql_unit_state = yield mysql_service_state.add_unit_state()
     mysql_machine_state = \
         yield self.machine_state_manager.add_machine_state()
     yield mysql_unit_state.assign_to_machine(mysql_machine_state)
     ex = yield self.assertFailure(
         terminate_machine.terminate_machine(
             self.config, environment, False,
             logging.getLogger("juju.control.cli"), [42]),
         MachineStateNotFound)
     self.assertEqual(ex.machine_id, 42)
     yield self.assert_machine_states([0, 1], [])
Example #4
0
 def test_terminate_machine_method(self):
     """Verify that underlying method works as expected."""
     environment = self.config.get("firstenv")
     mysql_service_state = yield self.add_service_from_charm("mysql")
     mysql_unit_state = yield mysql_service_state.add_unit_state()
     mysql_machine_state = yield self.machine_state_manager.add_machine_state()
     yield mysql_unit_state.assign_to_machine(mysql_machine_state)
     wordpress_service_state = yield self.add_service_from_charm("wordpress")
     wordpress_unit_state = yield wordpress_service_state.add_unit_state()
     wordpress_machine_state = yield self.machine_state_manager.add_machine_state()
     yield wordpress_unit_state.assign_to_machine(wordpress_machine_state)
     yield wordpress_unit_state.unassign_from_machine()
     yield terminate_machine.terminate_machine(
         self.config, environment, False, logging.getLogger("juju.control.cli"), [2]
     )
     yield self.assert_machine_states([0, 1], [2])
Example #5
0
 def test_terminate_machine_method_root(self):
     """Verify supporting method throws `CannotTerminateMachine`."""
     environment = self.config.get("firstenv")
     mysql_service_state = yield self.add_service_from_charm("mysql")
     mysql_unit_state = yield mysql_service_state.add_unit_state()
     mysql_machine_state = \
         yield self.machine_state_manager.add_machine_state()
     yield mysql_unit_state.assign_to_machine(mysql_machine_state)
     ex = yield self.assertFailure(
         terminate_machine.terminate_machine(
             self.config, environment, False,
             logging.getLogger("juju.control.cli"), [0]),
         CannotTerminateMachine)
     self.assertEqual(
         str(ex),
         "Cannot terminate machine 0: environment would be destroyed")
Example #6
0
 def test_terminate_machine_method(self):
     """Verify that underlying method works as expected."""
     environment = self.config.get("firstenv")
     mysql_service_state = yield self.add_service_from_charm("mysql")
     mysql_unit_state = yield mysql_service_state.add_unit_state()
     mysql_machine_state = \
         yield self.machine_state_manager.add_machine_state()
     yield mysql_unit_state.assign_to_machine(mysql_machine_state)
     wordpress_service_state = \
         yield self.add_service_from_charm("wordpress")
     wordpress_unit_state = yield wordpress_service_state.add_unit_state()
     wordpress_machine_state = \
         yield self.machine_state_manager.add_machine_state()
     yield wordpress_unit_state.assign_to_machine(wordpress_machine_state)
     yield wordpress_unit_state.unassign_from_machine()
     yield terminate_machine.terminate_machine(
         self.config, environment, False,
         logging.getLogger("juju.control.cli"), [2])
     yield self.assert_machine_states([0, 1], [2])