diff --git a/src/webgwas_backend/test.py b/src/webgwas_backend/test.py deleted file mode 100644 index 90f009b..0000000 --- a/src/webgwas_backend/test.py +++ /dev/null @@ -1,63 +0,0 @@ -import concurrent.futures -import logging -from contextlib import asynccontextmanager - -from boto3.session import boto3 -from botocore.config import Config -from fastapi import FastAPI - -from webgwas_backend.s3_client import get_s3_client - -logger = logging.getLogger(__name__) -logger.setLevel(logging.DEBUG) - - -worker = None - - -class TestWorker: - def __init__(self): - self.executor = concurrent.futures.ProcessPoolExecutor(max_workers=2) - - def submit(self): - self.executor.submit(self.handle_request) - - @staticmethod - def handle_request(): - logger.info("Starting test") - s3_client = boto3.client( - "s3", - region_name="us-west-1", - verify=True, - config=Config(signature_version="v4"), - ) - logger.info("Uploading file") - s3_client.upload_file("pyproject.toml", "webgwas", "pyproject.toml") - logger.info("Done") - - -@asynccontextmanager -async def lifespan(app: FastAPI): # noqa: ARG001 - global worker - worker = TestWorker() - yield - worker.executor.shutdown(wait=True, cancel_futures=True) - - -app = FastAPI(lifespan=lifespan) - - -@app.get("/") -async def root(): - try: - assert worker is not None, "Worker not initialized" - worker.submit() - return {"status": "ok"} - except Exception as e: - return {"error": str(e)} - - -if __name__ == "__main__": - import uvicorn - - uvicorn.run(app, host="0.0.0.0", port=8001) diff --git a/src/webgwas_backend/test_main.py b/src/webgwas_backend/test_main.py index 5bb1285..5a578c9 100644 --- a/src/webgwas_backend/test_main.py +++ b/src/webgwas_backend/test_main.py @@ -131,11 +131,16 @@ def get_session_override(): @pytest.fixture def client(): settings = Settings( + log_level="DEBUG", dry_run=True, s3_bucket="TEST", + s3_result_path="TEST", sqlite_db=":memory:", - n_workers=2, + n_workers=1, + fit_quality_file=pathlib.Path(":memory:"), + root_data_directory=pathlib.Path(":memory:"), indirect_gwas=IndirectGWASSettings(), + cache_capacity=1, ) worker = TestWorker(settings) diff --git a/src/webgwas_backend/worker.py b/src/webgwas_backend/worker.py index d71e993..4fc979d 100644 --- a/src/webgwas_backend/worker.py +++ b/src/webgwas_backend/worker.py @@ -95,6 +95,7 @@ def __init__(self, settings: Settings): self.s3_dry_run = settings.dry_run self.s3_bucket = settings.s3_bucket self.s3_result_path = settings.s3_result_path + self.root_data_directory = settings.root_data_directory self.id_to_result: dict[str, WebGWASResult] = {} def submit(self, request: WebGWASRequestID):