def test_ha_flags(self): """ If HA flags are passed as parameters, they're set in the MachineInfo. """ info = MachineInfo("1", hasVote=False, wantsVote=True) self.assertFalse(info.hasVote) self.assertTrue(info.wantsVote)
def test_is_state_server_true_juju2(self): """ Machine.is_state_server is True if the machine has the "JobManageModel" job. """ info = MachineInfo("1", jobs=["JobManageModel", "JobHostUnits"]) self.assertTrue(info.is_state_server)
def test_no_ha_flags(self): """ If HA flags are not passed as parameters, they're set to None. """ info = MachineInfo("1") self.assertIsNone(info.hasVote) self.assertIsNone(info.wantsVote)
def test_is_state_server_false(self): """ MachineInfo.is_state_server is False if the machine doesn't have the "JobManageEnviron" job. """ info = MachineInfo("1", jobs=["JobHostUnits"]) self.assertFalse(info.is_state_server)
def test_statusInfo(self): """MachineInfo.statusInfo is a backward-compatibility shim around agent_status.message.""" agent_status = StatusInfo("active", "a-ok") info = MachineInfo("1", agent_status=agent_status) self.assertEqual(info.statusInfo, info.agent_status.message)
def test_defaults(self): """A MachineInfo can be created with default values.""" info = MachineInfo("1") self.assertEqual("1", info.id) self.assertEqual("", info.instanceId) self.assertEqual(StatusInfo("pending"), info.agent_status) self.assertEqual([], info.jobs) self.assertIsNone(info.address) self.assertIsNone(info.hasVote) self.assertIsNone(info.wantsVote)
def test___repr___minimal(self): """MachineInfo has a useful repr when initialized with minimal args.""" info = MachineInfo("1") result = repr(info) self.assertEqual( result, ("MachineInfo(id='1', instanceId=u''," " agent_status=StatusInfo(current=u'pending', message=u'')," " jobs=[], address=None, hasVote=None, wantsVote=None)"))
def test___repr__(self): """WatcherDelta has a useful repr.""" delta = WatcherDelta("machine", "change", MachineInfo("1")) result = repr(delta) self.assertEqual( result, ("WatcherDelta(kind='machine', verb='change'," " info=MachineInfo(id='1', instanceId=u''," " agent_status=StatusInfo(current=u'pending', message=u'')," " jobs=[], address=None, hasVote=None, wantsVote=None))"))
def test___repr___full(self): """MachineInfo has a useful repr when initialized with all args.""" agent_status = StatusInfo("active", "a-ok") info = MachineInfo("1", "inst1", agent_status, ["JobHostUnits"], "localhost", False, True) result = repr(info) self.assertEqual( result, ("MachineInfo(id='1', instanceId='inst1'," " agent_status=StatusInfo(current='active', message='a-ok')," " jobs=['JobHostUnits'], address='localhost'," " hasVote=False, wantsVote=True)"))