|
7 | 7 |
|
8 | 8 | from dcim.choices import * |
9 | 9 | from dcim.fields import MACAddressField |
10 | | -from dcim.filtersets import DeviceFilterSet, SiteFilterSet |
| 10 | +from dcim.filtersets import DeviceFilterSet, SiteFilterSet, InterfaceFilterSet |
11 | 11 | from dcim.models import ( |
12 | 12 | Device, DeviceRole, DeviceType, Interface, Manufacturer, Platform, Rack, Region, Site |
13 | 13 | ) |
|
16 | 16 | from ipam.filtersets import ASNFilterSet |
17 | 17 | from ipam.models import RIR, ASN |
18 | 18 | from netbox.filtersets import BaseFilterSet |
| 19 | +from wireless.choices import WirelessRoleChoices |
19 | 20 | from utilities.filters import ( |
20 | 21 | MultiValueCharFilter, MultiValueDateFilter, MultiValueDateTimeFilter, MultiValueMACAddressFilter, |
21 | 22 | MultiValueNumberFilter, MultiValueTimeFilter, TreeNodeMultipleChoiceFilter, |
@@ -408,9 +409,9 @@ def setUpTestData(cls): |
408 | 409 | region.save() |
409 | 410 |
|
410 | 411 | sites = ( |
411 | | - Site(name='Site 1', slug='abc-site-1', region=regions[0]), |
412 | | - Site(name='Site 2', slug='def-site-2', region=regions[1]), |
413 | | - Site(name='Site 3', slug='ghi-site-3', region=regions[2]), |
| 412 | + Site(name='Site 1', slug='abc-site-1', region=regions[0], status=SiteStatusChoices.STATUS_ACTIVE), |
| 413 | + Site(name='Site 2', slug='def-site-2', region=regions[1], status=SiteStatusChoices.STATUS_ACTIVE), |
| 414 | + Site(name='Site 3', slug='ghi-site-3', region=regions[2], status=SiteStatusChoices.STATUS_PLANNED), |
414 | 415 | ) |
415 | 416 | Site.objects.bulk_create(sites) |
416 | 417 |
|
@@ -438,14 +439,22 @@ def setUpTestData(cls): |
438 | 439 | Interface(device=devices[1], name='Interface 3', mac_address='00-00-00-00-00-02'), |
439 | 440 | Interface(device=devices[1], name='Interface 4', mac_address='bb-00-00-00-00-02'), |
440 | 441 | Interface(device=devices[2], name='Interface 5', mac_address='00-00-00-00-00-03'), |
441 | | - Interface(device=devices[2], name='Interface 6', mac_address='cc-00-00-00-00-03'), |
| 442 | + Interface(device=devices[2], name='Interface 6', mac_address='cc-00-00-00-00-03', rf_role=WirelessRoleChoices.ROLE_AP), |
442 | 443 | ) |
443 | 444 | Interface.objects.bulk_create(interfaces) |
444 | 445 |
|
445 | 446 | def test_site_name_negation(self): |
446 | 447 | params = {'name__n': ['Site 1']} |
447 | 448 | self.assertEqual(SiteFilterSet(params, Site.objects.all()).qs.count(), 2) |
448 | 449 |
|
| 450 | + def test_site_status_icontains(self): |
| 451 | + params = {'status__ic': [SiteStatusChoices.STATUS_ACTIVE]} |
| 452 | + self.assertEqual(SiteFilterSet(params, Site.objects.all()).qs.count(), 2) |
| 453 | + |
| 454 | + def test_site_status_icontains_negation(self): |
| 455 | + params = {'status__nic': [SiteStatusChoices.STATUS_ACTIVE]} |
| 456 | + self.assertEqual(SiteFilterSet(params, Site.objects.all()).qs.count(), 1) |
| 457 | + |
449 | 458 | def test_site_slug_icontains(self): |
450 | 459 | params = {'slug__ic': ['-1']} |
451 | 460 | self.assertEqual(SiteFilterSet(params, Site.objects.all()).qs.count(), 1) |
@@ -553,3 +562,9 @@ def test_device_mac_address_icontains(self): |
553 | 562 | def test_device_mac_address_icontains_negation(self): |
554 | 563 | params = {'mac_address__nic': ['aa:', 'bb']} |
555 | 564 | self.assertEqual(DeviceFilterSet(params, Device.objects.all()).qs.count(), 1) |
| 565 | + |
| 566 | + def test_interface_rf_role_empty(self): |
| 567 | + params = {'rf_role__empty': 'true'} |
| 568 | + self.assertEqual(InterfaceFilterSet(params, Interface.objects.all()).qs.count(), 5) |
| 569 | + params = {'rf_role__empty': 'false'} |
| 570 | + self.assertEqual(InterfaceFilterSet(params, Interface.objects.all()).qs.count(), 1) |
0 commit comments