Advertisement
Guest User

Untitled

a guest
Jul 4th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.96 KB | None | 0 0
  1. class Entity(TimestampModerated):
  2. name = models.CharField(max_length=255)
  3. slug = models.SlugField(unique=True)
  4. description = models.TextField(verbose_name='description of entity', blank=True)
  5. media = models.URLField(verbose_name='media representing entity (image, mp3, mpg, etc)',
  6. blank=True, null=True)
  7. uuid = models.UUIDField(db_index=True,
  8. default=uuid_lib.uuid4(),
  9. editable=False,
  10. )
  11. owner = models.ForeignKey('auth.User', related_name='entities', on_delete=models.CASCADE)
  12. tags = TaggableManager(blank=True)
  13.  
  14. def get_absolute_url(self):
  15. return reverse('entities:detail', kwargs={'slug': self.slug})
  16.  
  17. def __str__(self):
  18. return self.name
  19.  
  20. class Meta:
  21. verbose_name_plural = "entities"
  22.  
  23. class EntityViewSet(viewsets.ModelViewSet):
  24. """
  25. This viewsetomatically provides `list`, `create`, `retrieve`,
  26. `update` and `destroy` actions.
  27.  
  28. Additionally we also provide an extra `highlight` action.
  29. """
  30. queryset = Entity.objects.all()
  31. serializer_class = EntitySerializer
  32. permission_classes = (permissions.IsAuthenticatedOrReadOnly,
  33. IsOwnerOrReadOnly,)
  34. lookup_field = 'slug'
  35.  
  36. def perform_create(self, serializer):
  37. serializer.save(owner=self.request.user)
  38.  
  39. router = DefaultRouter()
  40. router.register(r'entities', views.EntityViewSet)
  41. router.register(r'users', views.UserViewSet)
  42.  
  43. urlpatterns = [
  44. url(r'^', include(router.urls)),
  45. ]
  46.  
  47. class EntitiesAPITests(test.APITestCase):
  48. def setUp(self):
  49. test_user = models.User.objects.create(username='testuser', password='password')
  50.  
  51. def test_login_post(self):
  52. client = APIClient()
  53. client.login(username='testuser', password='password')
  54. response = client.post('/api/entities/', data={
  55. 'name': 'Sean Penn',
  56. 'slug': 'sean-penn'
  57. })
  58. self.assertContains(response, 200)
  59. client.logout()
  60.  
  61. ======================================================================
  62. FAIL: test_login_post (entities.tests.test_api.EntitiesAPITests)
  63. ----------------------------------------------------------------------
  64. Traceback (most recent call last):
  65. File "/Users/xxx/xxx/entities/tests/test_api.py", line 63, in test_login_post
  66. self.assertContains(response, 200)
  67. File "/Users/xxx/xxx/.virtualenv/lib/python3.6/site-packages/django/test/testcases.py", line 385, in assertContains
  68. response, text, status_code, msg_prefix, html)
  69. File "/Users/xxx/xxx/.virtualenv/lib/python3.6/site-packages/django/test/testcases.py", line 357, in _assert_contains
  70. " (expected %d)" % (response.status_code, status_code)
  71. AssertionError: 400 != 200 : Couldn't retrieve content: Response code was 400 (expected 200)
  72.  
  73. ----------------------------------------------------------------------
  74. Ran 10 tests in 0.280s
  75.  
  76. FAILED (failures=1)
  77. Destroying test database for alias 'default'...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement