Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Entity(TimestampModerated):
- name = models.CharField(max_length=255)
- slug = models.SlugField(unique=True)
- description = models.TextField(verbose_name='description of entity', blank=True)
- media = models.URLField(verbose_name='media representing entity (image, mp3, mpg, etc)',
- blank=True, null=True)
- uuid = models.UUIDField(db_index=True,
- default=uuid_lib.uuid4(),
- editable=False,
- )
- owner = models.ForeignKey('auth.User', related_name='entities', on_delete=models.CASCADE)
- tags = TaggableManager(blank=True)
- def get_absolute_url(self):
- return reverse('entities:detail', kwargs={'slug': self.slug})
- def __str__(self):
- return self.name
- class Meta:
- verbose_name_plural = "entities"
- class EntityViewSet(viewsets.ModelViewSet):
- """
- This viewsetomatically provides `list`, `create`, `retrieve`,
- `update` and `destroy` actions.
- Additionally we also provide an extra `highlight` action.
- """
- queryset = Entity.objects.all()
- serializer_class = EntitySerializer
- permission_classes = (permissions.IsAuthenticatedOrReadOnly,
- IsOwnerOrReadOnly,)
- lookup_field = 'slug'
- def perform_create(self, serializer):
- serializer.save(owner=self.request.user)
- router = DefaultRouter()
- router.register(r'entities', views.EntityViewSet)
- router.register(r'users', views.UserViewSet)
- urlpatterns = [
- url(r'^', include(router.urls)),
- ]
- class EntitiesAPITests(test.APITestCase):
- def setUp(self):
- test_user = models.User.objects.create(username='testuser', password='password')
- def test_login_post(self):
- client = APIClient()
- client.login(username='testuser', password='password')
- response = client.post('/api/entities/', data={
- 'name': 'Sean Penn',
- 'slug': 'sean-penn'
- })
- self.assertContains(response, 200)
- client.logout()
- ======================================================================
- FAIL: test_login_post (entities.tests.test_api.EntitiesAPITests)
- ----------------------------------------------------------------------
- Traceback (most recent call last):
- File "/Users/xxx/xxx/entities/tests/test_api.py", line 63, in test_login_post
- self.assertContains(response, 200)
- File "/Users/xxx/xxx/.virtualenv/lib/python3.6/site-packages/django/test/testcases.py", line 385, in assertContains
- response, text, status_code, msg_prefix, html)
- File "/Users/xxx/xxx/.virtualenv/lib/python3.6/site-packages/django/test/testcases.py", line 357, in _assert_contains
- " (expected %d)" % (response.status_code, status_code)
- AssertionError: 400 != 200 : Couldn't retrieve content: Response code was 400 (expected 200)
- ----------------------------------------------------------------------
- Ran 10 tests in 0.280s
- FAILED (failures=1)
- Destroying test database for alias 'default'...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement