Skip to content

Commit 607978b

Browse files
committed
add tests for dict value filters
Signed-off-by: Drew Shafer <[email protected]>
1 parent 390f524 commit 607978b

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

tests/tests.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,19 @@ def test_simplest_endpoint(self):
2828
"/simple", consumer=self.consumer, expected_status_code=HTTPStatus.OK
2929
)
3030

31+
def test_dict_endpoint(self):
32+
resp = self.client.get(
33+
"/dict", consumer=self.consumer, expected_status_code=HTTPStatus.OK
34+
)
35+
data = resp.json()
36+
self.assertEqual(data,
37+
{'test': {
38+
'pk': 1,
39+
'int_field': 1,
40+
'__expandable__': ['expandable_dict', 'expandable_string']
41+
}
42+
})
43+
3144
def test_typed_parameter(self):
3245
response = self.client.get(
3346
"/simple?int_type_field=not_an_int",

tests/urls.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,7 @@
1313

1414
UUID4_REGEX = r"[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}"
1515

16-
urlpatterns = [url(r"^simple", resource_adapter(get=views.SimpleEndpointDefinition))]
16+
urlpatterns = [
17+
url(r"^simple", resource_adapter(get=views.SimpleEndpointDefinition)),
18+
url(r"^dict", resource_adapter(get=views.DictEndpointDefinition)),
19+
]

tests/views.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,14 @@ def execution_decider(self):
3434
@staticmethod
3535
def deferred_task(inst):
3636
cache.set("deferred_task_called", True)
37+
38+
39+
class DictEndpointDefinition(EndpointDefinition):
40+
def is_authorized(self):
41+
return True
42+
43+
@endpoint_resource(type=TestModel)
44+
def resource(self):
45+
return {
46+
'test': TestModel.objects.create(int_field=1)
47+
}

0 commit comments

Comments
 (0)