def test_exact(self): nodes = [Host("foocluster-1"), Host("barcluster-2")] utils.concretize_nodes(self.resources, nodes) self.assertCountEqual(self.resources["machines"][0]["_c_nodes"], ["foocluster-1"]) self.assertCountEqual(self.resources["machines"][1]["_c_nodes"], ["barcluster-2"])
def test_same_cluster(self): nodes = [Host("foocluster-1"), Host("foocluster-2")] self.resources["machines"][1]["cluster"] = "foocluster" utils.concretize_nodes(self.resources, nodes) self.assertItemsEqual(self.resources["machines"][0]["_c_nodes"], ["foocluster-1"]) self.assertItemsEqual(self.resources["machines"][1]["_c_nodes"], ["foocluster-2"])
def test_exact(self): nodes = [Host("foocluster-1"), Host("foocluster-2")] utils.concretize_nodes(self.resources, nodes) self.assertCountEqual(self.resources["machines"][0]["_c_nodes"], ["foocluster-2"]) # Description with min are filled first self.assertCountEqual(self.resources["machines"][1]["_c_nodes"], ["foocluster-1"])
def test_same_cluster(self): nodes = ["foocluster-1", "foocluster-2"] self.resources["machines"][1]["cluster"] = "foocluster" utils.concretize_nodes(self.resources, nodes) self.assertCountEqual(self.resources["machines"][0]["_c_nodes"], ["foocluster-1"]) self.assertCountEqual(self.resources["machines"][1]["_c_nodes"], ["foocluster-2"])
def test_not_order_dependent(self): nodes = [Host("foocluster-1"), Host("foocluster-2"), Host("foocluster-3")] self.resources["machines"][0]["nodes"] = 2 resources_1 = copy.deepcopy(self.resources) utils.concretize_nodes(resources_1, nodes) nodes = [Host("foocluster-2"), Host("foocluster-3"), Host("foocluster-1")] resources_2 = copy.deepcopy(self.resources) resources_2["machines"][0]["nodes"] = 2 utils.concretize_nodes(resources_2, nodes) self.assertItemsEqual(resources_1["machines"][0]["_c_nodes"], resources_2["machines"][0]["_c_nodes"])
def test_not_order_dependent(self): nodes = ["foocluster-1", "foocluster-2", "foocluster-3"] self.resources["machines"][0]["nodes"] = 2 resources_1 = copy.deepcopy(self.resources) utils.concretize_nodes(resources_1, nodes) nodes = ["foocluster-2", "foocluster-3", "foocluster-1"] resources_2 = copy.deepcopy(self.resources) resources_2["machines"][0]["nodes"] = 2 utils.concretize_nodes(resources_2, nodes) self.assertCountEqual( resources_1["machines"][0]["_c_nodes"], resources_2["machines"][0]["_c_nodes"], )
def test_all_missing(self): nodes = [] with self.assertRaises(NotEnoughNodesError): utils.concretize_nodes(self.resources, nodes)
def test_one_missing(self): nodes = [Host("foocluster-1")] utils.concretize_nodes(self.resources, nodes) self.assertCountEqual(self.resources["machines"][0]["_c_nodes"], []) self.assertCountEqual(self.resources["machines"][1]["_c_nodes"], ["foocluster-1"])
def _concretize_nodes(self, nodes): utils.concretize_nodes(self.c_resources, nodes)