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)
Beispiel #2
0
    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)