|
16 | 16 | from typing import Tuple
|
17 | 17 |
|
18 | 18 | import pytest
|
| 19 | +from aiohttp import web |
19 | 20 | from aiopg.sa import create_engine
|
20 | 21 |
|
21 | 22 | import simcore_service_storage
|
22 | 23 | import utils
|
| 24 | +from servicelib.application import create_safe_application |
23 | 25 | from simcore_service_storage.datcore_wrapper import DatcoreWrapper
|
24 | 26 | from simcore_service_storage.dsm import DataStorageManager, DatCoreApiToken
|
25 | 27 | from simcore_service_storage.models import FileMetaData
|
26 | 28 | from simcore_service_storage.settings import SIMCORE_S3_STR
|
27 |
| -from utils import ACCESS_KEY, BUCKET_NAME, DATABASE, PASS, SECRET_KEY, USER, USER_ID |
| 29 | +from utils import (ACCESS_KEY, BUCKET_NAME, DATABASE, PASS, SECRET_KEY, USER, |
| 30 | + USER_ID) |
28 | 31 |
|
29 | 32 | current_dir = Path(sys.argv[0] if __name__ == "__main__" else __file__).resolve().parent
|
30 | 33 | sys.path.append(str(current_dir / "helpers"))
|
@@ -324,17 +327,33 @@ async def datcore_testbucket(loop, mock_files_factory):
|
324 | 327 |
|
325 | 328 |
|
326 | 329 | @pytest.fixture(scope="function")
|
327 |
| -def dsm_fixture(s3_client, postgres_engine, loop): |
| 330 | +def moduleless_app(loop, aiohttp_server) -> web.Application: |
| 331 | + app: web.Application = create_safe_application() |
| 332 | + # creates a dummy server |
| 333 | + server = loop.run_until_complete(aiohttp_server(app)) |
| 334 | + # server is destroyed on exit https://docs.aiohttp.org/en/stable/testing.html#pytest_aiohttp.aiohttp_server |
| 335 | + return app |
| 336 | + |
| 337 | + |
| 338 | +@pytest.fixture(scope="function") |
| 339 | +def dsm_fixture(s3_client, postgres_engine, loop, moduleless_app): |
328 | 340 | pool = ThreadPoolExecutor(3)
|
| 341 | + |
329 | 342 | dsm_fixture = DataStorageManager(
|
330 |
| - s3_client, postgres_engine, loop, pool, BUCKET_NAME, False |
| 343 | + s3_client=s3_client, |
| 344 | + engine=postgres_engine, |
| 345 | + loop=loop, |
| 346 | + pool=pool, |
| 347 | + simcore_bucket_name=BUCKET_NAME, |
| 348 | + has_project_db=False, |
| 349 | + app=moduleless_app, |
331 | 350 | )
|
332 | 351 |
|
333 | 352 | api_token = os.environ.get("BF_API_KEY", "none")
|
334 | 353 | api_secret = os.environ.get("BF_API_SECRET", "none")
|
335 | 354 | dsm_fixture.datcore_tokens[USER_ID] = DatCoreApiToken(api_token, api_secret)
|
336 | 355 |
|
337 |
| - return dsm_fixture |
| 356 | + yield dsm_fixture |
338 | 357 |
|
339 | 358 |
|
340 | 359 | @pytest.fixture(scope="function")
|
|
0 commit comments