Skip to content

Commit 9647dc8

Browse files
committed
added fixture to create products in DB
1 parent c5c126d commit 9647dc8

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.users import UserRole, UserStatus, users
@@ -64,9 +65,28 @@ def creator(**user_kwargs) -> dict[str, Any]:
6465
print(f"<-- deleted users {created_user_ids=}")
6566

6667

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

@@ -117,7 +137,7 @@ async def creator(
117137
await con.execute(
118138
projects_to_products.insert().values(
119139
project_uuid=f"{inserted_project.uuid}",
120-
product_name=product_name,
140+
product_name=product_db,
121141
)
122142
)
123143
print(f"--> created {inserted_project=}")

0 commit comments

Comments
 (0)