Guest User

Untitled

a guest
Feb 7th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. class ViewSetTest(TestCase):
  2. def test_view_set(self):
  3. factory = APIRequestFactory()
  4. view = CatViewSet.as_view()
  5. cat = Cat(name="bob")
  6. cat.save()
  7.  
  8. request = factory.get(reverse('cat-detail', args=(cat.pk,)))
  9. response = view(request)
  10.  
  11. AttributeError: 'NoneType' object has no attributes 'items'
  12.  
  13. def test_client_view(self):
  14. response = APIClient().get(reverse('cat-detail', args=(cat.pk,)))
  15. self.assertEqual(response.status_code, 200)
  16.  
  17. def test_view_set(self):
  18. request = APIRequestFactory().get("")
  19. cat_detail = CatViewSet.as_view({'get': 'retrieve'})
  20. cat = Cat.objects.create(name="bob")
  21. response = cat_detail(request, pk=cat.pk)
  22. self.assertEqual(response.status_code, 200)
  23.  
  24. {
  25. 'get': 'retrieve',
  26. 'put': 'update',
  27. 'patch': 'partial_update',
  28. 'delete': 'destroy'
  29. }
  30.  
  31. class ViewSetTest(TestCase):
  32. def test_view_set(self):
  33. factory = APIRequestFactory()
  34. view = CatViewSet.as_view(actions={'get': 'retrieve'}) # <-- Changed line
  35. cat = Cat(name="bob")
  36. cat.save()
  37.  
  38. request = factory.get(reverse('cat-detail', args=(cat.pk,)))
  39. response = view(request)
  40.  
  41. from django.core.urlresolvers import reverse, resolve
  42. ...
  43. url = reverse('cat-list')
  44. req = factory.get(url)
  45. view = resolve(url).func
  46. response = view(req)
  47. response.render()
  48.  
  49. response = view(request)
  50.  
  51. from django.test import TestCase
  52. from rest_framework.test import APIRequestFactory
  53. from django.db.models.query import QuerySet
  54. from rest_framework.test import force_authenticate
  55. from django.contrib.auth.models import User
  56.  
  57. from config_app.models import Config
  58. from config_app.apps import ConfigAppConfig
  59. from config_app.views import ConfigViewSet
  60.  
  61. class ViewsTestCase(TestCase):
  62. def setUp(self):
  63. # Create a test instance
  64. self.config = Config.objects.create(
  65. ads='{"frequency": 1, "site_id": 1, "network_id": 1}',
  66. keys={}, methods={}, sections=[], web_app='{"image": 1, "label": 1, "url": 1}',
  67. subscriptions=[], name='test name', build='test build', version='1.0test', device='desktop',
  68. platform='android', client_id=None)
  69.  
  70. # Create auth user for views using api request factory
  71. self.username = 'config_tester'
  72. self.password = 'goldenstandard'
  73. self.user = User.objects.create_superuser(self.username, 'test@example.com', self.password)
  74.  
  75. def tearDown(self):
  76. pass
  77.  
  78. @classmethod
  79. def setup_class(cls):
  80. """setup_class() before any methods in this class"""
  81. pass
  82.  
  83. @classmethod
  84. def teardown_class(cls):
  85. """teardown_class() after any methods in this class"""
  86. pass
  87.  
  88. def shortDescription(self):
  89. return None
  90.  
  91.  
  92. def test_view_set1(self):
  93. """
  94. No auth example
  95. """
  96. api_request = APIRequestFactory().get("")
  97. detail_view = ConfigViewSet.as_view({'get': 'retrieve'})
  98. response = detail_view(api_request, pk=self.config.pk)
  99. self.assertEqual(response.status_code, 401)
  100.  
  101. def test_view_set2(self):
  102. """
  103. Auth using force_authenticate
  104. """
  105. factory = APIRequestFactory()
  106. user = User.objects.get(username=self.username)
  107. detail_view = ConfigViewSet.as_view({'get': 'retrieve'})
  108.  
  109. # Make an authenticated request to the view...
  110. api_request = factory.get('')
  111. force_authenticate(api_request, user=user)
  112. response = detail_view(api_request, pk=self.config.pk)
  113. self.assertEqual(response.status_code, 200)
Add Comment
Please, Sign In to add comment