Fix remaining tests

This commit is contained in:
Jeremy Stretch 2024-03-06 08:33:58 -05:00
parent 16b422cbac
commit 5cb7af88d4
6 changed files with 26 additions and 6 deletions

View File

@ -1004,6 +1004,11 @@ class DeviceFilterSet(
queryset=Rack.objects.all(),
label=_('Rack (ID)'),
)
parent_bay_id = django_filters.ModelMultipleChoiceFilter(
field_name='parent_bay',
queryset=DeviceBay.objects.all(),
label=_('Parent bay (ID)'),
)
cluster_id = django_filters.ModelMultipleChoiceFilter(
queryset=Cluster.objects.all(),
label=_('VM cluster (ID)'),
@ -1695,6 +1700,11 @@ class RearPortFilterSet(
class ModuleBayFilterSet(DeviceComponentFilterSet, NetBoxModelFilterSet):
installed_module_id = django_filters.ModelMultipleChoiceFilter(
field_name='installed_module',
queryset=ModuleBay.objects.all(),
label=_('Installed module (ID)'),
)
class Meta:
model = ModuleBay

View File

@ -1884,7 +1884,7 @@ class PlatformTestCase(TestCase, ChangeLoggedFilterSetTests):
class DeviceTestCase(TestCase, ChangeLoggedFilterSetTests):
queryset = Device.objects.all()
filterset = DeviceFilterSet
ignore_fields = ('primary_ip4', 'primary_ip6', 'oob_ip', 'local_context_data')
ignore_fields = ('local_context_data', 'oob_ip', 'primary_ip4', 'primary_ip6', 'vc_master_for')
@classmethod
def setUpTestData(cls):

View File

@ -849,7 +849,7 @@ class VLANGroupFilterSet(OrganizationalModelFilterSet):
region = django_filters.NumberFilter(
method='filter_scope'
)
sitegroup = django_filters.NumberFilter(
site_group = django_filters.NumberFilter(
method='filter_scope'
)
site = django_filters.NumberFilter(
@ -861,13 +861,17 @@ class VLANGroupFilterSet(OrganizationalModelFilterSet):
rack = django_filters.NumberFilter(
method='filter_scope'
)
clustergroup = django_filters.NumberFilter(
cluster_group = django_filters.NumberFilter(
method='filter_scope'
)
cluster = django_filters.NumberFilter(
method='filter_scope'
)
# TODO: Remove in v4.1
sitegroup = site_group
clustergroup = cluster_group
class Meta:
model = VLANGroup
fields = ['id', 'name', 'slug', 'min_vid', 'max_vid', 'description', 'scope_id']
@ -882,8 +886,9 @@ class VLANGroupFilterSet(OrganizationalModelFilterSet):
return queryset.filter(qs_filter)
def filter_scope(self, queryset, name, value):
model_name = name.replace('_', '')
return queryset.filter(
scope_type=ContentType.objects.get(model=name),
scope_type=ContentType.objects.get(model=model_name),
scope_id=value
)

View File

@ -922,6 +922,7 @@ class IPRangeTestCase(TestCase, ChangeLoggedFilterSetTests):
class IPAddressTestCase(TestCase, ChangeLoggedFilterSetTests):
queryset = IPAddress.objects.all()
filterset = IPAddressFilterSet
ignore_fields = ('fhrpgroup',)
@classmethod
def setUpTestData(cls):

View File

@ -15,7 +15,7 @@ User = get_user_model()
class UserTestCase(TestCase, BaseFilterSetTests):
queryset = User.objects.all()
filterset = filtersets.UserFilterSet
ignore_fields = ('password',)
ignore_fields = ('config', 'dashboard', 'password')
@classmethod
def setUpTestData(cls):

View File

@ -106,7 +106,11 @@ class BaseFilterSetTests:
# All other fields
else:
self.assertIn(model_field.name, filterset_fields, f'No filter found for {model_field.name}!')
self.assertIn(
model_field.name,
filterset_fields,
f'No filter found for {model_field.name} ({type(model_field)})!'
)
class ChangeLoggedFilterSetTests(BaseFilterSetTests):