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], [])
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], [])
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])
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(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])