diff --git a/swh/web/ui/backend.py b/swh/web/ui/backend.py --- a/swh/web/ui/backend.py +++ b/swh/web/ui/backend.py @@ -230,6 +230,15 @@ return main.storage().stat_counters() +def stat_origin_visits(origin_id): + """Return the dates at which the given origin was scanned for content. + + Returns: + An array of dates + """ + return main.storage().origin_visit_get(origin_id) + + def revision_get_by(origin_id, branch_name, timestamp): """Return occurrence information matching the criterions origin_id, branch_name, ts. diff --git a/swh/web/ui/tests/test_backend.py b/swh/web/ui/tests/test_backend.py --- a/swh/web/ui/tests/test_backend.py +++ b/swh/web/ui/tests/test_backend.py @@ -624,6 +624,42 @@ self.storage.stat_counters.assert_called_with() @istest + def stat_origin_visits(self): + # given + expected_dates = [ + { + 'date': datetime.datetime( + 2015, 1, 1, 22, 0, 0, + tzinfo=datetime.timezone.utc), + 'origin': 1, + 'visit': 1 + }, + { + 'date': datetime.datetime( + 2013, 7, 1, 20, 0, 0, + tzinfo=datetime.timezone.utc), + 'origin': 1, + 'visit': 2 + }, + { + 'date': datetime.datetime( + 2015, 1, 1, 21, 0, 0, + tzinfo=datetime.timezone.utc), + 'origin': 1, + 'visit': 3 + } + ] + self.storage.origin_visit_get = MagicMock(return_value=expected_dates) + + # when + actual_dates = backend.stat_origin_visits(5) + + # then + self.assertEqual(actual_dates, expected_dates) + + self.storage.origin_visit_get.assert_called_with(5) + + @istest def directory_entry_get_by_path(self): # given stub_dir_entry = {'id': b'dir-id',