Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/browse/views/test_origin.py
Show All 26 Lines | |||||
class SwhBrowseOriginTest(WebTestCase): | class SwhBrowseOriginTest(WebTestCase): | ||||
@given(origin_with_multiple_visits()) | @given(origin_with_multiple_visits()) | ||||
def test_origin_visits_browse(self, origin): | def test_origin_visits_browse(self, origin): | ||||
url = reverse('browse-origin-visits', | url = reverse('browse-origin-visits', | ||||
url_args={'origin_type': origin['type'], | url_args={'origin_url': origin['url']}) | ||||
'origin_url': origin['url']}) | |||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 200) | self.assertEqual(resp.status_code, 200) | ||||
self.assertTemplateUsed('origin-visits.html') | self.assertTemplateUsed('origin-visits.html') | ||||
url = reverse('browse-origin-visits', | url = reverse('browse-origin-visits', | ||||
url_args={'origin_url': origin['url']}) | url_args={'origin_url': origin['url']}) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
Show All 12 Lines | class SwhBrowseOriginTest(WebTestCase): | ||||
def origin_content_view_helper(self, origin_info, origin_visits, | def origin_content_view_helper(self, origin_info, origin_visits, | ||||
origin_branches, origin_releases, | origin_branches, origin_releases, | ||||
root_dir_sha1, content, | root_dir_sha1, content, | ||||
visit_id=None, timestamp=None): | visit_id=None, timestamp=None): | ||||
content_path = '/'.join(content['path'].split('/')[1:]) | content_path = '/'.join(content['path'].split('/')[1:]) | ||||
url_args = {'origin_type': origin_info['type'], | url_args = {'origin_url': origin_info['url'], | ||||
'origin_url': origin_info['url'], | |||||
'path': content_path} | 'path': content_path} | ||||
if not visit_id: | if not visit_id: | ||||
visit_id = origin_visits[-1]['visit'] | visit_id = origin_visits[-1]['visit'] | ||||
query_params = {} | query_params = {} | ||||
if timestamp: | if timestamp: | ||||
▲ Show 20 Lines • Show All 93 Lines • ▼ Show 20 Lines | def origin_content_view_helper(self, origin_info, origin_visits, | ||||
for release in origin_releases: | for release in origin_releases: | ||||
query_params['release'] = release['name'] | query_params['release'] = release['name'] | ||||
root_dir_release_url = reverse('browse-origin-content', | root_dir_release_url = reverse('browse-origin-content', | ||||
url_args=url_args, | url_args=url_args, | ||||
query_params=query_params) | query_params=query_params) | ||||
self.assertContains(resp, '<a href="%s">' % root_dir_release_url) | self.assertContains(resp, '<a href="%s">' % root_dir_release_url) | ||||
del url_args['origin_type'] | |||||
url = reverse('browse-origin-content', | url = reverse('browse-origin-content', | ||||
url_args=url_args, | url_args=url_args, | ||||
query_params=query_params) | query_params=query_params) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 200) | self.assertEqual(resp.status_code, 200) | ||||
self.assertTemplateUsed('content.html') | self.assertTemplateUsed('content.html') | ||||
▲ Show 20 Lines • Show All 365 Lines • ▼ Show 20 Lines | def test_origin_sub_directory_view(self, origin): | ||||
branches, | branches, | ||||
releases, | releases, | ||||
root_dir_sha1, | root_dir_sha1, | ||||
subdir_content, | subdir_content, | ||||
path=subdir_path, | path=subdir_path, | ||||
timestamp=visit['date']) | timestamp=visit['date']) | ||||
def origin_branches_helper(self, origin_info, origin_snapshot): | def origin_branches_helper(self, origin_info, origin_snapshot): | ||||
url_args = {'origin_type': origin_info['type'], | url_args = {'origin_url': origin_info['url']} | ||||
'origin_url': origin_info['url']} | |||||
url = reverse('browse-origin-branches', | url = reverse('browse-origin-branches', | ||||
url_args=url_args) | url_args=url_args) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 200) | self.assertEqual(resp.status_code, 200) | ||||
self.assertTemplateUsed('branches.html') | self.assertTemplateUsed('branches.html') | ||||
Show All 16 Lines | def origin_branches_helper(self, origin_info, origin_snapshot): | ||||
(origin_releases_url, nb_releases)) | (origin_releases_url, nb_releases)) | ||||
self.assertContains(resp, '<tr class="swh-branch-entry', | self.assertContains(resp, '<tr class="swh-branch-entry', | ||||
count=len(origin_branches)) | count=len(origin_branches)) | ||||
for branch in origin_branches: | for branch in origin_branches: | ||||
browse_branch_url = reverse( | browse_branch_url = reverse( | ||||
'browse-origin-directory', | 'browse-origin-directory', | ||||
url_args={'origin_type': origin_info['type'], | url_args={'origin_url': origin_info['url']}, | ||||
'origin_url': origin_info['url']}, | |||||
query_params={'branch': branch['name']}) | query_params={'branch': branch['name']}) | ||||
self.assertContains(resp, '<a href="%s">' % | self.assertContains(resp, '<a href="%s">' % | ||||
escape(browse_branch_url)) | escape(browse_branch_url)) | ||||
browse_revision_url = reverse( | browse_revision_url = reverse( | ||||
'browse-revision', | 'browse-revision', | ||||
url_args={'sha1_git': branch['revision']}, | url_args={'sha1_git': branch['revision']}, | ||||
query_params={'origin_type': origin_info['type'], | query_params={'origin': origin_info['url']}) | ||||
'origin': origin_info['url']}) | |||||
self.assertContains(resp, '<a href="%s">' % | self.assertContains(resp, '<a href="%s">' % | ||||
escape(browse_revision_url)) | escape(browse_revision_url)) | ||||
@given(origin()) | @given(origin()) | ||||
def test_origin_branches(self, origin): | def test_origin_branches(self, origin): | ||||
origin_visits = self.origin_visit_get(origin['url']) | origin_visits = self.origin_visit_get(origin['url']) | ||||
visit = origin_visits[-1] | visit = origin_visits[-1] | ||||
snapshot = self.snapshot_get(visit['snapshot']) | snapshot = self.snapshot_get(visit['snapshot']) | ||||
snapshot_content = process_snapshot_branches(snapshot) | snapshot_content = process_snapshot_branches(snapshot) | ||||
self.origin_branches_helper(origin, snapshot_content) | self.origin_branches_helper(origin, snapshot_content) | ||||
origin = dict(origin) | origin = dict(origin) | ||||
origin['type'] = None | origin['type'] = None | ||||
self.origin_branches_helper(origin, snapshot_content) | self.origin_branches_helper(origin, snapshot_content) | ||||
def origin_releases_helper(self, origin_info, origin_snapshot): | def origin_releases_helper(self, origin_info, origin_snapshot): | ||||
url_args = {'origin_type': origin_info['type'], | url_args = {'origin_url': origin_info['url']} | ||||
'origin_url': origin_info['url']} | |||||
url = reverse('browse-origin-releases', | url = reverse('browse-origin-releases', | ||||
url_args=url_args) | url_args=url_args) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 200) | self.assertEqual(resp.status_code, 200) | ||||
self.assertTemplateUsed('releases.html') | self.assertTemplateUsed('releases.html') | ||||
▲ Show 20 Lines • Show All 60 Lines • ▼ Show 20 Lines | def test_origin_snapshot_null_branch(self, new_origin, new_snapshot, | ||||
else: | else: | ||||
snp_dict['branches'][branch] = { | snp_dict['branches'][branch] = { | ||||
'target_type': 'revision', | 'target_type': 'revision', | ||||
'target': hash_to_bytes(revisions[i-1]), | 'target': hash_to_bytes(revisions[i-1]), | ||||
} | } | ||||
self.storage.snapshot_add([snp_dict]) | self.storage.snapshot_add([snp_dict]) | ||||
visit = self.storage.origin_visit_add( | visit = self.storage.origin_visit_add( | ||||
new_origin['url'], visit_dates[0]) | new_origin['url'], visit_dates[0], type='git') | ||||
self.storage.origin_visit_update(new_origin['url'], visit['visit'], | self.storage.origin_visit_update(new_origin['url'], visit['visit'], | ||||
status='partial', | status='partial', | ||||
snapshot=snp_dict['id']) | snapshot=snp_dict['id']) | ||||
url = reverse('browse-origin-directory', | url = reverse('browse-origin-directory', | ||||
url_args={'origin_url': new_origin['url']}) | url_args={'origin_url': new_origin['url']}) | ||||
rv = self.client.get(url) | rv = self.client.get(url) | ||||
self.assertEqual(rv.status_code, 200) | self.assertEqual(rv.status_code, 200) | ||||
Show All 11 Lines | def test_origin_snapshot_invalid_branch(self, new_origin, new_snapshot, | ||||
snp_dict['branches'][branch] = { | snp_dict['branches'][branch] = { | ||||
'target_type': 'revision', | 'target_type': 'revision', | ||||
'target': hash_to_bytes(revisions[i-1]), | 'target': hash_to_bytes(revisions[i-1]), | ||||
} | } | ||||
del snp_dict['branches'][invalid_branch] | del snp_dict['branches'][invalid_branch] | ||||
self.storage.snapshot_add([snp_dict]) | self.storage.snapshot_add([snp_dict]) | ||||
visit = self.storage.origin_visit_add( | visit = self.storage.origin_visit_add( | ||||
new_origin['url'], visit_dates[0]) | new_origin['url'], visit_dates[0], type='git') | ||||
self.storage.origin_visit_update(new_origin['url'], visit['visit'], | self.storage.origin_visit_update(new_origin['url'], visit['visit'], | ||||
status='full', | status='full', | ||||
snapshot=snp_dict['id']) | snapshot=snp_dict['id']) | ||||
url = reverse('browse-origin-directory', | url = reverse('browse-origin-directory', | ||||
url_args={'origin_url': new_origin['url']}, | url_args={'origin_url': new_origin['url']}, | ||||
query_params={'branch': invalid_branch}) | query_params={'branch': invalid_branch}) | ||||
rv = self.client.get(url) | rv = self.client.get(url) | ||||
self.assertEqual(rv.status_code, 404) | self.assertEqual(rv.status_code, 404) | ||||
@patch('swh.web.browse.views.utils.snapshot_context.request_content') | @patch('swh.web.browse.views.utils.snapshot_context.request_content') | ||||
@patch('swh.web.common.origin_visits.get_origin_visits') | @patch('swh.web.common.origin_visits.get_origin_visits') | ||||
@patch('swh.web.browse.utils.get_origin_visit_snapshot') | @patch('swh.web.browse.utils.get_origin_visit_snapshot') | ||||
@patch('swh.web.browse.utils.service') | @patch('swh.web.browse.utils.service') | ||||
@patch('swh.web.browse.views.origin.service') | @patch('swh.web.browse.views.origin.service') | ||||
@patch('swh.web.browse.views.utils.snapshot_context.service') | @patch('swh.web.browse.views.utils.snapshot_context.service') | ||||
@patch('swh.web.browse.views.origin.get_origin_info') | def test_origin_request_errors(self, | ||||
def test_origin_request_errors(self, mock_get_origin_info, | |||||
mock_snapshot_service, | mock_snapshot_service, | ||||
mock_origin_service, | mock_origin_service, | ||||
mock_utils_service, | mock_utils_service, | ||||
mock_get_origin_visit_snapshot, | mock_get_origin_visit_snapshot, | ||||
mock_get_origin_visits, | mock_get_origin_visits, | ||||
mock_request_content): | mock_request_content): | ||||
mock_get_origin_info.side_effect = \ | mock_origin_service.lookup_origin.side_effect = NotFoundExc( | ||||
NotFoundExc('origin not found') | 'origin not found') | ||||
url = reverse('browse-origin-visits', | url = reverse('browse-origin-visits', | ||||
url_args={'origin_type': 'foo', | url_args={'origin_url': 'bar'}) | ||||
'origin_url': 'bar'}) | |||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 404) | self.assertEqual(resp.status_code, 404) | ||||
self.assertTemplateUsed('error.html') | self.assertTemplateUsed('error.html') | ||||
self.assertContains(resp, 'origin not found', status_code=404) | self.assertContains(resp, 'origin not found', status_code=404) | ||||
mock_utils_service.lookup_origin.side_effect = None | mock_origin_service.lookup_origin.side_effect = None | ||||
mock_utils_service.lookup_origin.return_value = {'type': 'foo', | mock_origin_service.lookup_origin.return_value = {'type': 'foo', | ||||
'url': 'bar', | 'url': 'bar', | ||||
'id': 457} | 'id': 457} | ||||
mock_get_origin_visits.return_value = [] | mock_get_origin_visits.return_value = [] | ||||
url = reverse('browse-origin-directory', | url = reverse('browse-origin-directory', | ||||
url_args={'origin_type': 'foo', | url_args={'origin_url': 'bar'}) | ||||
'origin_url': 'bar'}) | |||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 404) | self.assertEqual(resp.status_code, 404) | ||||
self.assertTemplateUsed('error.html') | self.assertTemplateUsed('error.html') | ||||
self.assertContains(resp, "No visit", status_code=404) | self.assertContains(resp, "No visit", status_code=404) | ||||
mock_get_origin_visits.return_value = [{'visit': 1}] | mock_get_origin_visits.return_value = [{'visit': 1}] | ||||
mock_get_origin_visit_snapshot.side_effect = \ | mock_get_origin_visit_snapshot.side_effect = \ | ||||
NotFoundExc('visit not found') | NotFoundExc('visit not found') | ||||
url = reverse('browse-origin-directory', | url = reverse('browse-origin-directory', | ||||
url_args={'origin_type': 'foo', | url_args={'origin_url': 'bar'}, | ||||
'origin_url': 'bar'}, | |||||
query_params={'visit_id': 2}) | query_params={'visit_id': 2}) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 404) | self.assertEqual(resp.status_code, 404) | ||||
self.assertTemplateUsed('error.html') | self.assertTemplateUsed('error.html') | ||||
self.assertRegex(resp.content.decode('utf-8'), 'Visit.*not found') | self.assertRegex(resp.content.decode('utf-8'), 'Visit.*not found') | ||||
mock_get_origin_visits.return_value = [{ | mock_get_origin_visits.return_value = [{ | ||||
'date': '2015-09-26T09:30:52.373449+00:00', | 'date': '2015-09-26T09:30:52.373449+00:00', | ||||
Show All 14 Lines | def test_origin_request_errors(self, | ||||
) | ) | ||||
mock_utils_service.lookup_snapshot_size.return_value = { | mock_utils_service.lookup_snapshot_size.return_value = { | ||||
'revision': 1, | 'revision': 1, | ||||
'release': 0 | 'release': 0 | ||||
} | } | ||||
mock_utils_service.lookup_directory.side_effect = \ | mock_utils_service.lookup_directory.side_effect = \ | ||||
NotFoundExc('Directory not found') | NotFoundExc('Directory not found') | ||||
url = reverse('browse-origin-directory', | url = reverse('browse-origin-directory', | ||||
url_args={'origin_type': 'foo', | url_args={'origin_url': 'bar'}) | ||||
'origin_url': 'bar'}) | |||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 404) | self.assertEqual(resp.status_code, 404) | ||||
self.assertTemplateUsed('error.html') | self.assertTemplateUsed('error.html') | ||||
self.assertContains(resp, 'Directory not found', status_code=404) | self.assertContains(resp, 'Directory not found', status_code=404) | ||||
with patch('swh.web.browse.views.utils.snapshot_context.' | with patch('swh.web.browse.views.utils.snapshot_context.' | ||||
'get_snapshot_context') as mock_get_snapshot_context: | 'get_snapshot_context') as mock_get_snapshot_context: | ||||
mock_get_snapshot_context.side_effect = \ | mock_get_snapshot_context.side_effect = \ | ||||
NotFoundExc('Snapshot not found') | NotFoundExc('Snapshot not found') | ||||
url = reverse('browse-origin-directory', | url = reverse('browse-origin-directory', | ||||
url_args={'origin_type': 'foo', | url_args={'origin_url': 'bar'}) | ||||
'origin_url': 'bar'}) | |||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 404) | self.assertEqual(resp.status_code, 404) | ||||
self.assertTemplateUsed('error.html') | self.assertTemplateUsed('error.html') | ||||
self.assertContains(resp, 'Snapshot not found', status_code=404) | self.assertContains(resp, 'Snapshot not found', status_code=404) | ||||
mock_origin_service.lookup_origin.side_effect = None | mock_origin_service.lookup_origin.side_effect = None | ||||
mock_origin_service.lookup_origin.return_value = {'type': 'foo', | mock_origin_service.lookup_origin.return_value = {'type': 'foo', | ||||
'url': 'bar', | 'url': 'bar', | ||||
'id': 457} | 'id': 457} | ||||
mock_get_origin_visits.return_value = [] | mock_get_origin_visits.return_value = [] | ||||
url = reverse('browse-origin-content', | url = reverse('browse-origin-content', | ||||
url_args={'origin_type': 'foo', | url_args={'origin_url': 'bar', | ||||
'origin_url': 'bar', | |||||
'path': 'foo'}) | 'path': 'foo'}) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 404) | self.assertEqual(resp.status_code, 404) | ||||
self.assertTemplateUsed('error.html') | self.assertTemplateUsed('error.html') | ||||
self.assertContains(resp, "No visit", status_code=404) | self.assertContains(resp, "No visit", status_code=404) | ||||
mock_get_origin_visits.return_value = [{'visit': 1}] | mock_get_origin_visits.return_value = [{'visit': 1}] | ||||
mock_get_origin_visit_snapshot.side_effect = \ | mock_get_origin_visit_snapshot.side_effect = \ | ||||
NotFoundExc('visit not found') | NotFoundExc('visit not found') | ||||
url = reverse('browse-origin-content', | url = reverse('browse-origin-content', | ||||
url_args={'origin_type': 'foo', | url_args={'origin_url': 'bar', | ||||
'origin_url': 'bar', | |||||
'path': 'foo'}, | 'path': 'foo'}, | ||||
query_params={'visit_id': 2}) | query_params={'visit_id': 2}) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 404) | self.assertEqual(resp.status_code, 404) | ||||
self.assertTemplateUsed('error.html') | self.assertTemplateUsed('error.html') | ||||
self.assertRegex(resp.content.decode('utf-8'), 'Visit.*not found') | self.assertRegex(resp.content.decode('utf-8'), 'Visit.*not found') | ||||
mock_get_origin_visits.return_value = [{ | mock_get_origin_visits.return_value = [{ | ||||
'date': '2015-09-26T09:30:52.373449+00:00', | 'date': '2015-09-26T09:30:52.373449+00:00', | ||||
'metadata': {}, | 'metadata': {}, | ||||
'origin': 457, | 'origin': 457, | ||||
'snapshot': 'bdaf9ac436488a8c6cda927a0f44e172934d3f65', | 'snapshot': 'bdaf9ac436488a8c6cda927a0f44e172934d3f65', | ||||
'status': 'full', | 'status': 'full', | ||||
'visit': 1 | 'visit': 1 | ||||
}] | }] | ||||
mock_get_origin_visit_snapshot.side_effect = None | mock_get_origin_visit_snapshot.side_effect = None | ||||
mock_get_origin_visit_snapshot.return_value = ([], []) | mock_get_origin_visit_snapshot.return_value = ([], []) | ||||
url = reverse('browse-origin-content', | url = reverse('browse-origin-content', | ||||
url_args={'origin_type': 'foo', | url_args={'origin_url': 'bar', | ||||
'origin_url': 'bar', | |||||
'path': 'baz'}) | 'path': 'baz'}) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 404) | self.assertEqual(resp.status_code, 404) | ||||
self.assertTemplateUsed('error.html') | self.assertTemplateUsed('error.html') | ||||
self.assertRegex(resp.content.decode('utf-8'), | self.assertRegex(resp.content.decode('utf-8'), | ||||
'Origin.*has an empty list of branches') | 'Origin.*has an empty list of branches') | ||||
mock_get_origin_visit_snapshot.return_value = ( | mock_get_origin_visit_snapshot.return_value = ( | ||||
[{'directory': 'ae59ceecf46367e8e4ad800e231fc76adc3afffb', | [{'directory': 'ae59ceecf46367e8e4ad800e231fc76adc3afffb', | ||||
'name': 'HEAD', | 'name': 'HEAD', | ||||
'revision': '7bc08e1aa0b08cb23e18715a32aa38517ad34672', | 'revision': '7bc08e1aa0b08cb23e18715a32aa38517ad34672', | ||||
'date': '04 May 2017, 13:27 UTC', | 'date': '04 May 2017, 13:27 UTC', | ||||
'message': ''}], | 'message': ''}], | ||||
[] | [] | ||||
) | ) | ||||
mock_snapshot_service.lookup_directory_with_path.return_value = \ | mock_snapshot_service.lookup_directory_with_path.return_value = \ | ||||
{'target': '5ecd9f37b7a2d2e9980d201acd6286116f2ba1f1'} | {'target': '5ecd9f37b7a2d2e9980d201acd6286116f2ba1f1'} | ||||
mock_request_content.side_effect = \ | mock_request_content.side_effect = \ | ||||
NotFoundExc('Content not found') | NotFoundExc('Content not found') | ||||
url = reverse('browse-origin-content', | url = reverse('browse-origin-content', | ||||
url_args={'origin_type': 'foo', | url_args={'origin_url': 'bar', | ||||
'origin_url': 'bar', | |||||
'path': 'baz'}) | 'path': 'baz'}) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 404) | self.assertEqual(resp.status_code, 404) | ||||
self.assertTemplateUsed('error.html') | self.assertTemplateUsed('error.html') | ||||
self.assertContains(resp, 'Content not found', status_code=404) | self.assertContains(resp, 'Content not found', status_code=404) | ||||
@patch('swh.web.common.origin_visits.get_origin_visits') | @patch('swh.web.common.origin_visits.get_origin_visits') | ||||
@patch('swh.web.browse.utils.get_origin_visit_snapshot') | @patch('swh.web.browse.utils.get_origin_visit_snapshot') | ||||
@patch('swh.web.browse.utils.service') | @patch('swh.web.browse.utils.service') | ||||
def test_origin_empty_snapshot(self, mock_utils_service, | def test_origin_empty_snapshot(self, mock_utils_service, | ||||
mock_get_origin_visit_snapshot, | mock_get_origin_visit_snapshot, | ||||
mock_get_origin_visits): | mock_get_origin_visits): | ||||
mock_get_origin_visits.return_value = [{ | mock_get_origin_visits.return_value = [{ | ||||
'date': '2015-09-26T09:30:52.373449+00:00', | 'date': '2015-09-26T09:30:52.373449+00:00', | ||||
'metadata': {}, | 'metadata': {}, | ||||
'origin': 457, | 'origin': 457, | ||||
'snapshot': 'bdaf9ac436488a8c6cda927a0f44e172934d3f65', | 'snapshot': 'bdaf9ac436488a8c6cda927a0f44e172934d3f65', | ||||
'status': 'full', | 'status': 'full', | ||||
'type': 'git', | |||||
'visit': 1 | 'visit': 1 | ||||
}] | }] | ||||
mock_get_origin_visit_snapshot.return_value = ([], []) | mock_get_origin_visit_snapshot.return_value = ([], []) | ||||
mock_utils_service.lookup_snapshot_size.return_value = { | mock_utils_service.lookup_snapshot_size.return_value = { | ||||
'revision': 0, | 'revision': 0, | ||||
'release': 0 | 'release': 0 | ||||
} | } | ||||
mock_utils_service.lookup_origin.return_value = { | mock_utils_service.lookup_origin.return_value = { | ||||
'id': 457, | 'id': 457, | ||||
'type': 'git', | |||||
'url': 'https://github.com/foo/bar' | 'url': 'https://github.com/foo/bar' | ||||
} | } | ||||
url = reverse('browse-origin-directory', | url = reverse('browse-origin-directory', | ||||
url_args={'origin_type': 'foo', | url_args={'origin_url': 'bar'}) | ||||
'origin_url': 'bar'}) | |||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEqual(resp.status_code, 200) | self.assertEqual(resp.status_code, 200) | ||||
self.assertTemplateUsed('content.html') | self.assertTemplateUsed('content.html') | ||||
self.assertRegex(resp.content.decode('utf-8'), 'snapshot.*is empty') | self.assertRegex(resp.content.decode('utf-8'), 'snapshot.*is empty') |