Example #1
0
 def test_top_level(self):
     api = API()
     api.register(NoteResource())
     api.register(UserResource())
     request = HttpRequest()
     
     resp = api.top_level(request)
     self.assertEqual(resp.status_code, 200)
     self.assertEqual(resp.content, '{"notes": {"list_endpoint": "/api/v1/notes/", "schema": "/api/v1/notes/schema/"}, "users": {"list_endpoint": "/api/v1/users/", "schema": "/api/v1/users/schema/"}}')
Example #2
0
 def test_top_level_jsonp(self):
     api = API()
     api.register(NoteResource)
     api.register(UserResource)
     request = HttpRequest()
     request.META = {'HTTP_ACCEPT': 'text/javascript'}
     request.GET = {'callback': 'foo'}
     
     resp = api.top_level(request)
     self.assertEqual(resp.status_code, 200)
     self.assertEqual(resp['content-type'].split(';')[0], 'text/javascript')
     self.assertEqual(resp.content, 'foo({"notes": {"list_endpoint": "/api/v1/notes/", "schema": "/api/v1/notes/schema/"}, "users": {"list_endpoint": "/api/v1/users/", "schema": "/api/v1/users/schema/"}})')
Example #3
0
 def test_canonical_resource_for(self):
     api = API()
     note_resource = NoteResource
     user_resource = UserResource
     api.register(note_resource)
     api.register(user_resource)
     self.assertEqual(len(api._canonicals), 2)
     
     self.assertEqual(isinstance(api.canonical_resource_for('notes'), NoteResource), True)
     
     api_2 = API()
     api.unregister(user_resource._meta.resource_name)
     self.assertRaises(NotRegistered, api.canonical_resource_for, 'users')
Example #4
0
 def test_global_registry(self):
     api = API()
     self.assertEqual(len(api._registry), 0)
     
     api.register(NoteResource)
     self.assertEqual(len(api._registry), 1)
     self.assertEqual(sorted(api._registry.keys()), ['notes'])
     
     api.register(UserResource)
     self.assertEqual(len(api._registry), 2)
     self.assertEqual(sorted(api._registry.keys()), ['notes', 'users'])
     
     api.register(UserResource)
     self.assertEqual(len(api._registry), 2)
     self.assertEqual(sorted(api._registry.keys()), ['notes', 'users'])
     
     self.assertEqual(len(api._canonicals), 2)
     api.register(UserResource, canonical=False)
     self.assertEqual(len(api._registry), 2)
     self.assertEqual(sorted(api._registry.keys()), ['notes', 'users'])
     self.assertEqual(len(api._canonicals), 2)
Example #5
0
 def test_urls(self):
     api = API()
     api.register(NoteResource)
     api.register(UserResource)
     
     patterns = api.urls
     self.assertEqual(len(patterns), 3)
     self.assertEqual(sorted([pattern.name for pattern in patterns if hasattr(pattern, 'name')]), ['api_v1_top_level'])
     self.assertEqual([[pattern.name for pattern in include.url_patterns if hasattr(pattern, 'name')] for include in patterns if hasattr(include, 'reverse_dict')], [['api_dispatch_list', 'api_get_schema', 'api_get_multiple', 'api_dispatch_detail'], ['api_dispatch_list', 'api_get_schema', 'api_get_multiple', 'api_dispatch_detail']])
     
     api = API('v2')
     api.register(NoteResource)
     api.register(UserResource)
     
     patterns = api.urls
     self.assertEqual(len(patterns), 3)
     self.assertEqual(sorted([pattern.name for pattern in patterns if hasattr(pattern, 'name')]), ['api_v2_top_level'])
     self.assertEqual([[pattern.name for pattern in include.url_patterns if hasattr(pattern, 'name')] for include in patterns if hasattr(include, 'reverse_dict')], [['api_dispatch_list', 'api_get_schema', 'api_get_multiple', 'api_dispatch_detail'], ['api_dispatch_list', 'api_get_schema', 'api_get_multiple', 'api_dispatch_detail']])