')
- self.assertContains(resp, escape(stub_content_text_data['raw_data']))
+ if mimetype.startswith('text/'):
+ self.assertContains(resp, '' %
+ content_display['language'])
+ self.assertContains(resp, escape(content_display['content_data']))
self.assertContains(resp, url_raw)
swh_cnt_id = get_swh_persistent_id('content', sha1_git)
swh_cnt_id_url = reverse('browse-swh-id',
url_args={'swh_id': swh_cnt_id})
self.assertContains(resp, swh_cnt_id)
self.assertContains(resp, swh_cnt_id_url)
- @patch('swh.web.browse.views.content.request_content')
- def test_content_view_text_no_highlight(self, mock_request_content):
- mock_request_content.return_value = stub_content_text_no_highlight_data
+ @given(content_text_no_highlight())
+ def test_content_view_text_no_highlight(self, content):
- sha1_git = stub_content_text_no_highlight_data['checksums']['sha1_git']
+ sha1_git = content['sha1_git']
url = reverse('browse-content',
- url_args={'query_string': stub_content_text_no_highlight_data['checksums']['sha1']}) # noqa
+ url_args={'query_string': content['sha1']})
url_raw = reverse('browse-content-raw',
- url_args={'query_string': stub_content_text_no_highlight_data['checksums']['sha1']}) # noqa
+ url_args={'query_string': content['sha1']})
resp = self.client.get(url)
+ content_display = self._process_content_for_display(content)
+
self.assertEqual(resp.status_code, 200)
self.assertTemplateUsed('browse/content.html')
self.assertContains(resp, '')
- self.assertContains(resp, escape(stub_content_text_no_highlight_data['raw_data'])) # noqa
+ self.assertContains(resp, escape(content_display['content_data'])) # noqa
self.assertContains(resp, url_raw)
swh_cnt_id = get_swh_persistent_id('content', sha1_git)
swh_cnt_id_url = reverse('browse-swh-id',
url_args={'swh_id': swh_cnt_id})
self.assertContains(resp, swh_cnt_id)
self.assertContains(resp, swh_cnt_id_url)
- @patch('swh.web.browse.utils.service')
- def test_content_view_no_utf8_text(self, mock_service):
- mock_service.lookup_content.return_value = \
- non_utf8_encoded_content_data
+ @given(content_text_non_utf8())
+ def test_content_view_no_utf8_text(self, content):
- mock_service.lookup_content_raw.return_value = \
- {'data': non_utf8_encoded_content}
+ sha1_git = content['sha1_git']
- mock_service.lookup_content_filetype.return_value = None
- mock_service.lookup_content_language.return_value = None
- mock_service.lookup_content_license.return_value = None
+ url = reverse('browse-content',
+ url_args={'query_string': content['sha1']})
- sha1_git = non_utf8_encoded_content_data['checksums']['sha1_git']
+ resp = self.client.get(url)
- url = reverse('browse-content',
- url_args={'query_string': non_utf8_encoded_content_data['checksums']['sha1']}) # noqa
-
- try:
- resp = self.client.get(url)
- self.assertEqual(resp.status_code, 200)
- self.assertTemplateUsed('browse/content.html')
- swh_cnt_id = get_swh_persistent_id('content', sha1_git)
- swh_cnt_id_url = reverse('browse-swh-id',
- url_args={'swh_id': swh_cnt_id})
- self.assertContains(resp, swh_cnt_id_url)
- self.assertContains(resp, escape(non_utf8_encoded_content.decode(non_utf8_encoding).encode('utf-8'))) # noqa
- except DjangoUnicodeDecodeError:
- self.fail('Textual content is not encoded in utf-8')
+ content_display = self._process_content_for_display(content)
- @patch('swh.web.browse.views.content.request_content')
- def test_content_view_image(self, mock_request_content):
+ self.assertEqual(resp.status_code, 200)
+ self.assertTemplateUsed('browse/content.html')
+ swh_cnt_id = get_swh_persistent_id('content', sha1_git)
+ swh_cnt_id_url = reverse('browse-swh-id',
+ url_args={'swh_id': swh_cnt_id})
+ self.assertContains(resp, swh_cnt_id_url)
+ self.assertContains(resp, escape(content_display['content_data']))
- mime_type = 'image/png'
- mock_request_content.return_value = stub_content_bin_data
+ @given(content_image_type())
+ def test_content_view_image(self, content):
url = reverse('browse-content',
- url_args={'query_string': stub_content_bin_data['checksums']['sha1']}) # noqa
+ url_args={'query_string': content['sha1']})
url_raw = reverse('browse-content-raw',
- url_args={'query_string': stub_content_bin_data['checksums']['sha1']}) # noqa
+ url_args={'query_string': content['sha1']})
resp = self.client.get(url)
+ content_display = self._process_content_for_display(content)
+ mimetype = content_display['mimetype']
+ content_data = content_display['content_data']
+
self.assertEqual(resp.status_code, 200)
self.assertTemplateUsed('browse/content.html')
- png_encoded = base64.b64encode(stub_content_bin_data['raw_data']) \
- .decode('utf-8')
-
self.assertContains(resp, '
'
- % (mime_type, png_encoded))
+ % (mimetype, content_data.decode('utf-8')))
self.assertContains(resp, url_raw)
- @patch('swh.web.browse.views.content.request_content')
- def test_content_view_with_path(self, mock_request_content):
- mock_request_content.return_value = stub_content_text_data
+ @given(content())
+ def test_content_view_with_path(self, content):
+
+ path = content['path']
url = reverse('browse-content',
- url_args={'query_string': stub_content_text_data['checksums']['sha1']}, # noqa
- query_params={'path': stub_content_text_path_with_root_dir}) # noqa
+ url_args={'query_string': content['sha1']},
+ query_params={'path': path})
resp = self.client.get(url)
self.assertEqual(resp.status_code, 200)
self.assertTemplateUsed('browse/content.html')
self.assertContains(resp, '