def testMultiSomeOffline(self): nodes = dict(("node%s.example.com" % i, objects.Node(name="node%s.example.com" % i, offline=((i % 3) == 0), primary_ip="192.0.2.%s" % i)) for i in range(1, 255)) # Resolve no names self.assertEqual(rpc._NodeConfigResolver(NotImplemented, lambda: nodes, [], None), []) # Offline, online and unknown hosts self.assertEqual(rpc._NodeConfigResolver(NotImplemented, lambda: nodes, ["node3.example.com", "node92.example.com", "node54.example.com", "unknown.example.com",], None), [ ("node3.example.com", rpc._OFFLINE), ("node92.example.com", "192.0.2.92"), ("node54.example.com", rpc._OFFLINE), ("unknown.example.com", "unknown.example.com"), ])
def testSingleOfflineWithAcceptOffline(self): fn = self._GetSingleOfflineNode assert fn("node100.example.com").offline self.assertEqual(rpc._NodeConfigResolver(fn, NotImplemented, ["node100.example.com"], rpc_defs.ACCEPT_OFFLINE_NODE), [("node100.example.com", "192.0.2.100")]) for i in [False, True, "", "Hello", 0, 1]: self.assertRaises(AssertionError, rpc._NodeConfigResolver, fn, NotImplemented, ["node100.example.com"], i)
def testMultiEmpty(self): self.assertEqual(rpc._NodeConfigResolver(NotImplemented, lambda: {}, [], None), [])
def testUnknownSingleNode(self): self.assertEqual(rpc._NodeConfigResolver(lambda _: None, NotImplemented, ["node110.example.com"], None), [("node110.example.com", "node110.example.com")])
def testSingleOffline(self): self.assertEqual(rpc._NodeConfigResolver(self._GetSingleOfflineNode, NotImplemented, ["node100.example.com"], None), [("node100.example.com", rpc._OFFLINE)])
def testSingleOnline(self): self.assertEqual(rpc._NodeConfigResolver(self._GetSingleOnlineNode, NotImplemented, ["node90.example.com"], None), [("node90.example.com", "192.0.2.90")])