Skip to content

Commit b1ca061

Browse files
committed
added fixture to create products in DB
1 parent 977ce60 commit b1ca061

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

packages/pytest-simcore/src/pytest_simcore/db_entries_mocks.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from models_library.projects_nodes_io import NodeID
1616
from simcore_postgres_database.models.comp_pipeline import StateType, comp_pipeline
1717
from simcore_postgres_database.models.comp_tasks import comp_tasks
18+
from simcore_postgres_database.models.products import products
1819
from simcore_postgres_database.models.projects import ProjectType, projects
1920
from simcore_postgres_database.models.projects_to_products import projects_to_products
2021
from simcore_postgres_database.models.services import services_access_rights
@@ -65,9 +66,28 @@ def creator(**user_kwargs) -> dict[str, Any]:
6566
print(f"<-- deleted users {created_user_ids=}")
6667

6768

69+
@pytest.fixture
70+
async def product_db(
71+
sqlalchemy_async_engine: AsyncEngine, product: dict[str, Any]
72+
) -> AsyncIterator[ProductName]:
73+
async with sqlalchemy_async_engine.begin() as con:
74+
result = await con.execute(
75+
products.insert().values(**product).returning(sa.literal_column("*"))
76+
)
77+
created_product = result.one()
78+
print(f"--> created product {created_product.name=}")
79+
yield created_product.name
80+
81+
async with sqlalchemy_async_engine.begin() as con:
82+
await con.execute(
83+
products.delete().where(products.c.name == created_product.name)
84+
)
85+
print(f"<-- deleted product {created_product.name=}")
86+
87+
6888
@pytest.fixture
6989
async def project(
70-
sqlalchemy_async_engine: AsyncEngine, faker: Faker, product_name: ProductName
90+
sqlalchemy_async_engine: AsyncEngine, faker: Faker, product_db: ProductName
7191
) -> AsyncIterator[Callable[..., Awaitable[ProjectAtDB]]]:
7292
created_project_ids: list[str] = []
7393

@@ -118,7 +138,7 @@ async def creator(
118138
await con.execute(
119139
projects_to_products.insert().values(
120140
project_uuid=f"{inserted_project.uuid}",
121-
product_name=product_name,
141+
product_name=product_db,
122142
)
123143
)
124144
print(f"--> created {inserted_project=}")

0 commit comments

Comments
 (0)