|
@@ -900,6 +900,13 @@ class L2VPNTerminationTestCase(TestCase, ChangeLoggedFilterSetTestMixin):
|
|
|
)
|
|
)
|
|
|
L2VPN.objects.bulk_create(l2vpns)
|
|
L2VPN.objects.bulk_create(l2vpns)
|
|
|
|
|
|
|
|
|
|
+ ip_addresses = (
|
|
|
|
|
+ IPAddress(address='192.0.2.1/32', assigned_object=interfaces[0]),
|
|
|
|
|
+ IPAddress(address='192.0.2.2/32', assigned_object=vminterfaces[0]),
|
|
|
|
|
+ IPAddress(address='192.0.2.3/32'),
|
|
|
|
|
+ )
|
|
|
|
|
+ IPAddress.objects.bulk_create(ip_addresses)
|
|
|
|
|
+
|
|
|
l2vpnterminations = (
|
|
l2vpnterminations = (
|
|
|
L2VPNTermination(l2vpn=l2vpns[0], assigned_object=vlans[0]),
|
|
L2VPNTermination(l2vpn=l2vpns[0], assigned_object=vlans[0]),
|
|
|
L2VPNTermination(l2vpn=l2vpns[1], assigned_object=vlans[1]),
|
|
L2VPNTermination(l2vpn=l2vpns[1], assigned_object=vlans[1]),
|
|
@@ -910,6 +917,8 @@ class L2VPNTerminationTestCase(TestCase, ChangeLoggedFilterSetTestMixin):
|
|
|
L2VPNTermination(l2vpn=l2vpns[0], assigned_object=vminterfaces[0]),
|
|
L2VPNTermination(l2vpn=l2vpns[0], assigned_object=vminterfaces[0]),
|
|
|
L2VPNTermination(l2vpn=l2vpns[1], assigned_object=vminterfaces[1]),
|
|
L2VPNTermination(l2vpn=l2vpns[1], assigned_object=vminterfaces[1]),
|
|
|
L2VPNTermination(l2vpn=l2vpns[2], assigned_object=vminterfaces[2]),
|
|
L2VPNTermination(l2vpn=l2vpns[2], assigned_object=vminterfaces[2]),
|
|
|
|
|
+ L2VPNTermination(l2vpn=l2vpns[2], assigned_object=ip_addresses[0]),
|
|
|
|
|
+ L2VPNTermination(l2vpn=l2vpns[2], assigned_object=ip_addresses[1]),
|
|
|
)
|
|
)
|
|
|
L2VPNTermination.objects.bulk_create(l2vpnterminations)
|
|
L2VPNTermination.objects.bulk_create(l2vpnterminations)
|
|
|
|
|
|
|
@@ -954,6 +963,17 @@ class L2VPNTerminationTestCase(TestCase, ChangeLoggedFilterSetTestMixin):
|
|
|
params = {'vlan': ['VLAN 1', 'VLAN 2']}
|
|
params = {'vlan': ['VLAN 1', 'VLAN 2']}
|
|
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
|
|
|
|
|
|
|
|
|
+ def test_ipaddress(self):
|
|
|
|
|
+ ip_addresses = IPAddress.objects.all()[:2]
|
|
|
|
|
+ params = {'ipaddress_id': [ip_addresses[0].pk, ip_addresses[1].pk]}
|
|
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
|
|
|
|
+ params = {'ipaddress': ['192.0.2.1/32', '192.0.2.2/32']}
|
|
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
|
|
|
|
+ params = {'ipaddress': ['192.0.2.1', '192.0.2.2']}
|
|
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
|
|
|
|
+ params = {'ipaddress': ['invalid']}
|
|
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 0)
|
|
|
|
|
+
|
|
|
def test_vlan_shared_name(self):
|
|
def test_vlan_shared_name(self):
|
|
|
# A VLAN name shared by several groups should resolve to a single filter value
|
|
# A VLAN name shared by several groups should resolve to a single filter value
|
|
|
vlan = VLAN.objects.first()
|
|
vlan = VLAN.objects.first()
|
|
@@ -965,16 +985,16 @@ class L2VPNTerminationTestCase(TestCase, ChangeLoggedFilterSetTestMixin):
|
|
|
def test_site(self):
|
|
def test_site(self):
|
|
|
site = Site.objects.all().first()
|
|
site = Site.objects.all().first()
|
|
|
params = {'site_id': [site.pk]}
|
|
params = {'site_id': [site.pk]}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
|
|
|
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
|
|
params = {'site': ['site-1']}
|
|
params = {'site': ['site-1']}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
|
|
|
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
|
|
|
|
|
|
|
def test_device(self):
|
|
def test_device(self):
|
|
|
device = Device.objects.all().first()
|
|
device = Device.objects.all().first()
|
|
|
params = {'device_id': [device.pk]}
|
|
params = {'device_id': [device.pk]}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
|
|
|
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
|
|
params = {'device': ['Device 1']}
|
|
params = {'device': ['Device 1']}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
|
|
|
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
|
|
|
|
|
|
|
def test_device_shared_name(self):
|
|
def test_device_shared_name(self):
|
|
|
# A device name shared by several sites should resolve to a single filter value
|
|
# A device name shared by several sites should resolve to a single filter value
|
|
@@ -988,9 +1008,9 @@ class L2VPNTerminationTestCase(TestCase, ChangeLoggedFilterSetTestMixin):
|
|
|
def test_virtual_machine(self):
|
|
def test_virtual_machine(self):
|
|
|
virtual_machine = VirtualMachine.objects.all().first()
|
|
virtual_machine = VirtualMachine.objects.all().first()
|
|
|
params = {'virtual_machine_id': [virtual_machine.pk]}
|
|
params = {'virtual_machine_id': [virtual_machine.pk]}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
|
|
|
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
|
|
params = {'virtual_machine': ['Virtual Machine 1']}
|
|
params = {'virtual_machine': ['Virtual Machine 1']}
|
|
|
- self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
|
|
|
|
|
|
|
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
|
|
|
|
|
|
|
|
def test_virtual_machine_shared_name(self):
|
|
def test_virtual_machine_shared_name(self):
|
|
|
# A virtual machine name shared by several clusters should resolve to a single filter value
|
|
# A virtual machine name shared by several clusters should resolve to a single filter value
|