Skip to content

Commit acd4c88

Browse files
RUT unit tests
1 parent f5de79b commit acd4c88

File tree

5 files changed

+47
-13
lines changed

5 files changed

+47
-13
lines changed

packages/postgres-database/src/simcore_postgres_database/migration/versions/8fa15c4c3977_add_cols_to_licensed_items_purchases_.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""add cols to licensed_items_purchases table
22
33
Revision ID: 8fa15c4c3977
4-
Revises: 38c9ac332c58
4+
Revises: 4d007819e61a
55
Create Date: 2024-12-10 06:42:23.319239+00:00
66
77
"""
@@ -10,7 +10,7 @@
1010

1111
# revision identifiers, used by Alembic.
1212
revision = "8fa15c4c3977"
13-
down_revision = "38c9ac332c58"
13+
down_revision = "4d007819e61a"
1414
branch_labels = None
1515
depends_on = None
1616

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
"""add cols to licensed_items_purchases table 2
2+
3+
Revision ID: d68b8128c23b
4+
Revises: 8fa15c4c3977
5+
Create Date: 2024-12-10 10:24:28.071216+00:00
6+
7+
"""
8+
import sqlalchemy as sa
9+
from alembic import op
10+
from sqlalchemy.dialects import postgresql
11+
12+
# revision identifiers, used by Alembic.
13+
revision = "d68b8128c23b"
14+
down_revision = "8fa15c4c3977"
15+
branch_labels = None
16+
depends_on = None
17+
18+
19+
def upgrade():
20+
op.drop_column("resource_tracker_licensed_items_purchases", "licensed_item_id")
21+
op.add_column(
22+
"resource_tracker_licensed_items_purchases",
23+
sa.Column("licensed_item_id", postgresql.UUID(as_uuid=True), nullable=False),
24+
)
25+
26+
27+
def downgrade():
28+
...

packages/postgres-database/src/simcore_postgres_database/models/resource_tracker_licensed_items_purchases.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
),
2727
sa.Column(
2828
"licensed_item_id",
29-
sa.BigInteger,
29+
UUID(as_uuid=True),
3030
nullable=False,
3131
),
3232
sa.Column(

services/resource-usage-tracker/src/simcore_service_resource_usage_tracker/services/modules/db/licensed_items_purchases_db.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ async def create(
4949
data: CreateLicensedItemsPurchasesDB,
5050
) -> LicensedItemsPurchasesDB:
5151
async with transaction_context(engine, connection) as conn:
52-
result = await conn.stream(
52+
result = await conn.execute(
5353
resource_tracker_licensed_items_purchases.insert()
5454
.values(
5555
product_name=data.product_name,
@@ -67,7 +67,7 @@ async def create(
6767
)
6868
.returning(*_SELECTION_ARGS)
6969
)
70-
row = await result.first()
70+
row = result.first()
7171
return LicensedItemsPurchasesDB.model_validate(row)
7272

7373

services/resource-usage-tracker/tests/unit/with_dbs/test_api_licensed_items_purchases.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# pylint:disable=redefined-outer-name
44
# pylint:disable=too-many-arguments
55

6-
from datetime import datetime, timezone
6+
from datetime import UTC, datetime
77
from decimal import Decimal
88

99
# # Remove the environment variable
@@ -12,6 +12,7 @@
1212
import sqlalchemy as sa
1313
from models_library.api_schemas_resource_usage_tracker.licensed_items_purchases import (
1414
LicensedItemPurchaseGet,
15+
LicensedItemsPurchasesPage,
1516
)
1617
from models_library.resource_tracker_licensed_items_purchases import (
1718
LicensedItemsPurchasesCreate,
@@ -73,7 +74,9 @@ async def test_rpc_licensed_items_purchases_workflow(
7374
result = await licensed_items_purchases.get_licensed_items_purchases_page(
7475
rpc_client, product_name="osparc", wallet_id=1
7576
)
76-
assert isinstance(result, list) # nosec
77+
assert isinstance(result, LicensedItemsPurchasesPage) # nosec
78+
assert result.items == []
79+
assert result.total == 0
7780

7881
_create_data = LicensedItemsPurchasesCreate(
7982
product_name="osparc",
@@ -82,26 +85,29 @@ async def test_rpc_licensed_items_purchases_workflow(
8285
wallet_name="My Wallet",
8386
pricing_unit_cost_id=1,
8487
pricing_unit_cost=Decimal(10),
85-
start_at=datetime.now(tz=timezone.utc),
86-
expire_at=datetime.now(tz=timezone.utc),
88+
start_at=datetime.now(tz=UTC),
89+
expire_at=datetime.now(tz=UTC),
8790
num_of_seats=1,
8891
purchased_by_user=1,
89-
purchased_at=datetime.now(tz=timezone.utc),
92+
purchased_at=datetime.now(tz=UTC),
9093
)
9194

92-
result = await licensed_items_purchases.create_licensed_item_purchase(
95+
created_item = await licensed_items_purchases.create_licensed_item_purchase(
9396
rpc_client, data=_create_data
9497
)
9598
assert isinstance(result, LicensedItemPurchaseGet) # nosec
9699

97100
result = await licensed_items_purchases.get_licensed_item_purchase(
98101
rpc_client,
99102
product_name="osparc",
100-
licensed_item_purchase_id=result.licensed_item_purchase_id,
103+
licensed_item_purchase_id=created_item.licensed_item_purchase_id,
101104
)
102105
assert isinstance(result, LicensedItemPurchaseGet) # nosec
106+
assert result.licensed_item_purchase_id == created_item.licensed_item_purchase_id
103107

104108
result = await licensed_items_purchases.get_licensed_items_purchases_page(
105109
rpc_client, product_name="osparc", wallet_id=_create_data.wallet_id
106110
)
107-
assert isinstance(result, list) # nosec
111+
assert isinstance(result, LicensedItemsPurchasesPage) # nosec
112+
assert len(result.items) == 1
113+
assert result.total == 1

0 commit comments

Comments
 (0)