Page MenuHomeSoftware Heritage

Jenkins > .tox.py3.lib.python3.7.site-packages.swh.web.tests.common.test_origin_save::Tests / Python tests / test_refresh_in_progress_save_request_statuses
Failed

TEST RESULT

Run At
Jun 21 2021, 6:26 PM
Details
mocker = <pytest_mock.plugin.MockerFixture object at 0x7f105c42e828> api_client = <rest_framework.test.APIClient object at 0x7f105c42e860> archive_data = <swh.web.tests.conftest._ArchiveData object at 0x7f105c022128> @pytest.mark.django_db def test_refresh_in_progress_save_request_statuses(mocker, api_client, archive_data): """Refresh a pending save origins requests and update if the status changes """ date_now = datetime.now(tz=timezone.utc) date_pivot = date_now - timedelta(days=30) visit_started_date = date_now - timedelta(minutes=1) # returned visit status sors = _get_save_origin_requests( mocker, load_status=SAVE_TASK_SCHEDULED, visit_status="created", ) assert len(sors) == 1 # make the scheduler return a running event _mock_scheduler( mocker, task_status="next_run_scheduled", task_run_status="started", visit_started_date=visit_started_date, ) # The visit is detected but still running sors = refresh_save_origin_request_statuses() assert len(sors) == 1 for sor in sors: assert iso8601.parse_date(sor["save_request_date"]) >= date_pivot # The status is updated assert sor["save_task_status"] == SAVE_TASK_RUNNING # but the following entries are missing so it's not updated assert sor["visit_date"] is not None assert sor["visit_status"] == "created" # make the visit status completed # make the scheduler return a running event _mock_scheduler( mocker, task_status="completed", task_run_status="eventful", visit_started_date=visit_started_date, ) # This time around, the origin returned will have all information updated mock_get_origin_visits = mocker.patch( "swh.web.common.origin_save.get_origin_visits" ) # create a visit for the save request with status created visit_date = datetime.now(tz=timezone.utc).isoformat() visit_info = OriginVisitInfo( date=visit_date, formatted_date="", metadata={}, origin=_origin_url, snapshot="", # make mypy happy status="full", type=_visit_type, url="", visit=34, ) mock_get_origin_visits.return_value = [visit_info] # Detected entry, this time it should be updated sors = refresh_save_origin_request_statuses() assert len(sors) == 1 for sor in sors: assert iso8601.parse_date(sor["save_request_date"]) >= date_pivot # as it turns out, in this test, this won't update anything as no new status got # returned by the scheduler assert sor["save_task_status"] == SAVE_TASK_RUNNING > assert sor["visit_date"] == visit_date E AssertionError: assert '2021-06-21T1....994798+00:00' == '2021-06-21T1....999971+00:00' E - 2021-06-21T16:18:24.999971+00:00 E ? ^^^ E + 2021-06-21T16:18:24.994798+00:00 E ? ++ ^ .tox/py3/lib/python3.7/site-packages/swh/web/tests/common/test_origin_save.py:625: AssertionError