|
1 | 1 | from collections.abc import Iterator |
2 | 2 | from datetime import datetime, timedelta, timezone |
| 3 | +from decimal import Decimal |
3 | 4 |
|
4 | 5 | import pytest |
5 | 6 | import sqlalchemy as sa |
|
14 | 15 | from models_library.rest_ordering import OrderBy, OrderDirection |
15 | 16 | from servicelib.rabbitmq import RabbitMQRPCClient |
16 | 17 | from servicelib.rabbitmq._errors import RPCServerError |
17 | | -from servicelib.rabbitmq.rpc_interfaces.resource_usage_tracker import service_runs |
| 18 | +from servicelib.rabbitmq.rpc_interfaces.resource_usage_tracker import ( |
| 19 | + credit_transactions, |
| 20 | + service_runs, |
| 21 | +) |
18 | 22 | from simcore_postgres_database.models.resource_tracker_credit_transactions import ( |
19 | 23 | resource_tracker_credit_transactions, |
20 | 24 | ) |
@@ -111,8 +115,20 @@ async def test_rpc_list_service_runs_which_was_billed( |
111 | 115 |
|
112 | 116 | assert len(result.items) == 2 |
113 | 117 | assert result.total == 2 |
114 | | - assert result.items[0].credit_cost < 0 |
| 118 | + _get_credit_cost = result.items[0].credit_cost |
| 119 | + assert _get_credit_cost |
| 120 | + assert _get_credit_cost < 0 |
115 | 121 | assert result.items[0].transaction_status in list(CreditTransactionStatus) |
| 122 | + _get_service_run_id = result.items[0].service_run_id |
| 123 | + |
| 124 | + result = ( |
| 125 | + await credit_transactions.get_transaction_current_credits_by_service_run_id( |
| 126 | + rpc_client, |
| 127 | + service_run_id=_get_service_run_id, |
| 128 | + ) |
| 129 | + ) |
| 130 | + assert isinstance(result, Decimal) |
| 131 | + assert result == _get_credit_cost |
116 | 132 |
|
117 | 133 |
|
118 | 134 | @pytest.mark.rpc_test() |
|
0 commit comments