def test_get_ix_network(self, *_): api = PeeringDB() ix_network_id = 1 with patch("peeringdb.http.requests.get", return_value=MockedResponse(status_code=404)): # Must not exist self.assertIsNone(api.get_ix_network(0)) # Using an API call (no cached data) ix_network = api.get_ix_network(ix_network_id) self.assertEqual(ix_network.id, ix_network_id) # Save the data inside the cache details = { "id": ix_network.id, "asn": ix_network.asn, "name": ix_network.name, "ix_id": ix_network.ix_id, "ixlan_id": ix_network.ixlan_id, } network_ixlan = NetworkIXLAN(**details) network_ixlan.save() # Using no API calls (cached data) ix_network = api.get_ix_network(ix_network_id) self.assertEqual(ix_network.id, ix_network_id)
def test_get_ix_network(self): api = PeeringDB() ix_network_id = 29146 # Must not exist self.assertIsNone(api.get_ix_network(0)) # Using an API call (no cached data) ix_network = api.get_ix_network(ix_network_id) self.assertEqual(ix_network.id, ix_network_id) # Save the data inside the cache details = { "id": ix_network.id, "asn": ix_network.asn, "name": ix_network.name, "ix_id": ix_network.ix_id, "ixlan_id": ix_network.ixlan_id, } network_ixlan = NetworkIXLAN(**details) network_ixlan.save() # Using no API calls (cached data) ix_network = api.get_ix_network(ix_network_id) self.assertEqual(ix_network.id, ix_network_id)
def setUpTestData(cls): Network.objects.bulk_create([ Network(asn=64501, name="Test 1", irr_as_set="AS-TEST-1"), Network(asn=64502, name="Test 2", irr_as_set="AS-TEST-2"), Network(asn=64503, name="Test 3", irr_as_set="AS-TEST-3"), ]) NetworkIXLAN.objects.bulk_create([ NetworkIXLAN( asn=64501, name="Test 1", ipaddr6="2001:db8::1", ipaddr4="192.0.2.1", ix_id=1, ixlan_id=1, ), NetworkIXLAN( asn=64502, name="Test 2", ipaddr6="2001:db8::2", ipaddr4="192.0.2.2", ix_id=1, ixlan_id=1, ), NetworkIXLAN( asn=64503, name="Test 3", ipaddr6="2001:db8::3", ipaddr4="192.0.2.3", ix_id=1, ixlan_id=1, ), ]) PeerRecord.objects.bulk_create([ PeerRecord( network=Network.objects.get(asn=64501), network_ixlan=NetworkIXLAN.objects.get(asn=64501), ), PeerRecord( network=Network.objects.get(asn=64502), network_ixlan=NetworkIXLAN.objects.get(asn=64502), ), PeerRecord( network=Network.objects.get(asn=64502), network_ixlan=NetworkIXLAN.objects.get(asn=64503), ), ])
def test_get_ix_network_by_ip_address(self, *_): api = PeeringDB() ipv6_address = "2001:db8:1337::1" ipv4_address = "203.0.113.1" ix_network_id = 1 # No IP given we cannot guess what the user wants self.assertIsNone(api.get_ix_network_by_ip_address()) # Using an API call (no cached data) ix_network = api.get_ix_network_by_ip_address( ipv6_address=ipv6_address) self.assertEqual(ix_network.id, ix_network_id) ix_network = api.get_ix_network_by_ip_address( ipv4_address=ipv4_address) self.assertEqual(ix_network.id, ix_network_id) ix_network = api.get_ix_network_by_ip_address( ipv6_address=ipv6_address, ipv4_address=ipv4_address) self.assertEqual(ix_network.id, ix_network_id) # Save the data inside the cache details = { "id": ix_network.id, "asn": ix_network.asn, "name": ix_network.name, "ipaddr6": ipv6_address, "ipaddr4": ipv4_address, "ix_id": ix_network.ix_id, "ixlan_id": ix_network.ixlan_id, } network_ixlan = NetworkIXLAN(**details) network_ixlan.save() # Using no API calls (cached data) ix_network = api.get_ix_network_by_ip_address( ipv6_address=ipv6_address) self.assertEqual(ix_network.id, ix_network_id) ix_network = api.get_ix_network_by_ip_address( ipv4_address=ipv4_address) self.assertEqual(ix_network.id, ix_network_id) ix_network = api.get_ix_network_by_ip_address( ipv6_address=ipv6_address, ipv4_address=ipv4_address) self.assertEqual(ix_network.id, ix_network_id)