File: C:/Users/fred/anaconda3/Lib/site-packages/repo_cli/tests/integration/testcase.py
import json
import os
import responses
from repo_cli.utils import config
default_config = config.get_config()
url = default_config.get("url", "http://localhost:8088/api/")
REQUESTS_LIST = (
(responses.POST, f"{url}auth/login", "login.json", 200),
(responses.GET, f"{url}account/tokens", "tokens.json", 200),
(responses.POST, f"{url}account/tokens", "tokens_put.json", 200),
(
responses.PUT,
f"{url}account/tokens/37233609-9ca2-4fde-b75f-9c6b4de86d89",
"tokens_put.json",
200,
),
(responses.GET, f"{url}account/scopes", "scopes.json", 200),
(responses.POST, f"{url}channels", "create_channel.json", 201),
(responses.DELETE, f"{url}channels/test_channel_1234", None, 202),
(
responses.POST,
f"{url}channels/test_channel_1234/subchannels",
"create_subchannel.json",
201,
),
(
responses.DELETE,
f"{url}channels/test_channel_1234/subchannels/test_channel_1234",
None,
202,
),
(responses.GET, f"{url}account/channels", "channels.json", 200),
(
responses.POST,
f"{url}channels/test_channel_1234/artifacts",
"upload_artifact.json",
201,
),
(
responses.GET,
f"{url}channels/test_channel_1234",
"get_channel_1234.json",
200,
),
(
responses.GET,
f"{url}channels/test_channel_1234/artifacts",
"get_channel_artifacts.json",
200,
),
(
responses.GET,
f"{url}channels/test_channel_1234/artifacts/conda/numpy/files",
"get_artifacts_conda_numpy.json",
200,
),
(
responses.POST,
f"{url}channels/test_channel_1234/test_channel_1234/artifacts",
"upload_artifact_subchannel.json",
201,
),
(
responses.GET,
f"{url}channels/test_channel_1234/subchannels/test_channel_1234",
"get_subchannel_1234.json",
200,
),
(
responses.GET,
f"{url}channels/test_channel_1234/subchannels/test_channel_1234/artifacts",
"get_subchannel_artifacts.json",
200,
),
(
responses.GET,
f"{url}channels/test_channel_1234/subchannels/test_channel_1234/artifacts/conda/numpy/files",
"get_subchannel_artifacts_conda_numpy.json",
200,
),
(
responses.PUT,
f"{url}channels/test_channel_1234",
"lock_channel.json",
200,
),
(
responses.PUT,
f"{url}channels/test_channel_1234/subchannels/test_channel_1234",
"lock_subchannel.json",
200,
),
(responses.GET, f"{url}account", "get_account.json", 200),
(
responses.POST,
f"{url}channels/john/artifacts",
"upload_channel_john.json",
201,
),
(
responses.PUT,
f"{url}channels/test_channel_1234/artifacts/bulk",
None,
202,
),
(
responses.PUT,
f"{url}channels/test_channel_1234/subchannels/test_channel_1234/artifacts/bulk",
None,
202,
),
)
def get_fixture(filename: str):
__location__ = os.path.realpath(
os.path.join(os.getcwd(), os.path.dirname(__file__))
)
f = os.path.join(__location__, "fixtures", filename)
with open(f) as json_file:
data = json.load(json_file)
return data
def load_mocks(rsps):
for req in REQUESTS_LIST:
# mocker.register_uri(
# req[0],
# req[1],
# json=get_fixture(req[2]) if req[2] else "",
# status_code=req[3],
# )
rsps.add(
req[0], req[1], json=get_fixture(req[2]) if req[2] else "", status=req[3]
)