Clean up filterset tests

This commit is contained in:
Jeremy Stretch
2025-10-03 10:23:00 -04:00
parent a54c508da2
commit ac335c3d87
3 changed files with 23 additions and 7 deletions
+1 -1
View File
@@ -46,7 +46,7 @@ DEFAULT_PERMISSIONS = {}
ALLOW_TOKEN_RETRIEVAL = True
API_TOKEN_PEPPERS = {
0: 'TEST-VALUE-DO-NOT-USE',
1: 'TEST-VALUE-DO-NOT-USE',
}
LOGGING = {
+13 -1
View File
@@ -130,15 +130,27 @@ class TokenFilterSet(BaseFilterSet):
field_name='expires',
lookup_expr='lte'
)
last_used = django_filters.DateTimeFilter()
last_used__gte = django_filters.DateTimeFilter(
field_name='last_used',
lookup_expr='gte'
)
last_used__lte = django_filters.DateTimeFilter(
field_name='last_used',
lookup_expr='lte'
)
class Meta:
model = Token
fields = ('id', 'version', 'key', 'pepper_id', 'write_enabled', 'description', 'last_used')
fields = (
'id', 'version', 'key', 'pepper_id', 'write_enabled', 'description', 'created', 'expires', 'last_used',
)
def search(self, queryset, name, value):
if not value.strip():
return queryset
return queryset.filter(
Q(key=value) |
Q(user__username__icontains=value) |
Q(description__icontains=value)
)
+9 -5
View File
@@ -315,6 +315,15 @@ class TokenTestCase(TestCase, BaseFilterSetTests):
params = {'version': 2}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_key(self):
tokens = Token.objects.filter(version=2)
params = {'key': [tokens[0].key, tokens[1].key]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_pepper_id(self):
params = {'pepper_id': [1]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_user(self):
users = User.objects.order_by('id')[:2]
params = {'user_id': [users[0].pk, users[1].pk]}
@@ -330,11 +339,6 @@ class TokenTestCase(TestCase, BaseFilterSetTests):
params = {'expires__lte': '2021-01-01T00:00:00'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
def test_key(self):
tokens = Token.objects.filter(version=2)
params = {'key': [tokens[0].key, tokens[1].key]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_write_enabled(self):
params = {'write_enabled': True}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)