Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/browse/test_utils.py
Show First 20 Lines • Show All 236 Lines • ▼ Show 20 Lines | def test_gen_revision_link(self): | ||||
revision_id = '28a0bc4120d38a394499382ba21d6965a67a3703' | revision_id = '28a0bc4120d38a394499382ba21d6965a67a3703' | ||||
revision_url = reverse('browse-revision', | revision_url = reverse('browse-revision', | ||||
kwargs={'sha1_git': revision_id}) | kwargs={'sha1_git': revision_id}) | ||||
self.assertEqual(utils.gen_revision_link(revision_id), | self.assertEqual(utils.gen_revision_link(revision_id), | ||||
'<a href="%s">%s</a>' % (revision_url, revision_id)) | '<a href="%s">%s</a>' % (revision_url, revision_id)) | ||||
self.assertEqual(utils.gen_revision_link(revision_id, shorten_id=True), | self.assertEqual(utils.gen_revision_link(revision_id, shorten_id=True), | ||||
'<a href="%s">%s</a>' % (revision_url, revision_id[:7])) | '<a href="%s">%s</a>' % (revision_url, revision_id[:7])) | ||||
def test_prepare_revision_log_for_display_no_contex(self): | |||||
per_page = 10 | |||||
first_page_logs_data = revision_history_log_test[:per_page+1] | |||||
second_page_logs_data = revision_history_log_test[per_page:2*per_page+1] | |||||
third_page_logs_data = revision_history_log_test[2*per_page:3*per_page+1] | |||||
last_page_logs_data = revision_history_log_test[3*per_page:3*per_page+5] | |||||
revision_log_display_data = utils.prepare_revision_log_for_display( | |||||
first_page_logs_data, per_page, None) | |||||
self.assertEqual(revision_log_display_data['revision_log_data'], | |||||
utils._format_log_entries(first_page_logs_data, | |||||
per_page)) | |||||
self.assertEqual(revision_log_display_data['prev_rev'], | |||||
first_page_logs_data[-1]['id']) | |||||
self.assertEqual(revision_log_display_data['prev_revs_breadcrumb'], | |||||
first_page_logs_data[0]['id']) | |||||
self.assertEqual(revision_log_display_data['next_rev'], None) | |||||
self.assertEqual(revision_log_display_data['next_revs_breadcrumb'], | |||||
None) | |||||
old_prev_revs_bc = str(revision_log_display_data['prev_revs_breadcrumb']) | |||||
revision_log_display_data = utils.prepare_revision_log_for_display( | |||||
second_page_logs_data, per_page, old_prev_revs_bc) | |||||
self.assertEqual(revision_log_display_data['revision_log_data'], | |||||
utils._format_log_entries(second_page_logs_data, | |||||
per_page)) | |||||
self.assertEqual(revision_log_display_data['prev_rev'], | |||||
second_page_logs_data[-1]['id']) | |||||
self.assertEqual(revision_log_display_data['prev_revs_breadcrumb'], | |||||
old_prev_revs_bc + '/' + second_page_logs_data[0]['id']) | |||||
self.assertEqual(revision_log_display_data['next_rev'], | |||||
old_prev_revs_bc) | |||||
self.assertEqual(revision_log_display_data['next_revs_breadcrumb'], | |||||
None) | |||||
old_prev_revs_bc = str(revision_log_display_data['prev_revs_breadcrumb']) | |||||
revision_log_display_data = utils.prepare_revision_log_for_display( | |||||
third_page_logs_data, per_page, old_prev_revs_bc) | |||||
self.assertEqual(revision_log_display_data['revision_log_data'], | |||||
utils._format_log_entries(third_page_logs_data, per_page)) | |||||
self.assertEqual(revision_log_display_data['prev_rev'], | |||||
third_page_logs_data[-1]['id']) | |||||
self.assertEqual(revision_log_display_data['prev_revs_breadcrumb'], | |||||
old_prev_revs_bc + '/' + third_page_logs_data[0]['id']) | |||||
self.assertEqual(revision_log_display_data['next_rev'], | |||||
old_prev_revs_bc.split('/')[-1]) | |||||
self.assertEqual(revision_log_display_data['next_revs_breadcrumb'], | |||||
'/'.join(old_prev_revs_bc.split('/')[:-1])) | |||||
old_prev_revs_bc = str(revision_log_display_data['prev_revs_breadcrumb']) | |||||
revision_log_display_data = utils.prepare_revision_log_for_display( | |||||
last_page_logs_data, per_page, old_prev_revs_bc) | |||||
self.assertEqual(revision_log_display_data['revision_log_data'], | |||||
utils._format_log_entries(last_page_logs_data, per_page)) | |||||
self.assertEqual(revision_log_display_data['prev_rev'], | |||||
None) | |||||
self.assertEqual(revision_log_display_data['prev_revs_breadcrumb'], | |||||
None) | |||||
self.assertEqual(revision_log_display_data['next_rev'], old_prev_revs_bc.split('/')[-1]) | |||||
self.assertEqual(revision_log_display_data['next_revs_breadcrumb'], | |||||
'/'.join(old_prev_revs_bc.split('/')[:-1])) | |||||
def test_prepare_revision_log_for_display_snapshot_context(self): | |||||
per_page = 10 | |||||
first_page_logs_data = revision_history_log_test[:per_page+1] | |||||
second_page_logs_data = revision_history_log_test[per_page:2*per_page+1] | |||||
third_page_logs_data = revision_history_log_test[2*per_page:3*per_page+1] | |||||
last_page_logs_data = revision_history_log_test[3*per_page:3*per_page+5] | |||||
snapshot_context = { | |||||
'origin_info': {'type': 'git', | |||||
'url': 'https://github.com/git/git'}, | |||||
'origin_type': 'git', | |||||
'url_args': {}, | |||||
'query_params': {} | |||||
} | |||||
revision_log_display_data = utils.prepare_revision_log_for_display( | |||||
first_page_logs_data, per_page, None, snapshot_context=snapshot_context) | |||||
self.assertEqual(revision_log_display_data['revision_log_data'], | |||||
utils._format_log_entries(first_page_logs_data, | |||||
per_page, snapshot_context=snapshot_context)) | |||||
self.assertEqual(revision_log_display_data['prev_rev'], | |||||
first_page_logs_data[-1]['id']) | |||||
self.assertEqual(revision_log_display_data['prev_revs_breadcrumb'], | |||||
first_page_logs_data[-1]['id']) | |||||
self.assertEqual(revision_log_display_data['next_rev'], None) | |||||
self.assertEqual(revision_log_display_data['next_revs_breadcrumb'], | |||||
None) | |||||
old_prev_revs_bc = str(revision_log_display_data['prev_revs_breadcrumb']) | |||||
revision_log_display_data = utils.prepare_revision_log_for_display( | |||||
second_page_logs_data, per_page, old_prev_revs_bc, snapshot_context=snapshot_context) | |||||
self.assertEqual(revision_log_display_data['revision_log_data'], | |||||
utils._format_log_entries(second_page_logs_data, | |||||
per_page, snapshot_context=snapshot_context)) | |||||
self.assertEqual(revision_log_display_data['prev_rev'], | |||||
second_page_logs_data[-1]['id']) | |||||
self.assertEqual(revision_log_display_data['prev_revs_breadcrumb'], | |||||
old_prev_revs_bc + '/' + second_page_logs_data[-1]['id']) | |||||
self.assertEqual(revision_log_display_data['next_rev'], | |||||
old_prev_revs_bc) | |||||
self.assertEqual(revision_log_display_data['next_revs_breadcrumb'], | |||||
None) | |||||
old_prev_revs_bc = str(revision_log_display_data['prev_revs_breadcrumb']) | |||||
revision_log_display_data = utils.prepare_revision_log_for_display( | |||||
third_page_logs_data, per_page, old_prev_revs_bc, snapshot_context=snapshot_context) | |||||
self.assertEqual(revision_log_display_data['revision_log_data'], | |||||
utils._format_log_entries(third_page_logs_data, per_page, | |||||
snapshot_context=snapshot_context)) | |||||
self.assertEqual(revision_log_display_data['prev_rev'], | |||||
third_page_logs_data[-1]['id']) | |||||
self.assertEqual(revision_log_display_data['prev_revs_breadcrumb'], | |||||
old_prev_revs_bc + '/' + third_page_logs_data[-1]['id']) | |||||
self.assertEqual(revision_log_display_data['next_rev'], | |||||
old_prev_revs_bc.split('/')[-1]) | |||||
self.assertEqual(revision_log_display_data['next_revs_breadcrumb'], | |||||
'/'.join(old_prev_revs_bc.split('/')[:-1])) | |||||
old_prev_revs_bc = str(revision_log_display_data['prev_revs_breadcrumb']) | |||||
revision_log_display_data = utils.prepare_revision_log_for_display( | |||||
last_page_logs_data, per_page, old_prev_revs_bc, snapshot_context=snapshot_context) | |||||
self.assertEqual(revision_log_display_data['revision_log_data'], | |||||
utils._format_log_entries(last_page_logs_data, per_page, | |||||
snapshot_context=snapshot_context)) | |||||
self.assertEqual(revision_log_display_data['prev_rev'], | |||||
None) | |||||
self.assertEqual(revision_log_display_data['prev_revs_breadcrumb'], | |||||
None) | |||||
self.assertEqual(revision_log_display_data['next_rev'], old_prev_revs_bc.split('/')[-1]) | |||||
self.assertEqual(revision_log_display_data['next_revs_breadcrumb'], | |||||
'/'.join(old_prev_revs_bc.split('/')[:-1])) |