def test_get_ix_networks_for_asn(self): api = PeeringDB() asn = 29467 # Must not exist self.assertIsNone(api.get_ix_networks_for_asn(64500)) known_ix_networks = [ 29146, 15321, 24292, 15210, 16774, 14657, 23162, 14659, 17707, 27863, 48704, 51129, ] found_ix_networks = [] ix_networks = api.get_ix_networks_for_asn(asn) for ix_network in ix_networks: found_ix_networks.append(ix_network.id) self.assertEqual(sorted(found_ix_networks), sorted(known_ix_networks))
def get_objects(self): objects = [] known_objects = [] api = PeeringDB() for ix in InternetExchange.objects.all(): if ix.peeringdb_id: known_objects.append(ix.peeringdb_id) ix_networks = api.get_ix_networks_for_asn(settings.MY_ASN) or [] slugs_occurences = {} for ix_network in ix_networks: if ix_network.id not in known_objects: slug = slugify(ix_network.name) if slug in slugs_occurences: slugs_occurences[slug] += 1 slug = "{}-{}".format(slug, slugs_occurences[slug]) else: slugs_occurences[slug] = 0 objects.append({ "peeringdb_id": ix_network.id, "name": ix_network.name, "slug": slug, "ipv6_address": ix_network.ipaddr6, "ipv4_address": ix_network.ipaddr4, }) return objects
def test_get_ix_networks_for_asn(self, *_): api = PeeringDB() asn = 65536 with patch("peeringdb.http.requests.get", return_value=MockedResponse(status_code=404)): # Must not exist self.assertIsNone(api.get_ix_networks_for_asn(64500)) known_ix_networks = [1, 2] found_ix_networks = [] ix_networks = api.get_ix_networks_for_asn(asn) for ix_network in ix_networks: found_ix_networks.append(ix_network.id) self.assertEqual(sorted(found_ix_networks), sorted(known_ix_networks))
def get_objects(self): objects = [] known_objects = [] api = PeeringDB() for ix in InternetExchange.objects.all(): if ix.peeringdb_id: known_objects.append(ix.peeringdb_id) ix_networks = api.get_ix_networks_for_asn(settings.MY_ASN) or [] for ix_network in ix_networks: if ix_network.id not in known_objects: objects.append({ "peeringdb_id": ix_network.id, "name": ix_network.name, "slug": slugify(ix_network.name), "ipv6_address": ix_network.ipaddr6, "ipv4_address": ix_network.ipaddr4, }) return objects