|
1 | | -from common_library.async_tools import maybe_await |
2 | 1 | from simcore_postgres_database.models.users import users |
3 | 2 | from simcore_postgres_database.models.users_secrets import users_secrets |
4 | 3 |
|
5 | 4 | from .faker_factories import random_user, random_user_secrets |
6 | 5 |
|
| 6 | +# from .postgres_tools import insert_and_get_row_lifespan |
| 7 | + |
7 | 8 |
|
8 | 9 | async def insert_user_and_secrets(conn, **overrides) -> int: |
9 | | - password = overrides.pop("password") |
| 10 | + password = overrides.pop("password", None) |
10 | 11 | # user data |
11 | | - user_id = await maybe_await( |
12 | | - conn.scalar( |
13 | | - users.insert().values(**random_user(**overrides)).returning(users.c.id) |
14 | | - ) |
| 12 | + user_id = await conn.scalar( |
| 13 | + users.insert().values(**random_user(**overrides)).returning(users.c.id) |
15 | 14 | ) |
16 | 15 | assert user_id is not None |
17 | 16 |
|
18 | 17 | # secrets |
19 | | - await maybe_await( |
20 | | - conn.execute( |
21 | | - users_secrets.insert() |
22 | | - .values(**random_user_secrets(user_id=user_id, password=password)) |
23 | | - .returning(users.c.id) |
| 18 | + await conn.execute( |
| 19 | + users_secrets.insert().values( |
| 20 | + **random_user_secrets(user_id=user_id, password=password) |
24 | 21 | ) |
25 | 22 | ) |
26 | 23 |
|
27 | 24 | return user_id |
| 25 | + |
| 26 | + |
| 27 | +# async def insert_and_get_user_lifespan(sqlalchemy_async_engine: AsyncEngine, **overrides): |
| 28 | + |
| 29 | +# password = overrides.pop("password") |
| 30 | + |
| 31 | +# exit_stack = contextlib.AsyncExitStack() |
| 32 | + |
| 33 | +# exit_stack( |
| 34 | + |
| 35 | +# insert_and_get_row_lifespan( # pylint:disable=contextmanager-generator-missing-cleanup |
| 36 | +# sqlalchemy_async_engine, |
| 37 | +# table=users, |
| 38 | +# values=random_user(**random_user(**overrides)), |
| 39 | +# pk_col=users.c.id, |
| 40 | +# ) |
| 41 | + |
| 42 | +# await maybe_await( |
| 43 | +# conn.execute( |
| 44 | +# users_secrets.insert() |
| 45 | +# .values(**random_user_secrets(user_id=user_id, password=password)) |
| 46 | +# .returning(users.c.id) |
| 47 | +# ) |
| 48 | +# ) |
| 49 | + |
| 50 | + |
| 51 | +# user = await exit_stack.enter_async_context( |
| 52 | +# insert_and_get_row_lifespan( # pylint:disable=contextmanager-generator-missing-cleanup |
| 53 | +# sqlalchemy_async_engine, |
| 54 | +# table=users_table, |
| 55 | +# values=random_user(**data), |
| 56 | +# pk_col=users_table.c.id, |
| 57 | +# ) |
| 58 | +# ) |
0 commit comments