Exemplo n.º 1
0
 def test_get_success(self):
     """Snippet list GET must return all the viewable snippets."""
     create_snippet('foo')
     create_snippet('bar')
     response = self.get()
     self.assertEqual(response.status_code, status.HTTP_200_OK)
     self.assertEqual(len(response.data), 2)
     self.assertEqual(response.data[0]['content'], 'foo')
     self.assertEqual(response.data[1]['content'], 'bar')
Exemplo n.º 2
0
 def check_pagination(self, **kwargs):
     """Check that this view is able to handle pagination."""
     for i in range(20):
         create_snippet(i, **kwargs)
     SnippetViewSet.pagination_class = _SnippetPagination
     try:
         response = self.get()
         self.assertEqual(len(response.data['results']), 10)
     finally:
         SnippetViewSet.pagination_class = None
Exemplo n.º 3
0
 def test_get_success(self):
     """User snippet list GET must return the queried user's viewable
     snippets.
     """
     snippet = create_snippet('bar', owner=self.user)
     create_snippet('baz')
     create_snippet('test', owner=self.staff_user)
     response = self.get()
     self.assertEqual(response.status_code, status.HTTP_200_OK)
     self.assertEqual(len(response.data), 2)
     self.assertEqual(response.data[0]['id'], self.snippet.pk)
     self.assertEqual(response.data[1]['id'], snippet.pk)
Exemplo n.º 4
0
    def test_get_private(self):
        """Snippet list GET must return private snippets only to those
        authorized to view them.
        """
        owner = create_user('owner')
        create_snippet('foo', private=True, owner=owner)
        expected = [0, 0, 1, 1]

        def check(i):
            response = self.get()
            self.assertEqual(len(response.data), expected[i])

        self.check_for_users(check, owner)
Exemplo n.º 5
0
    def test_get_list_foreign(self):
        """Snippet list GET must not return snippets owned by other users if
        the LIST_FOREIGN setting is True, unless requested by a staff user.
        """
        create_snippet('foo')
        create_snippet('bar', owner=self.user)
        expected = [0, 1, 2]

        def check(i):
            response = self.get()
            self.assertEqual(len(response.data), expected[i])

        with constant('LIST_FOREIGN', False):
            self.check_for_users(check)
Exemplo n.º 6
0
 def test_language(self):
     """Snippet highlight GET must return an HTML page of the queried
     snippet's highlighted contents if its language is set.
     """
     snippet = create_snippet('print("hello")', language='python')
     response = self.get(pk=snippet.pk)
     self.check_response(response, 'print("hello")')
Exemplo n.º 7
0
 def test_title_exclude(self):
     """Snippet highlight GET must return a response not containing the
     queried snippet's title if its embed_title field is False.
     """
     snippet = create_snippet(
         'example', title='baz 43!', embed_title=False)
     response = self.get('?full', pk=snippet.pk)
     self.assertNotIn('baz 43!', _response_text(response))
Exemplo n.º 8
0
    def test_get_private(self):
        """Snippet detail GET must return the private queried snippet only to
        those authorized to view it.
        """
        owner = create_user('owner')
        snippet = create_snippet('testing', private=True, owner=owner)
        expected = [status.HTTP_404_NOT_FOUND] * 2 + [status.HTTP_200_OK] * 2

        def check(i):
            self.assert_status('get', expected[i], pk=snippet.pk)

        self.check_for_users(check, owner)
Exemplo n.º 9
0
 def request(self, method_name, **kwargs):
     """Create a dummy snippet owned by the dummy user, authenticate as the
     dummy user, then send a request to the view's URL its type being
     specified by given method name, with given kwargs, as JSON, using the
     proper content-type and return the response.
     """
     if kwargs:
         kwargs = {'data': json.dumps(kwargs)}
     snippet = create_snippet(
         'content', title='title',
         language='python', embed_title=False, owner=self.user)
     self.client.force_authenticate(self.user)
     method = getattr(self.client, method_name)
     return method(
         self.url(pk=snippet.pk),
         content_type='application/json', **kwargs)
Exemplo n.º 10
0
 def setUp(self):
     """Create and store a dummy snippet."""
     self.snippet = create_snippet('foo', owner=self.user)
Exemplo n.º 11
0
 def test_str_untitled(self):
     """An untitled snippet's string representation must include the
     localized string "Untitled" and its pk.
     """
     snippet = create_snippet('foo')
     self.assertEqual(str(snippet), f'{_("Untitled")} ({snippet.pk})')
Exemplo n.º 12
0
 def test_str_titled(self):
     """A titled snippet's string representation must include its title and
     its pk.
     """
     snippet = create_snippet('foo', title='bar')
     self.assertEqual(str(snippet), f'bar ({snippet.pk})')
Exemplo n.º 13
0
 def setUp(self):
     """Create a dummy snippet."""
     create_snippet('foobaz bar', title='baz 42!')
Exemplo n.º 14
0
 def check(j):
     snippet = create_snippet('baz', owner=owner)
     self.assert_status(method, expected[i][j], pk=snippet.pk)
     snippet.delete()