From a42afa04c38afe25c9032b8ce37b572678b02cf1 Mon Sep 17 00:00:00 2001 From: Nikolaus Schlemm Date: Sat, 18 May 2013 17:13:23 +0200 Subject: [PATCH] draft for fields' metadata via OPTIONS - needs review and decision --- rest_framework/tests/generics.py | 42 ++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/rest_framework/tests/generics.py b/rest_framework/tests/generics.py index 15d87e866..014195ae7 100644 --- a/rest_framework/tests/generics.py +++ b/rest_framework/tests/generics.py @@ -121,8 +121,27 @@ class TestRootView(TestCase): 'text/html' ], 'name': 'Root', - 'description': 'Example description for OPTIONS.' + 'description': 'Example description for OPTIONS.', + 'actions': {} } + # TODO: this is just a draft for fields' metadata - needs review and decision + for method in ('HEAD', 'GET', 'POST', 'OPTIONS'): + expected['actions'][method] = { + 'text': { + 'description': '', + 'label': '', + 'readonly': False, + 'required': True, + 'type': 'CharField', + }, + 'id': { + 'description': '', + 'label': '', + 'readonly': True, + 'required': True, + 'type': 'IntegerField', + }, + } self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data, expected) @@ -238,8 +257,27 @@ class TestInstanceView(TestCase): 'text/html' ], 'name': 'Instance', - 'description': 'Example description for OPTIONS.' + 'description': 'Example description for OPTIONS.', + 'actions': {} } + # TODO: this is just a draft idea for fields' metadata - needs review and decision + for method in ('HEAD', 'GET', 'PATCH', 'PUT', 'OPTIONS', 'DELETE'): + expected['actions'][method] = { + 'text': { + 'description': '', + 'label': '', + 'readonly': False, + 'required': True, + 'type': 'CharField', + }, + 'id': { + 'description': '', + 'label': '', + 'readonly': True, + 'required': True, + 'type': 'IntegerField', + }, + } self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data, expected)