def test_not_order_dependent(self): _networks_1 = [ { "site": "rennes", "vlan_id": 4, "nature": "kavlan", "network": "1.2.3.4/24", }, { "site": "rennes", "vlan_id": 5, "nature": "kavlan", "network": "2.2.3.4/24", }, ] networks_1 = [g5k_api_utils.ConcreteVlan(**n) for n in _networks_1] networks_2 = [networks_1[1], networks_1[0]] resources_1 = copy.deepcopy(self.resources) resources_2 = copy.deepcopy(self.resources) utils.concretize_networks(resources_1, networks_1) utils.concretize_networks(resources_2, networks_2) self.maxDiff = None self.assertCountEqual(resources_1["networks"], resources_2["networks"])
def test_one_missing(self): networks = [ { "site": "rennes", "vlan_id": 4}, ] subnets = [] with self.assertRaises(MissingNetworkError): utils.concretize_networks(self.resources, networks, subnets)
def test_act(self): networks = [ { "site": "rennes", "vlan_id": 4}, { "site": "rennes", "vlan_id": 5} ] utils.concretize_networks(self.resources, networks) self.assertEquals(networks[0], self.resources["networks"][0]["_c_network"]) self.assertEquals(networks[1], self.resources["networks"][1]["_c_network"])
def test_prod(self): self.resources["networks"][0]["type"] = PROD networks = [{"site": "rennes", "vlan_id": 5}] utils.concretize_networks(self.resources, networks) # self.assertEquals(networks[0], self.resources["networks"][0]["_c_network"]) self.assertEquals( None, self.resources["networks"][0]["_c_network"]["vlan_id"]) self.assertEquals(networks[0], self.resources["networks"][1]["_c_network"])
def test_act_subnets(self): networks = [] subnets = [ { "site": "rennes", "ip_prefix": "10.156.1.0/18" }, { "site": "rennes", "ip_prefix": "10.156.0.0/22" }, ] utils.concretize_networks(self.resources_subnet, networks, subnets) self.assertEqual(subnets[1], self.resources_subnet["networks"][0]["_c_network"]) self.assertEqual(subnets[0], self.resources_subnet["networks"][1]["_c_network"])
def test_act_subnets_not_enough(self): _networks = [{ "site": "rennes", "network": "10.156.%s.0/22" % i, "nature": "slash_22" } for i in range(33)] networks = [g5k_api_utils.ConcreteSubnet(**n) for n in _networks] utils.concretize_networks(self.resources_subnet, networks) self.assertEqual( 32, len(self.resources_subnet["networks"][1]["_c_network"]))
def test_one_missing(self): _networks = [{ "site": "rennes", "vlan_id": 4, "nature": "kavlan", "network": "1.2.3.4/24", }] networks = [g5k_api_utils.ConcreteVlan(**n) for n in _networks] with self.assertRaises(MissingNetworkError): utils.concretize_networks(self.resources, networks)
def test_not_order_dependent(self): networks_1 = [ { "site": "rennes", "vlan_id": 4}, { "site": "rennes", "vlan_id": 5} ] networks_2 = [ { "site": "rennes", "vlan_id": 5}, { "site": "rennes", "vlan_id": 4} ] resources_1 = copy.deepcopy(self.resources) resources_2 = copy.deepcopy(self.resources) utils.concretize_networks(resources_1, networks_1) utils.concretize_networks(resources_2, networks_2) self.assertItemsEqual(resources_1["networks"], resources_2["networks"])
def test_act(self): _networks = [{ "site": "rennes", "vlan_id": 4, "nature": "kavlan", "network": "1.2.3.4/24" }, { "site": "rennes", "vlan_id": 5, "nature": "kavlan", "network": "2.2.3.4/24" }] networks = [g5k_api_utils.ConcreteVlan(**n) for n in _networks] utils.concretize_networks(self.resources, networks) self.assertEqual([networks[0]], self.resources["networks"][0]["_c_network"]) self.assertEqual([networks[1]], self.resources["networks"][1]["_c_network"])
def test_prod(self): self.resources["networks"][0]["type"] = PROD self.resources["networks"][0]["nature"] = PROD networks = [ g5k_api_utils.ConcreteVlan( **{ "site": "rennes", "vlan_id": 5, "nature": "kavlan", "network": "1.2.3.4/24" }), g5k_api_utils.ConcreteProd(**{ "site": "rennes", "nature": PROD, "network": "2.2.3.4/24" }) ] utils.concretize_networks(self.resources, networks) # self.assertEqual(networks[0], self.resources["networks"][0]["_c_network"]) self.assertEqual( None, self.resources["networks"][0]["_c_network"][0].vlan_id) self.assertEqual([networks[0]], self.resources["networks"][1]["_c_network"])
def _concretize_networks(self, networks): utils.concretize_networks(self.c_resources, networks)
def _concretize_networks(self, vlans, subnets): utils.concretize_networks(self.c_resources, vlans, subnets)