|
|
@@ -337,16 +337,18 @@ class IPAddressTestCase(TestCase):
|
|
|
IPAddress(family=4, address='10.0.0.2/24', vrf=vrfs[0], interface=interfaces[0], status=IPADDRESS_STATUS_ACTIVE, role=None, dns_name='ipaddress-b'),
|
|
|
IPAddress(family=4, address='10.0.0.3/24', vrf=vrfs[1], interface=interfaces[1], status=IPADDRESS_STATUS_RESERVED, role=IPADDRESS_ROLE_VIP, dns_name='ipaddress-c'),
|
|
|
IPAddress(family=4, address='10.0.0.4/24', vrf=vrfs[2], interface=interfaces[2], status=IPADDRESS_STATUS_DEPRECATED, role=IPADDRESS_ROLE_SECONDARY, dns_name='ipaddress-d'),
|
|
|
+ IPAddress(family=4, address='10.0.0.1/25', vrf=None, interface=None, status=IPADDRESS_STATUS_ACTIVE, role=None),
|
|
|
IPAddress(family=6, address='2001:db8::1/64', vrf=None, interface=None, status=IPADDRESS_STATUS_ACTIVE, role=None, dns_name='ipaddress-a'),
|
|
|
IPAddress(family=6, address='2001:db8::2/64', vrf=vrfs[0], interface=interfaces[3], status=IPADDRESS_STATUS_ACTIVE, role=None, dns_name='ipaddress-b'),
|
|
|
IPAddress(family=6, address='2001:db8::3/64', vrf=vrfs[1], interface=interfaces[4], status=IPADDRESS_STATUS_RESERVED, role=IPADDRESS_ROLE_VIP, dns_name='ipaddress-c'),
|
|
|
IPAddress(family=6, address='2001:db8::4/64', vrf=vrfs[2], interface=interfaces[5], status=IPADDRESS_STATUS_DEPRECATED, role=IPADDRESS_ROLE_SECONDARY, dns_name='ipaddress-d'),
|
|
|
+ IPAddress(family=6, address='2001:db8::1/65', vrf=None, interface=None, status=IPADDRESS_STATUS_ACTIVE, role=None),
|
|
|
)
|
|
|
IPAddress.objects.bulk_create(ipaddresses)
|
|
|
|
|
|
def test_family(self):
|
|
|
params = {'family': '6'}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5)
|
|
|
|
|
|
def test_dns_name(self):
|
|
|
params = {'dns_name': ['ipaddress-a', 'ipaddress-b']}
|
|
|
@@ -359,20 +361,24 @@ class IPAddressTestCase(TestCase):
|
|
|
|
|
|
def test_parent(self):
|
|
|
params = {'parent': '10.0.0.0/24'}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5)
|
|
|
params = {'parent': '2001:db8::/64'}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5)
|
|
|
|
|
|
- def filter_address(self):
|
|
|
+ def test_filter_address(self):
|
|
|
# Check IPv4 and IPv6, with and without a mask
|
|
|
- params = {'address': '10.0.0.1/24'}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
|
|
|
- params = {'address': '10.0.0.1'}
|
|
|
+ params = {'address': ['10.0.0.1/24']}
|
|
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
|
|
|
- params = {'address': '2001:db8::1/64'}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
|
|
|
- params = {'address': '2001:db8::1'}
|
|
|
+ params = {'address': ['10.0.0.1']}
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
|
|
+ params = {'address': ['10.0.0.1/24', '10.0.0.1/25']}
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
|
|
+ params = {'address': ['2001:db8::1/64']}
|
|
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
|
|
|
+ params = {'address': ['2001:db8::1']}
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
|
|
+ params = {'address': ['2001:db8::1/64', '2001:db8::1/65']}
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
|
|
|
|
|
def test_mask_length(self):
|
|
|
params = {'mask_length': '24'}
|
|
|
@@ -411,7 +417,7 @@ class IPAddressTestCase(TestCase):
|
|
|
params = {'assigned_to_interface': 'true'}
|
|
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 6)
|
|
|
params = {'assigned_to_interface': 'false'}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
|
|
|
|
|
def test_status(self):
|
|
|
params = {'status': [PREFIX_STATUS_DEPRECATED, PREFIX_STATUS_RESERVED]}
|