mirror of
https://github.com/netbox-community/netbox.git
synced 2026-03-28 04:12:10 +01:00
Test for missing ManyToManyField filters
This commit is contained in:
@@ -158,13 +158,17 @@ class IKEPolicyFilterSet(NetBoxModelFilterSet):
|
||||
mode = django_filters.MultipleChoiceFilter(
|
||||
choices=IKEModeChoices
|
||||
)
|
||||
proposal_id = MultiValueNumberFilter(
|
||||
ike_proposal_id = MultiValueNumberFilter(
|
||||
field_name='proposals__id'
|
||||
)
|
||||
proposal = MultiValueCharFilter(
|
||||
ike_proposal = MultiValueCharFilter(
|
||||
field_name='proposals__name'
|
||||
)
|
||||
|
||||
# TODO: Remove in v4.1
|
||||
proposal = ike_proposal
|
||||
proposal_id = ike_proposal_id
|
||||
|
||||
class Meta:
|
||||
model = IKEPolicy
|
||||
fields = ['id', 'name', 'preshared_key', 'description']
|
||||
@@ -205,13 +209,17 @@ class IPSecPolicyFilterSet(NetBoxModelFilterSet):
|
||||
pfs_group = django_filters.MultipleChoiceFilter(
|
||||
choices=DHGroupChoices
|
||||
)
|
||||
proposal_id = MultiValueNumberFilter(
|
||||
ipsec_proposal_id = MultiValueNumberFilter(
|
||||
field_name='proposals__id'
|
||||
)
|
||||
proposal = MultiValueCharFilter(
|
||||
ipsec_proposal = MultiValueCharFilter(
|
||||
field_name='proposals__name'
|
||||
)
|
||||
|
||||
# TODO: Remove in v4.1
|
||||
proposal = ipsec_proposal
|
||||
proposal_id = ipsec_proposal_id
|
||||
|
||||
class Meta:
|
||||
model = IPSecPolicy
|
||||
fields = ['id', 'name', 'description']
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.test import TestCase
|
||||
|
||||
from dcim.choices import InterfaceTypeChoices
|
||||
@@ -446,11 +445,11 @@ class IKEPolicyTestCase(TestCase, ChangeLoggedFilterSetTests):
|
||||
params = {'mode': [IKEModeChoices.MAIN]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
def test_proposal(self):
|
||||
def test_ike_proposal(self):
|
||||
proposals = IKEProposal.objects.all()[:2]
|
||||
params = {'proposal_id': [proposals[0].pk, proposals[1].pk]}
|
||||
params = {'ike_proposal_id': [proposals[0].pk, proposals[1].pk]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
params = {'proposal': [proposals[0].name, proposals[1].name]}
|
||||
params = {'ike_proposal': [proposals[0].name, proposals[1].name]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
|
||||
@@ -584,11 +583,11 @@ class IPSecPolicyTestCase(TestCase, ChangeLoggedFilterSetTests):
|
||||
params = {'pfs_group': [DHGroupChoices.GROUP_1, DHGroupChoices.GROUP_2]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
def test_proposal(self):
|
||||
def test_ipsec_proposal(self):
|
||||
proposals = IPSecProposal.objects.all()[:2]
|
||||
params = {'proposal_id': [proposals[0].pk, proposals[1].pk]}
|
||||
params = {'ipsec_proposal_id': [proposals[0].pk, proposals[1].pk]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
params = {'proposal': [proposals[0].name, proposals[1].name]}
|
||||
params = {'ipsec_proposal': [proposals[0].name, proposals[1].name]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
|
||||
@@ -710,6 +709,15 @@ class L2VPNTestCase(TestCase, ChangeLoggedFilterSetTests):
|
||||
queryset = L2VPN.objects.all()
|
||||
filterset = L2VPNFilterSet
|
||||
|
||||
@staticmethod
|
||||
def get_m2m_filter_name(field):
|
||||
# Override filter names for import & export RouteTargets
|
||||
if field.name == 'import_targets':
|
||||
return 'import_target'
|
||||
if field.name == 'export_targets':
|
||||
return 'export_target'
|
||||
return super().get_m2m_filter_name(field)
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user