diff --git a/swh/deposit/tests/cli/test_client.py b/swh/deposit/tests/cli/test_client.py --- a/swh/deposit/tests/cli/test_client.py +++ b/swh/deposit/tests/cli/test_client.py @@ -114,7 +114,7 @@ [ "upload", "--url", - "mock://deposit.swh/1", + "https://deposit.swh.test/1", "--username", TEST_USER["username"], "--password", @@ -142,7 +142,7 @@ def test_single_minimal_deposit( - sample_archive, mocker, caplog, client_mock, slug, tmp_path + sample_archive, mocker, caplog, slug, tmp_path, requests_mock_datadir ): """ from: https://docs.softwareheritage.org/devel/swh-deposit/getting-started.html#single-deposit @@ -160,7 +160,7 @@ [ "upload", "--url", - "mock://deposit.swh/1", + "https://deposit.swh.test/1", "--username", TEST_USER["username"], "--password", @@ -171,22 +171,27 @@ sample_archive["path"], "--author", "Jane Doe", + "--slug", + slug, ], ) assert result.exit_code == 0, result.output assert result.output == "" - assert caplog.record_tuples == [ - ("swh.deposit.cli.client", logging.INFO, '{"foo": "bar"}'), - ] - client_mock.deposit_create.assert_called_once_with( - archive=sample_archive["path"], - collection="softcol", - in_progress=False, - metadata=metadata_path, - slug=slug, - ) + interesting_records = [] + for record in caplog.record_tuples: + if record[0] == "swh.deposit.cli.client": + interesting_records.append(record) + + assert len(interesting_records) == 1 + assert interesting_records == [ + ( + "swh.deposit.cli.client", + logging.INFO, + "{'deposit_id': '615', 'deposit_status': 'partial', 'deposit_status_detail': None, 'deposit_date': 'Oct. 8, 2020, 4:57 p.m.'}", # noqa + ), + ] with open(metadata_path) as fd: assert ( @@ -231,7 +236,7 @@ [ "upload", "--url", - "mock://deposit.swh/1", + "https://deposit.swh.test/1", "--username", TEST_USER["username"], "--password", diff --git a/swh/deposit/tests/conftest.py b/swh/deposit/tests/conftest.py --- a/swh/deposit/tests/conftest.py +++ b/swh/deposit/tests/conftest.py @@ -4,7 +4,9 @@ # See top-level LICENSE file for more information import base64 +from functools import partial import os +import re from typing import Mapping from django.test.utils import setup_databases # type: ignore @@ -17,6 +19,7 @@ import yaml from swh.core.config import read +from swh.core.pytest_plugin import get_response_cb from swh.deposit.config import ( COL_IRI, DEPOSIT_STATUS_DEPOSITED, @@ -51,6 +54,17 @@ setup_django_for("testing") +@pytest.fixture +def requests_mock_datadir(datadir, requests_mock_datadir): + """Override default behavior to deal with put/post methods + + """ + cb = partial(get_response_cb, datadir=datadir) + requests_mock_datadir.put(re.compile("https://"), body=cb) + requests_mock_datadir.post(re.compile("https://"), body=cb) + return requests_mock_datadir + + @pytest.fixture() def deposit_config(swh_scheduler_config, swh_storage_backend_config): return { diff --git a/swh/deposit/tests/data/https_deposit.swh.test/1_test b/swh/deposit/tests/data/https_deposit.swh.test/1_test new file mode 100644 --- /dev/null +++ b/swh/deposit/tests/data/https_deposit.swh.test/1_test @@ -0,0 +1,19 @@ + + 615 + Oct. 8, 2020, 4:57 p.m. + None + partial + + + + + + + + + + + http://purl.org/net/sword/package/SimpleZip + diff --git a/swh/deposit/tests/loader/conftest.py b/swh/deposit/tests/loader/conftest.py --- a/swh/deposit/tests/loader/conftest.py +++ b/swh/deposit/tests/loader/conftest.py @@ -3,12 +3,8 @@ # License: GNU General Public License version 3, or any later version # See top-level LICENSE file for more information -from functools import partial -import re - import pytest -from swh.core.pytest_plugin import get_response_cb from swh.deposit.loader.checker import DepositChecker @@ -25,13 +21,3 @@ @pytest.fixture def deposit_checker(deposit_config_path): return DepositChecker() - - -@pytest.fixture -def requests_mock_datadir(datadir, requests_mock_datadir): - """Override default behavior to deal with put method - - """ - cb = partial(get_response_cb, datadir=datadir) - requests_mock_datadir.put(re.compile("https://"), body=cb) - return requests_mock_datadir