mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-24 00:15:17 -06:00
Update unrelated tests to use ASN model instead of Provider
This commit is contained in:
parent
d0b3930f9a
commit
2eff0f98c7
@ -2,7 +2,7 @@ from django.conf import settings
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.test import TestCase, override_settings
|
||||
|
||||
from circuits.models import Provider
|
||||
from ipam.models import ASN, RIR
|
||||
from dcim.models import Site
|
||||
from extras.validators import CustomValidator
|
||||
|
||||
@ -14,6 +14,20 @@ class MyValidator(CustomValidator):
|
||||
self.fail("Name must be foo!")
|
||||
|
||||
|
||||
min_validator = CustomValidator({
|
||||
'asn': {
|
||||
'min': 65000
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
max_validator = CustomValidator({
|
||||
'asn': {
|
||||
'max': 65100
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
min_length_validator = CustomValidator({
|
||||
'name': {
|
||||
'min_length': 5
|
||||
@ -53,6 +67,26 @@ custom_validator = MyValidator()
|
||||
|
||||
class CustomValidatorTest(TestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
RIR.objects.create(name='RIR 1', slug='rir-1')
|
||||
|
||||
@override_settings(CUSTOM_VALIDATORS={'ipam.asn': [min_validator]})
|
||||
def test_configuration(self):
|
||||
self.assertIn('ipam.asn', settings.CUSTOM_VALIDATORS)
|
||||
validator = settings.CUSTOM_VALIDATORS['ipam.asn'][0]
|
||||
self.assertIsInstance(validator, CustomValidator)
|
||||
|
||||
@override_settings(CUSTOM_VALIDATORS={'ipam.asn': [min_validator]})
|
||||
def test_min(self):
|
||||
with self.assertRaises(ValidationError):
|
||||
ASN(asn=1, rir=RIR.objects.first()).clean()
|
||||
|
||||
@override_settings(CUSTOM_VALIDATORS={'ipam.asn': [max_validator]})
|
||||
def test_max(self):
|
||||
with self.assertRaises(ValidationError):
|
||||
ASN(asn=65535, rir=RIR.objects.first()).clean()
|
||||
|
||||
@override_settings(CUSTOM_VALIDATORS={'dcim.site': [min_length_validator]})
|
||||
def test_min_length(self):
|
||||
with self.assertRaises(ValidationError):
|
||||
|
@ -5,8 +5,6 @@ from django.test import TestCase
|
||||
from mptt.fields import TreeForeignKey
|
||||
from taggit.managers import TaggableManager
|
||||
|
||||
from circuits.filtersets import CircuitFilterSet, ProviderFilterSet
|
||||
from circuits.models import Circuit, Provider
|
||||
from dcim.choices import *
|
||||
from dcim.fields import MACAddressField
|
||||
from dcim.filtersets import DeviceFilterSet, SiteFilterSet
|
||||
@ -15,6 +13,7 @@ from dcim.models import (
|
||||
)
|
||||
from extras.filters import TagFilter
|
||||
from extras.models import TaggedItem
|
||||
from ipam.filtersets import ASNFilterSet
|
||||
from ipam.models import RIR, ASN
|
||||
from netbox.filtersets import BaseFilterSet
|
||||
from utilities.filters import (
|
||||
@ -338,13 +337,14 @@ class DynamicFilterLookupExpressionTest(TestCase):
|
||||
"""
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
rir = RIR.objects.create(name='RIR 1', slug='rir-1')
|
||||
|
||||
providers = (
|
||||
Provider(name='Provider 1', slug='provider-1'),
|
||||
Provider(name='Provider 2', slug='provider-2'),
|
||||
Provider(name='Provider 3', slug='provider-3'),
|
||||
asns = (
|
||||
ASN(asn=65001, rir=rir),
|
||||
ASN(asn=65101, rir=rir),
|
||||
ASN(asn=65201, rir=rir),
|
||||
)
|
||||
Provider.objects.bulk_create(providers)
|
||||
ASN.objects.bulk_create(asns)
|
||||
|
||||
manufacturers = (
|
||||
Manufacturer(name='Manufacturer 1', slug='manufacturer-1'),
|
||||
@ -389,15 +389,6 @@ class DynamicFilterLookupExpressionTest(TestCase):
|
||||
)
|
||||
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])
|
||||
@ -454,6 +445,22 @@ class DynamicFilterLookupExpressionTest(TestCase):
|
||||
params = {'slug__niew': ['-1']}
|
||||
self.assertEqual(SiteFilterSet(params, Site.objects.all()).qs.count(), 2)
|
||||
|
||||
def test_provider_asn_lt(self):
|
||||
params = {'asn__lt': [65101]}
|
||||
self.assertEqual(ASNFilterSet(params, ASN.objects.all()).qs.count(), 1)
|
||||
|
||||
def test_provider_asn_lte(self):
|
||||
params = {'asn__lte': [65101]}
|
||||
self.assertEqual(ASNFilterSet(params, ASN.objects.all()).qs.count(), 2)
|
||||
|
||||
def test_provider_asn_gt(self):
|
||||
params = {'asn__lt': [65101]}
|
||||
self.assertEqual(ASNFilterSet(params, ASN.objects.all()).qs.count(), 1)
|
||||
|
||||
def test_provider_asn_gte(self):
|
||||
params = {'asn__gte': [65101]}
|
||||
self.assertEqual(ASNFilterSet(params, ASN.objects.all()).qs.count(), 2)
|
||||
|
||||
def test_site_region_negation(self):
|
||||
params = {'region__n': ['region-1']}
|
||||
self.assertEqual(SiteFilterSet(params, Site.objects.all()).qs.count(), 2)
|
||||
|
Loading…
Reference in New Issue
Block a user