Explorar el Código

#6732 - Fix tests for utilities

Daniel Sheppard hace 4 años
padre
commit
1902e112f6
Se han modificado 1 ficheros con 48 adiciones y 15 borrados
  1. 48 15
      netbox/utilities/tests/test_filters.py

+ 48 - 15
netbox/utilities/tests/test_filters.py

@@ -5,6 +5,9 @@ from django.test import TestCase
 from mptt.fields import TreeForeignKey
 from mptt.fields import TreeForeignKey
 from taggit.managers import TaggableManager
 from taggit.managers import TaggableManager
 
 
+from circuits.choices import CircuitStatusChoices
+from circuits.filtersets import CircuitFilterSet
+from circuits.models import Circuit, Provider, CircuitType
 from dcim.choices import *
 from dcim.choices import *
 from dcim.fields import MACAddressField
 from dcim.fields import MACAddressField
 from dcim.filtersets import DeviceFilterSet, SiteFilterSet
 from dcim.filtersets import DeviceFilterSet, SiteFilterSet
@@ -13,6 +16,7 @@ from dcim.models import (
 )
 )
 from extras.filters import TagFilter
 from extras.filters import TagFilter
 from extras.models import TaggedItem
 from extras.models import TaggedItem
+from ipam.models import RIR, ASN
 from netbox.filtersets import BaseFilterSet
 from netbox.filtersets import BaseFilterSet
 from utilities.filters import (
 from utilities.filters import (
     MACAddressFilter, MultiValueCharFilter, MultiValueDateFilter, MultiValueDateTimeFilter, MultiValueNumberFilter,
     MACAddressFilter, MultiValueCharFilter, MultiValueDateFilter, MultiValueDateTimeFilter, MultiValueNumberFilter,
@@ -337,10 +341,26 @@ class DynamicFilterLookupExpressionTest(TestCase):
     device_filterset = DeviceFilterSet
     device_filterset = DeviceFilterSet
     site_queryset = Site.objects.all()
     site_queryset = Site.objects.all()
     site_filterset = SiteFilterSet
     site_filterset = SiteFilterSet
+    circuit_queryset = Circuit.objects.all()
+    circuit_filterset = CircuitFilterSet
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
 
 
+        provider = Provider.objects.create(name='Test Provider', slug='test-provider')
+        circuit_type = CircuitType.objects.create(name='Test Circuit Type', slug='test-circuit-type')
+
+        circuits = (
+            Circuit(cid='CID12123', provider=provider, type=circuit_type,
+                    status=CircuitStatusChoices.STATUS_ACTIVE, commit_rate=1000),
+            Circuit(cid='CID12124', provider=provider, type=circuit_type,
+                    status=CircuitStatusChoices.STATUS_ACTIVE, commit_rate=10000),
+            Circuit(cid='CID12125', provider=provider, type=circuit_type,
+                    status=CircuitStatusChoices.STATUS_ACTIVE, commit_rate=100000)
+
+        )
+        Circuit.objects.bulk_create(circuits)
+
         manufacturers = (
         manufacturers = (
             Manufacturer(name='Manufacturer 1', slug='manufacturer-1'),
             Manufacturer(name='Manufacturer 1', slug='manufacturer-1'),
             Manufacturer(name='Manufacturer 2', slug='manufacturer-2'),
             Manufacturer(name='Manufacturer 2', slug='manufacturer-2'),
@@ -378,12 +398,25 @@ class DynamicFilterLookupExpressionTest(TestCase):
             region.save()
             region.save()
 
 
         sites = (
         sites = (
-            Site(name='Site 1', slug='abc-site-1', region=regions[0], asn=65001),
-            Site(name='Site 2', slug='def-site-2', region=regions[1], asn=65101),
-            Site(name='Site 3', slug='ghi-site-3', region=regions[2], asn=65201),
+            Site(name='Site 1', slug='abc-site-1', region=regions[0]),
+            Site(name='Site 2', slug='def-site-2', region=regions[1]),
+            Site(name='Site 3', slug='ghi-site-3', region=regions[2]),
         )
         )
         Site.objects.bulk_create(sites)
         Site.objects.bulk_create(sites)
 
 
+        rir = RIR.objects.create(name='RFC 6996', is_private=True)
+
+        asns = [
+            ASN(asn=65001, rir=rir),
+            ASN(asn=65101, rir=rir),
+            ASN(asn=65201, rir=rir)
+        ]
+        ASN.objects.bulk_create(asns)
+
+        asns[0].sites.add(sites[0])
+        asns[1].sites.add(sites[1])
+        asns[2].sites.add(sites[2])
+
         racks = (
         racks = (
             Rack(name='Rack 1', site=sites[0]),
             Rack(name='Rack 1', site=sites[0]),
             Rack(name='Rack 2', site=sites[1]),
             Rack(name='Rack 2', site=sites[1]),
@@ -436,21 +469,21 @@ class DynamicFilterLookupExpressionTest(TestCase):
         params = {'slug__niew': ['-1']}
         params = {'slug__niew': ['-1']}
         self.assertEqual(SiteFilterSet(params, self.site_queryset).qs.count(), 2)
         self.assertEqual(SiteFilterSet(params, self.site_queryset).qs.count(), 2)
 
 
-    def test_site_asn_lt(self):
-        params = {'asn__lt': [65101]}
-        self.assertEqual(SiteFilterSet(params, self.site_queryset).qs.count(), 1)
+    def test_circuit_commit_lt(self):
+        params = {'commit_rate__lt': [10000]}
+        self.assertEqual(CircuitFilterSet(params, self.circuit_queryset).qs.count(), 1)
 
 
-    def test_site_asn_lte(self):
-        params = {'asn__lte': [65101]}
-        self.assertEqual(SiteFilterSet(params, self.site_queryset).qs.count(), 2)
+    def test_circuit_commit_lte(self):
+        params = {'commit_rate__lte': [10000]}
+        self.assertEqual(CircuitFilterSet(params, self.circuit_queryset).qs.count(), 2)
 
 
-    def test_site_asn_gt(self):
-        params = {'asn__lt': [65101]}
-        self.assertEqual(SiteFilterSet(params, self.site_queryset).qs.count(), 1)
+    def test_circuit_commit_gt(self):
+        params = {'commit_rate__gt': [10000]}
+        self.assertEqual(CircuitFilterSet(params, self.circuit_queryset).qs.count(), 1)
 
 
-    def test_site_asn_gte(self):
-        params = {'asn__gte': [65101]}
-        self.assertEqual(SiteFilterSet(params, self.site_queryset).qs.count(), 2)
+    def test_circuit_commit_gte(self):
+        params = {'commit_rate__gte': [10000]}
+        self.assertEqual(CircuitFilterSet(params, self.circuit_queryset).qs.count(), 2)
 
 
     def test_site_region_negation(self):
     def test_site_region_negation(self):
         params = {'region__n': ['region-1']}
         params = {'region__n': ['region-1']}