diff --git a/test/conftest.py b/test/conftest.py index 92d78cf..b2ef560 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -59,7 +59,7 @@ def mock_make_load_data(): @pytest.fixture(params=["minio", "aws"], scope="session") -def storage(client_name, bucket_name, request): +def storage(client_name, bucket_name, request, docker_compose): logger.debug("Setup for storage") storage = Storage(get_adapter(client_name, request.param)) storage.make_bucket(bucket_name) @@ -69,7 +69,7 @@ def storage(client_name, bucket_name, request): storage.clear_bucket(bucket_name) -@pytest.fixture(scope="session", autouse=True) +@pytest.fixture(scope="session", autouse=False) def docker_compose(sleep_seconds=30): logger.info(f"Starting docker containers with {COMPOSE_PATH}/docker-compose.yml...") compose = testcontainers.compose.DockerCompose(COMPOSE_PATH, compose_file_name="docker-compose.yml") @@ -110,7 +110,7 @@ def get_queue_manager(queue_manager_name) -> QueueManager: @pytest.fixture(scope="session") -def queue_manager(queue_manager_name): +def queue_manager(queue_manager_name, docker_compose): def close_connections(): if queue_manager_name == "pika": try: diff --git a/test/exploration_tests/data_json_request_test.py b/test/exploration_tests/data_json_request_test.py index f57bcc4..03c9391 100644 --- a/test/exploration_tests/data_json_request_test.py +++ b/test/exploration_tests/data_json_request_test.py @@ -1,15 +1,22 @@ import json from operator import itemgetter -import pytest import fpdf +import pytest from test.server import set_up_processing_server +def processor_fn(payload): + data = payload["data"].encode() + metadata = payload["metadata"] + response_payload = {"metadata_type": str(type(metadata)), "data_type": str(type(data))} + return response_payload + + @pytest.fixture def server(): - server = set_up_processing_server() + server = set_up_processing_server(processor_fn) server.config.update({"TESTING": True}) return server diff --git a/test/server.py b/test/server.py index 0d7c0d1..33734e6 100644 --- a/test/server.py +++ b/test/server.py @@ -3,7 +3,7 @@ import json from flask import Flask, jsonify, request -def set_up_processing_server(): +def set_up_processing_server(process_fn): app = Flask(__name__) @app.route("/ready", methods=["GET"]) @@ -15,11 +15,7 @@ def set_up_processing_server(): @app.route("/process", methods=["POST"]) def process(): payload = json.loads(request.json) - data = payload["data"].encode() - metadata = payload["metadata"] - - response_payload = {"metadata_type": str(type(metadata)), "data_type": str(type(data))} - + response_payload = process_fn(payload) return jsonify(response_payload) return app