Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ViewSetTest(TestCase):
- def test_view_set(self):
- factory = APIRequestFactory()
- view = CatViewSet.as_view()
- cat = Cat(name="bob")
- cat.save()
- request = factory.get(reverse('cat-detail', args=(cat.pk,)))
- response = view(request)
- AttributeError: 'NoneType' object has no attributes 'items'
- def test_client_view(self):
- response = APIClient().get(reverse('cat-detail', args=(cat.pk,)))
- self.assertEqual(response.status_code, 200)
- def test_view_set(self):
- request = APIRequestFactory().get("")
- cat_detail = CatViewSet.as_view({'get': 'retrieve'})
- cat = Cat.objects.create(name="bob")
- response = cat_detail(request, pk=cat.pk)
- self.assertEqual(response.status_code, 200)
- {
- 'get': 'retrieve',
- 'put': 'update',
- 'patch': 'partial_update',
- 'delete': 'destroy'
- }
- class ViewSetTest(TestCase):
- def test_view_set(self):
- factory = APIRequestFactory()
- view = CatViewSet.as_view(actions={'get': 'retrieve'}) # <-- Changed line
- cat = Cat(name="bob")
- cat.save()
- request = factory.get(reverse('cat-detail', args=(cat.pk,)))
- response = view(request)
- from django.core.urlresolvers import reverse, resolve
- ...
- url = reverse('cat-list')
- req = factory.get(url)
- view = resolve(url).func
- response = view(req)
- response.render()
- response = view(request)
- from django.test import TestCase
- from rest_framework.test import APIRequestFactory
- from django.db.models.query import QuerySet
- from rest_framework.test import force_authenticate
- from django.contrib.auth.models import User
- from config_app.models import Config
- from config_app.apps import ConfigAppConfig
- from config_app.views import ConfigViewSet
- class ViewsTestCase(TestCase):
- def setUp(self):
- # Create a test instance
- self.config = Config.objects.create(
- ads='{"frequency": 1, "site_id": 1, "network_id": 1}',
- keys={}, methods={}, sections=[], web_app='{"image": 1, "label": 1, "url": 1}',
- subscriptions=[], name='test name', build='test build', version='1.0test', device='desktop',
- platform='android', client_id=None)
- # Create auth user for views using api request factory
- self.username = 'config_tester'
- self.password = 'goldenstandard'
- self.user = User.objects.create_superuser(self.username, 'test@example.com', self.password)
- def tearDown(self):
- pass
- @classmethod
- def setup_class(cls):
- """setup_class() before any methods in this class"""
- pass
- @classmethod
- def teardown_class(cls):
- """teardown_class() after any methods in this class"""
- pass
- def shortDescription(self):
- return None
- def test_view_set1(self):
- """
- No auth example
- """
- api_request = APIRequestFactory().get("")
- detail_view = ConfigViewSet.as_view({'get': 'retrieve'})
- response = detail_view(api_request, pk=self.config.pk)
- self.assertEqual(response.status_code, 401)
- def test_view_set2(self):
- """
- Auth using force_authenticate
- """
- factory = APIRequestFactory()
- user = User.objects.get(username=self.username)
- detail_view = ConfigViewSet.as_view({'get': 'retrieve'})
- # Make an authenticated request to the view...
- api_request = factory.get('')
- force_authenticate(api_request, user=user)
- response = detail_view(api_request, pk=self.config.pk)
- self.assertEqual(response.status_code, 200)
Add Comment
Please, Sign In to add comment