def test_no_such_group(self): def get_node(name): raise NoSuchNode() def get_group(name): raise NoSuchGroup() repo = MagicMock() repo.get_group = get_group repo.get_node = get_node with self.assertRaises(UsageException): cmdline.get_target_nodes(repo, "node1")
def test_order(self): repo = MagicMock() repo.get_node = lambda n: int(n[-1]) self.assertEqual( cmdline.get_target_nodes(repo, "node2,node1,node3"), [1, 2, 3], )
def test_no_such_node(self): def get_node(name): raise NoSuchNode() def get_group(name): group = MagicMock() group.nodes = ["g" + name[-1]] return group repo = MagicMock() repo.get_group = get_group repo.get_node = get_node self.assertEqual( cmdline.get_target_nodes(repo, "node1"), ["g1"], )
def test_negated_bundle(self): bundle1 = MagicMock() bundle1.name = "goodbundle" bundle2 = MagicMock() bundle2.name = "badbundle" node1 = MagicMock() node1.bundles = (bundle1,) node2 = MagicMock() node2.bundles = (bundle2,) repo = MagicMock() repo.nodes = (node1, node2) self.assertEqual( cmdline.get_target_nodes(repo, "!bundle:badbundle"), [node1], )
def test_mixed(self): def get_node(name): if int(name[-1]) > 2: raise NoSuchNode() return "n" + name[-1] def get_group(name): group = MagicMock() group.nodes = ["g" + name[-1]] return group repo = MagicMock() repo.get_group = get_group repo.get_node = get_node self.assertEqual( set(cmdline.get_target_nodes(repo, "node1, node2,group3")), set(["n1", "n2", "g3"]), )
def test_negated_group(self): group1 = MagicMock() group1.name = "goodgroup" group2 = MagicMock() group2.name = "badgroup" node1 = MagicMock() node1.groups = (group1,) node2 = MagicMock() node2.groups = (group2,) repo = MagicMock() repo.nodes = (node1, node2) self.assertEqual( cmdline.get_target_nodes(repo, "!group:badgroup"), [node1], )