Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/browse/views/test_origin.py
# Copyright (C) 2017-2018 The Software Heritage developers | # Copyright (C) 2017-2018 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU Affero General Public License version 3, or any later version | # License: GNU Affero General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
# flake8: noqa | # flake8: noqa | ||||
from unittest.mock import patch | from unittest.mock import patch | ||||
from nose.tools import istest, nottest | |||||
from django.utils.html import escape | from django.utils.html import escape | ||||
from swh.web.common.exc import NotFoundExc | from swh.web.common.exc import NotFoundExc | ||||
from swh.web.common.utils import ( | from swh.web.common.utils import ( | ||||
reverse, gen_path_info, format_utc_iso_date, | reverse, gen_path_info, format_utc_iso_date, | ||||
parse_timestamp, get_swh_persistent_id | parse_timestamp, get_swh_persistent_id | ||||
) | ) | ||||
Show All 22 Lines | |||||
stub_origin_info_no_type = dict(stub_origin_info) | stub_origin_info_no_type = dict(stub_origin_info) | ||||
stub_origin_info_no_type['type'] = None | stub_origin_info_no_type['type'] = None | ||||
class SwhBrowseOriginTest(SWHWebTestCase): | class SwhBrowseOriginTest(SWHWebTestCase): | ||||
@patch('swh.web.browse.views.origin.get_origin_info') | @patch('swh.web.browse.views.origin.get_origin_info') | ||||
@patch('swh.web.browse.views.origin.get_origin_visits') | @patch('swh.web.browse.views.origin.get_origin_visits') | ||||
@patch('swh.web.browse.views.origin.service') | @patch('swh.web.browse.views.origin.service') | ||||
@istest | def test_origin_visits_browse(self, mock_service, mock_get_origin_visits, | ||||
def origin_visits_browse(self, mock_service, mock_get_origin_visits, | |||||
mock_get_origin_info): | mock_get_origin_info): | ||||
mock_service.lookup_origin.return_value = origin_info_test_data | mock_service.lookup_origin.return_value = origin_info_test_data | ||||
mock_get_origin_info.return_value = origin_info_test_data | mock_get_origin_info.return_value = origin_info_test_data | ||||
mock_get_origin_visits.return_value = origin_visits_test_data | mock_get_origin_visits.return_value = origin_visits_test_data | ||||
url = reverse('browse-origin-visits', | url = reverse('browse-origin-visits', | ||||
kwargs={'origin_type': origin_info_test_data['type'], | kwargs={'origin_type': origin_info_test_data['type'], | ||||
'origin_url': origin_info_test_data['url']}) | 'origin_url': origin_info_test_data['url']}) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEquals(resp.status_code, 200) | self.assertEquals(resp.status_code, 200) | ||||
self.assertTemplateUsed('origin-visits.html') | self.assertTemplateUsed('origin-visits.html') | ||||
url = reverse('browse-origin-visits', | url = reverse('browse-origin-visits', | ||||
kwargs={'origin_url': origin_info_test_data['url']}) | kwargs={'origin_url': origin_info_test_data['url']}) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEquals(resp.status_code, 200) | self.assertEquals(resp.status_code, 200) | ||||
self.assertTemplateUsed('origin-visits.html') | self.assertTemplateUsed('origin-visits.html') | ||||
@nottest | def origin_content_view_helper(self, origin_info, origin_visits, | ||||
def origin_content_view_test(self, origin_info, origin_visits, | |||||
origin_branches, origin_releases, | origin_branches, origin_releases, | ||||
origin_branch, | origin_branch, | ||||
root_dir_sha1, content_sha1, content_sha1_git, | root_dir_sha1, content_sha1, content_sha1_git, | ||||
content_path, content_data, | content_path, content_data, | ||||
content_language, | content_language, | ||||
visit_id=None, timestamp=None): | visit_id=None, timestamp=None): | ||||
url_args = {'origin_type': origin_info['type'], | url_args = {'origin_type': origin_info['type'], | ||||
'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'] | ||||
▲ Show 20 Lines • Show All 119 Lines • ▼ Show 20 Lines | def origin_content_view_helper(self, origin_info, origin_visits, | ||||
self.assertContains(resp, swh_cnt_id) | self.assertContains(resp, swh_cnt_id) | ||||
self.assertContains(resp, swh_cnt_id_url) | self.assertContains(resp, swh_cnt_id_url) | ||||
@patch('swh.web.browse.utils.get_origin_visits') | @patch('swh.web.browse.utils.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.views.utils.snapshot_context.service') | @patch('swh.web.browse.views.utils.snapshot_context.service') | ||||
@patch('swh.web.browse.utils.service') | @patch('swh.web.browse.utils.service') | ||||
@patch('swh.web.browse.views.utils.snapshot_context.request_content') | @patch('swh.web.browse.views.utils.snapshot_context.request_content') | ||||
@istest | def test_origin_content_view(self, mock_request_content, mock_utils_service, | ||||
def origin_content_view(self, mock_request_content, mock_utils_service, | |||||
mock_service, mock_get_origin_visit_snapshot, | mock_service, mock_get_origin_visit_snapshot, | ||||
mock_get_origin_visits): | mock_get_origin_visits): | ||||
stub_content_text_sha1 = stub_content_text_data['checksums']['sha1'] | stub_content_text_sha1 = stub_content_text_data['checksums']['sha1'] | ||||
stub_content_text_sha1_git = stub_content_text_data['checksums']['sha1_git'] | stub_content_text_sha1_git = stub_content_text_data['checksums']['sha1_git'] | ||||
mock_get_origin_visits.return_value = stub_content_origin_visits | mock_get_origin_visits.return_value = stub_content_origin_visits | ||||
mock_get_origin_visit_snapshot.return_value = stub_content_origin_snapshot | mock_get_origin_visit_snapshot.return_value = stub_content_origin_snapshot | ||||
mock_service.lookup_directory_with_path.return_value = \ | mock_service.lookup_directory_with_path.return_value = \ | ||||
{'target': stub_content_text_sha1} | {'target': stub_content_text_sha1} | ||||
mock_request_content.return_value = stub_content_text_data | mock_request_content.return_value = stub_content_text_data | ||||
mock_utils_service.lookup_origin.return_value = stub_content_origin_info | mock_utils_service.lookup_origin.return_value = stub_content_origin_info | ||||
self.origin_content_view_test(stub_content_origin_info, | self.origin_content_view_helper(stub_content_origin_info, | ||||
stub_content_origin_visits, | stub_content_origin_visits, | ||||
stub_content_origin_snapshot[0], | stub_content_origin_snapshot[0], | ||||
stub_content_origin_snapshot[1], | stub_content_origin_snapshot[1], | ||||
stub_content_origin_branch, | stub_content_origin_branch, | ||||
stub_content_root_dir, | stub_content_root_dir, | ||||
stub_content_text_sha1, | stub_content_text_sha1, | ||||
stub_content_text_sha1_git, | stub_content_text_sha1_git, | ||||
stub_content_text_path, | stub_content_text_path, | ||||
stub_content_text_data['raw_data'], | stub_content_text_data['raw_data'], | ||||
'cpp') | 'cpp') | ||||
self.origin_content_view_test(stub_content_origin_info, | self.origin_content_view_helper(stub_content_origin_info, | ||||
stub_content_origin_visits, | stub_content_origin_visits, | ||||
stub_content_origin_snapshot[0], | stub_content_origin_snapshot[0], | ||||
stub_content_origin_snapshot[1], | stub_content_origin_snapshot[1], | ||||
stub_content_origin_branch, | stub_content_origin_branch, | ||||
stub_content_root_dir, | stub_content_root_dir, | ||||
stub_content_text_sha1, | stub_content_text_sha1, | ||||
stub_content_text_sha1_git, | stub_content_text_sha1_git, | ||||
stub_content_text_path, | stub_content_text_path, | ||||
stub_content_text_data['raw_data'], | stub_content_text_data['raw_data'], | ||||
'cpp', | 'cpp', | ||||
visit_id=stub_content_origin_visit_id) | visit_id=stub_content_origin_visit_id) | ||||
self.origin_content_view_test(stub_content_origin_info, | self.origin_content_view_helper(stub_content_origin_info, | ||||
stub_content_origin_visits, | stub_content_origin_visits, | ||||
stub_content_origin_snapshot[0], | stub_content_origin_snapshot[0], | ||||
stub_content_origin_snapshot[1], | stub_content_origin_snapshot[1], | ||||
stub_content_origin_branch, | stub_content_origin_branch, | ||||
stub_content_root_dir, | stub_content_root_dir, | ||||
stub_content_text_sha1, | stub_content_text_sha1, | ||||
stub_content_text_sha1_git, | stub_content_text_sha1_git, | ||||
stub_content_text_path, | stub_content_text_path, | ||||
stub_content_text_data['raw_data'], | stub_content_text_data['raw_data'], | ||||
'cpp', | 'cpp', | ||||
timestamp=stub_content_origin_visit_unix_ts) | timestamp=stub_content_origin_visit_unix_ts) | ||||
self.origin_content_view_test(stub_content_origin_info, | self.origin_content_view_helper(stub_content_origin_info, | ||||
stub_content_origin_visits, | stub_content_origin_visits, | ||||
stub_content_origin_snapshot[0], | stub_content_origin_snapshot[0], | ||||
stub_content_origin_snapshot[1], | stub_content_origin_snapshot[1], | ||||
stub_content_origin_branch, | stub_content_origin_branch, | ||||
stub_content_root_dir, | stub_content_root_dir, | ||||
stub_content_text_sha1, | stub_content_text_sha1, | ||||
stub_content_text_sha1_git, | stub_content_text_sha1_git, | ||||
stub_content_text_path, | stub_content_text_path, | ||||
stub_content_text_data['raw_data'], | stub_content_text_data['raw_data'], | ||||
'cpp', | 'cpp', | ||||
timestamp=stub_content_origin_visit_iso_date) | timestamp=stub_content_origin_visit_iso_date) | ||||
@nottest | def origin_directory_view_helper(self, origin_info, origin_visits, | ||||
def origin_directory_view(self, origin_info, origin_visits, | |||||
origin_branches, origin_releases, origin_branch, | origin_branches, origin_releases, origin_branch, | ||||
root_directory_sha1, directory_entries, | root_directory_sha1, directory_entries, | ||||
visit_id=None, timestamp=None, path=None): | visit_id=None, timestamp=None, path=None): | ||||
dirs = [e for e in directory_entries | dirs = [e for e in directory_entries | ||||
if e['type'] in ('dir', 'rev')] | if e['type'] in ('dir', 'rev')] | ||||
files = [e for e in directory_entries | files = [e for e in directory_entries | ||||
if e['type'] == 'file'] | if e['type'] == 'file'] | ||||
if not visit_id: | if not visit_id: | ||||
visit_id = origin_visits[-1]['visit'] | visit_id = origin_visits[-1]['visit'] | ||||
▲ Show 20 Lines • Show All 129 Lines • ▼ Show 20 Lines | def origin_directory_view_helper(self, origin_info, origin_visits, | ||||
self.assertContains(resp, swh_dir_id) | self.assertContains(resp, swh_dir_id) | ||||
self.assertContains(resp, swh_dir_id_url) | self.assertContains(resp, swh_dir_id_url) | ||||
@patch('swh.web.browse.utils.get_origin_visits') | @patch('swh.web.browse.utils.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') | ||||
@istest | def test_origin_root_directory_view(self, mock_origin_service, | ||||
def origin_root_directory_view(self, 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_get_origin_visits.return_value = stub_origin_visits | mock_get_origin_visits.return_value = stub_origin_visits | ||||
mock_get_origin_visit_snapshot.return_value = stub_origin_snapshot | mock_get_origin_visit_snapshot.return_value = stub_origin_snapshot | ||||
mock_utils_service.lookup_directory.return_value = \ | mock_utils_service.lookup_directory.return_value = \ | ||||
stub_origin_root_directory_entries | stub_origin_root_directory_entries | ||||
mock_utils_service.lookup_origin.return_value = stub_origin_info | mock_utils_service.lookup_origin.return_value = stub_origin_info | ||||
self.origin_directory_view(stub_origin_info, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_root_directory_entries) | stub_origin_root_directory_entries) | ||||
self.origin_directory_view(stub_origin_info, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_root_directory_entries, | stub_origin_root_directory_entries, | ||||
visit_id=stub_visit_id) | visit_id=stub_visit_id) | ||||
self.origin_directory_view(stub_origin_info, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_root_directory_entries, | stub_origin_root_directory_entries, | ||||
timestamp=stub_visit_unix_ts) | timestamp=stub_visit_unix_ts) | ||||
self.origin_directory_view(stub_origin_info, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_root_directory_entries, | stub_origin_root_directory_entries, | ||||
timestamp=stub_visit_iso_date) | timestamp=stub_visit_iso_date) | ||||
self.origin_directory_view(stub_origin_info_no_type, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info_no_type, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_root_directory_entries) | stub_origin_root_directory_entries) | ||||
self.origin_directory_view(stub_origin_info_no_type, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info_no_type, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_root_directory_entries, | stub_origin_root_directory_entries, | ||||
visit_id=stub_visit_id) | visit_id=stub_visit_id) | ||||
self.origin_directory_view(stub_origin_info_no_type, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info_no_type, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_root_directory_entries, | stub_origin_root_directory_entries, | ||||
timestamp=stub_visit_unix_ts) | timestamp=stub_visit_unix_ts) | ||||
self.origin_directory_view(stub_origin_info_no_type, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info_no_type, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_root_directory_entries, | stub_origin_root_directory_entries, | ||||
timestamp=stub_visit_iso_date) | timestamp=stub_visit_iso_date) | ||||
@patch('swh.web.browse.utils.get_origin_visits') | @patch('swh.web.browse.utils.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.utils.snapshot_context.service') | @patch('swh.web.browse.views.utils.snapshot_context.service') | ||||
@istest | def test_origin_sub_directory_view(self, mock_origin_service, | ||||
def origin_sub_directory_view(self, 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_get_origin_visits.return_value = stub_origin_visits | mock_get_origin_visits.return_value = stub_origin_visits | ||||
mock_get_origin_visit_snapshot.return_value = stub_origin_snapshot | mock_get_origin_visit_snapshot.return_value = stub_origin_snapshot | ||||
mock_utils_service.lookup_directory.return_value = \ | mock_utils_service.lookup_directory.return_value = \ | ||||
stub_origin_sub_directory_entries | stub_origin_sub_directory_entries | ||||
mock_origin_service.lookup_directory_with_path.return_value = \ | mock_origin_service.lookup_directory_with_path.return_value = \ | ||||
{'target': stub_origin_sub_directory_entries[0]['dir_id'], | {'target': stub_origin_sub_directory_entries[0]['dir_id'], | ||||
'type' : 'dir'} | 'type' : 'dir'} | ||||
mock_utils_service.lookup_origin.return_value = stub_origin_info | mock_utils_service.lookup_origin.return_value = stub_origin_info | ||||
self.origin_directory_view(stub_origin_info, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_sub_directory_entries, | stub_origin_sub_directory_entries, | ||||
path=stub_origin_sub_directory_path) | path=stub_origin_sub_directory_path) | ||||
self.origin_directory_view(stub_origin_info, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_sub_directory_entries, | stub_origin_sub_directory_entries, | ||||
visit_id=stub_visit_id, | visit_id=stub_visit_id, | ||||
path=stub_origin_sub_directory_path) | path=stub_origin_sub_directory_path) | ||||
self.origin_directory_view(stub_origin_info, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_sub_directory_entries, | stub_origin_sub_directory_entries, | ||||
timestamp=stub_visit_unix_ts, | timestamp=stub_visit_unix_ts, | ||||
path=stub_origin_sub_directory_path) | path=stub_origin_sub_directory_path) | ||||
self.origin_directory_view(stub_origin_info, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_sub_directory_entries, | stub_origin_sub_directory_entries, | ||||
timestamp=stub_visit_iso_date, | timestamp=stub_visit_iso_date, | ||||
path=stub_origin_sub_directory_path) | path=stub_origin_sub_directory_path) | ||||
self.origin_directory_view(stub_origin_info_no_type, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info_no_type, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_sub_directory_entries, | stub_origin_sub_directory_entries, | ||||
path=stub_origin_sub_directory_path) | path=stub_origin_sub_directory_path) | ||||
self.origin_directory_view(stub_origin_info_no_type, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info_no_type, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_sub_directory_entries, | stub_origin_sub_directory_entries, | ||||
visit_id=stub_visit_id, | visit_id=stub_visit_id, | ||||
path=stub_origin_sub_directory_path) | path=stub_origin_sub_directory_path) | ||||
self.origin_directory_view(stub_origin_info_no_type, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info_no_type, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_sub_directory_entries, | stub_origin_sub_directory_entries, | ||||
timestamp=stub_visit_unix_ts, | timestamp=stub_visit_unix_ts, | ||||
path=stub_origin_sub_directory_path) | path=stub_origin_sub_directory_path) | ||||
self.origin_directory_view(stub_origin_info_no_type, stub_origin_visits, | self.origin_directory_view_helper(stub_origin_info_no_type, stub_origin_visits, | ||||
stub_origin_snapshot[0], | stub_origin_snapshot[0], | ||||
stub_origin_snapshot[1], | stub_origin_snapshot[1], | ||||
stub_origin_master_branch, | stub_origin_master_branch, | ||||
stub_origin_root_directory_sha1, | stub_origin_root_directory_sha1, | ||||
stub_origin_sub_directory_entries, | stub_origin_sub_directory_entries, | ||||
timestamp=stub_visit_iso_date, | timestamp=stub_visit_iso_date, | ||||
path=stub_origin_sub_directory_path) | path=stub_origin_sub_directory_path) | ||||
@patch('swh.web.browse.views.utils.snapshot_context.request_content') | @patch('swh.web.browse.views.utils.snapshot_context.request_content') | ||||
@patch('swh.web.browse.utils.get_origin_visits') | @patch('swh.web.browse.utils.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') | @patch('swh.web.browse.views.origin.get_origin_info') | ||||
@istest | def test_origin_request_errors(self, mock_get_origin_info, | ||||
def 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_get_origin_info.side_effect = \ | ||||
▲ Show 20 Lines • Show All 100 Lines • ▼ Show 20 Lines | def test_origin_request_errors(self, mock_get_origin_info, | ||||
'origin_url': 'bar', | 'origin_url': 'bar', | ||||
'path': 'baz'}) | 'path': 'baz'}) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEquals(resp.status_code, 404) | self.assertEquals(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) | ||||
@nottest | def origin_branches_helper(self, origin_info, origin_snapshot): | ||||
def origin_branches_test(self, origin_info, origin_snapshot): | |||||
url_args = {'origin_type': origin_info['type'], | url_args = {'origin_type': origin_info['type'], | ||||
'origin_url': origin_info['url']} | 'origin_url': origin_info['url']} | ||||
url = reverse('browse-origin-branches', | url = reverse('browse-origin-branches', | ||||
kwargs=url_args) | kwargs=url_args) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
Show All 33 Lines | def origin_branches_helper(self, origin_info, origin_snapshot): | ||||
'origin': origin_info['url']}) | 'origin': origin_info['url']}) | ||||
self.assertContains(resp, '<a href="%s">%s</a>' % (escape(browse_revision_url), branch['revision'][:7])) | self.assertContains(resp, '<a href="%s">%s</a>' % (escape(browse_revision_url), branch['revision'][:7])) | ||||
@patch('swh.web.browse.utils.get_origin_visits') | @patch('swh.web.browse.utils.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') | ||||
@istest | def test_origin_branches(self, mock_origin_service, | ||||
def origin_branches(self, 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_get_origin_visits.return_value = stub_origin_visits | mock_get_origin_visits.return_value = stub_origin_visits | ||||
mock_get_origin_visit_snapshot.return_value = stub_origin_snapshot | mock_get_origin_visit_snapshot.return_value = stub_origin_snapshot | ||||
mock_utils_service.lookup_origin.return_value = stub_origin_info | mock_utils_service.lookup_origin.return_value = stub_origin_info | ||||
self.origin_branches_test(stub_origin_info, stub_origin_snapshot) | self.origin_branches_helper(stub_origin_info, stub_origin_snapshot) | ||||
self.origin_branches_test(stub_origin_info_no_type, stub_origin_snapshot) | self.origin_branches_helper(stub_origin_info_no_type, stub_origin_snapshot) | ||||
@nottest | def origin_releases_helper(self, origin_info, origin_snapshot): | ||||
def origin_releases_test(self, origin_info, origin_snapshot): | |||||
url_args = {'origin_type': origin_info['type'], | url_args = {'origin_type': origin_info['type'], | ||||
'origin_url': origin_info['url']} | 'origin_url': origin_info['url']} | ||||
url = reverse('browse-origin-releases', | url = reverse('browse-origin-releases', | ||||
kwargs=url_args) | kwargs=url_args) | ||||
resp = self.client.get(url) | resp = self.client.get(url) | ||||
self.assertEquals(resp.status_code, 200) | self.assertEquals(resp.status_code, 200) | ||||
Show All 26 Lines | def origin_releases_helper(self, origin_info, origin_snapshot): | ||||
'origin': origin_info['url']}) | 'origin': origin_info['url']}) | ||||
self.assertContains(resp, '<a href="%s">%s</a>' % (escape(browse_release_url), release['name'])) | self.assertContains(resp, '<a href="%s">%s</a>' % (escape(browse_release_url), release['name'])) | ||||
@patch('swh.web.browse.utils.get_origin_visits') | @patch('swh.web.browse.utils.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') | ||||
@istest | def test_origin_releases(self, mock_origin_service, | ||||
def origin_releases(self, 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_get_origin_visits.return_value = stub_origin_visits | mock_get_origin_visits.return_value = stub_origin_visits | ||||
mock_get_origin_visit_snapshot.return_value = stub_origin_snapshot | mock_get_origin_visit_snapshot.return_value = stub_origin_snapshot | ||||
mock_utils_service.lookup_origin.return_value = stub_origin_info | mock_utils_service.lookup_origin.return_value = stub_origin_info | ||||
self.origin_releases_test(stub_origin_info, stub_origin_snapshot) | self.origin_releases_helper(stub_origin_info, stub_origin_snapshot) | ||||
self.origin_releases_test(stub_origin_info_no_type, stub_origin_snapshot) | self.origin_releases_helper(stub_origin_info_no_type, stub_origin_snapshot) | ||||