Skip to content

Commit

Permalink
Capture output files [broken]
Browse files Browse the repository at this point in the history
  • Loading branch information
fivegrant committed Aug 16, 2023
1 parent b0ad61d commit 5a0e1f8
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
25 changes: 25 additions & 0 deletions tests/integration/conftest.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from collections import namedtuple
from urllib.parse import urlparse, parse_qs
import pytest

from rq import SimpleWorker, Queue
Expand Down Expand Up @@ -29,3 +31,26 @@ def client(redis):
app.dependency_overrides[get_redis] = lambda: redis
yield TestClient(app)
app.dependency_overrides[get_redis] = get_redis


@pytest.fixture
def file_storage():
storage = {}

def get_filename(url):
return parse_qs(urlparse(url).query)["filename"][0]

def get_loc(request, _):
filename = get_filename(request.url)
return {"url": f"filesave?filename={filename}"}

def save(request, context):
filename = get_filename(request.url)
storage[filename] = context
return {"status": "success"}

def retrieve(filename):
return storage[filename]

Storage = namedtuple("Storage", ["get_loc", "save", "retrieve"])
yield Storage(get_loc, save, retrieve)
4 changes: 2 additions & 2 deletions tests/integration/test_simulate.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@


@pytest.mark.example_dir("simulate")
def test_simulate_example(example_context, client, worker, requests_mock):
def test_simulate_example(example_context, client, worker, file_storage, requests_mock):
request = example_context["request"]
config_id = request["model_config_id"]
model = json.loads(example_context["fetch"](config_id + ".json"))
Expand Down Expand Up @@ -38,7 +38,7 @@ def test_simulate_example(example_context, client, worker, requests_mock):
requests_mock.get(f"{TDS_URL}/model_configurations/{config_id}", json=model)
# TODO: Save files to locations where we can check against them
upload_url = re.compile("upload-url")
requests_mock.get(upload_url, json={"url": "http://WONTWORK"})
requests_mock.get(upload_url, json=file_storage.get_loc)
requests_mock.put("http://WONTWORK", json={"url": "WONTWORK"})

# TODO: Mock PyCIEMSS lib
Expand Down

0 comments on commit 5a0e1f8

Please sign in to comment.