Skip to content

Commit 17716e1

Browse files
committed
MPT-16791 Fix price lists tests and increase timeouts for e2e
1 parent 2fec251 commit 17716e1

File tree

13 files changed

+61
-74
lines changed

13 files changed

+61
-74
lines changed

.github/workflows/pull-request.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ jobs:
3636
- name: "Run validation & test"
3737
run: make check-all
3838

39-
# - name: "Run E2E test"
40-
# run: make e2e args="--reportportal --rp-launch=$RP_LAUNCH --rp-api-key=$RP_API_KEY --rp-endpoint=$RP_ENDPOINT"
41-
# env:
42-
# RP_LAUNCH: github-e2e-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_number }}
43-
# RP_ENDPOINT: ${{ secrets.RP_ENDPOINT }}
44-
# RP_API_KEY: ${{ secrets.RP_API_KEY }}
39+
- name: "Run E2E test"
40+
run: make e2e args="--reportportal --rp-launch=$RP_LAUNCH --rp-api-key=$RP_API_KEY --rp-endpoint=$RP_ENDPOINT"
41+
env:
42+
RP_LAUNCH: github-e2e-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_number }}
43+
RP_ENDPOINT: ${{ secrets.RP_ENDPOINT }}
44+
RP_API_KEY: ${{ secrets.RP_API_KEY }}
4545

4646
- name: "Run SonarCloud Scan"
4747
uses: SonarSource/sonarqube-scan-action@master

mpt_api_client/http/async_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def __init__(
2727
*,
2828
base_url: str | None = None,
2929
api_token: str | None = None,
30-
timeout: float = 10.0,
30+
timeout: float = 20.0,
3131
retries: int = 5,
3232
):
3333
api_token = api_token or os.getenv("MPT_TOKEN")

mpt_api_client/http/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def __init__(
4040
*,
4141
base_url: str | None = None,
4242
api_token: str | None = None,
43-
timeout: float = 10.0,
43+
timeout: float = 20.0,
4444
retries: int = 5,
4545
):
4646
api_token = api_token or os.getenv("MPT_TOKEN")

prod.Dockerfile

Lines changed: 0 additions & 13 deletions
This file was deleted.

tests/e2e/catalog/price_lists/conftest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@ def created_price_list(price_lists_service, price_list_data):
2626

2727

2828
@pytest.fixture
29-
def price_list_id(created_price_list):
30-
return created_price_list.id
29+
def price_list_id(e2e_config):
30+
return e2e_config["catalog.price_list.id"]

tests/e2e/catalog/price_lists/items/conftest.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import pytest
22

3+
from mpt_api_client import RQLQuery
4+
35

46
@pytest.fixture
57
def price_list_items_service(mpt_ops, price_list_id):
@@ -21,6 +23,10 @@ def price_list_item_data(short_uuid):
2123

2224

2325
@pytest.fixture
24-
def price_list_item(price_list_items_service):
25-
price_list_items = price_list_items_service.fetch_page(1)
26-
return price_list_items[0]
26+
def price_list_item(price_list_items_service, item_id):
27+
return next(price_list_items_service.filter(RQLQuery(item__id=item_id)).iterate())
28+
29+
30+
@pytest.fixture
31+
def price_list_item_id(price_list_item):
32+
return price_list_item.id

tests/e2e/catalog/price_lists/items/test_async_price_list_items.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,22 @@
88
pytestmark = [pytest.mark.flaky]
99

1010

11-
async def test_get_price_list_item(async_price_list_items_service, price_list_item):
12-
result = await async_price_list_items_service.get(price_list_item.id)
11+
async def test_get_price_list_item(async_price_list_items_service, price_list_item_id):
12+
result = await async_price_list_items_service.get(price_list_item_id)
1313

14-
assert result.id == price_list_item.id
14+
assert result.id == price_list_item_id
1515

1616

17-
async def test_filter_price_list_items(async_price_list_items_service, price_list_item):
17+
async def test_filter_price_list_items(async_price_list_items_service, price_list_item_id):
1818
await assert_async_service_filter_with_iterate(
19-
async_price_list_items_service, price_list_item.id, ["-notes"]
19+
async_price_list_items_service, price_list_item_id, ["-notes"]
2020
) # act
2121

2222

2323
async def test_update_price_list_item(
24-
async_price_list_items_service, price_list_item, price_list_item_data
24+
async_price_list_items_service, price_list_item_id, price_list_item_data
2525
):
26-
result = await async_price_list_items_service.update(price_list_item.id, price_list_item_data)
26+
result = await async_price_list_items_service.update(price_list_item_id, price_list_item_data)
2727

2828
assert result.reason_for_change == price_list_item_data["reasonForChange"]
2929

@@ -35,8 +35,10 @@ async def test_get_price_list_item_not_found(async_price_list_items_service):
3535
await async_price_list_items_service.get(bogus_id)
3636

3737

38-
async def test_create_price_list_item_invalid_data(async_price_list_items_service, price_list_item):
39-
invalid_data = {"unitPP": "0"}
38+
async def test_update_price_list_item_invalid_data(
39+
async_price_list_items_service, price_list_item_id
40+
):
41+
invalid_data = {"unitPP": "NaN"}
4042

4143
with pytest.raises(MPTAPIError, match=r"400 Bad Request"):
42-
await async_price_list_items_service.update(price_list_item.id, invalid_data)
44+
await async_price_list_items_service.update(price_list_item_id, invalid_data)

tests/e2e/catalog/price_lists/items/test_sync_price_list_items.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,20 @@
88
pytestmark = [pytest.mark.flaky]
99

1010

11-
def test_get_price_list_item(price_list_items_service, price_list_item):
12-
result = price_list_items_service.get(price_list_item.id)
11+
def test_get_price_list_item(price_list_items_service, price_list_item_id):
12+
result = price_list_items_service.get(price_list_item_id)
1313

14-
assert result.id == price_list_item.id
14+
assert result.id == price_list_item_id
1515

1616

17-
def test_filter_price_list_items(price_list_items_service, price_list_item):
17+
def test_filter_price_list_items(price_list_items_service, price_list_item_id):
1818
assert_service_filter_with_iterate(
19-
price_list_items_service, price_list_item.id, ["-notes"]
19+
price_list_items_service, price_list_item_id, ["-notes"]
2020
) # act
2121

2222

23-
def test_update_price_list_item(price_list_items_service, price_list_item, price_list_item_data):
24-
result = price_list_items_service.update(price_list_item.id, price_list_item_data)
23+
def test_update_price_list_item(price_list_items_service, price_list_item_id, price_list_item_data):
24+
result = price_list_items_service.update(price_list_item_id, price_list_item_data)
2525

2626
assert result.reason_for_change == price_list_item_data["reasonForChange"]
2727

@@ -33,8 +33,8 @@ def test_get_price_list_item_not_found(price_list_items_service):
3333
price_list_items_service.get(bogus_id)
3434

3535

36-
def test_create_price_list_item_invalid_data(price_list_items_service, price_list_item):
37-
invalid_data = {"unitPP": "0"}
36+
def test_update_price_list_item_invalid_data(price_list_items_service, price_list_item_id):
37+
invalid_data = {"unitPP": "NaN"}
3838

3939
with pytest.raises(MPTAPIError, match=r"400 Bad Request"):
40-
price_list_items_service.update(price_list_item.id, invalid_data)
40+
price_list_items_service.update(price_list_item_id, invalid_data)

tests/e2e/catalog/price_lists/test_async_price_lists.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,28 +29,22 @@ def test_create_price_list(async_created_price_list, product_id):
2929
assert result.product.id == product_id
3030

3131

32-
async def test_get_price_list(async_price_lists_service, async_created_price_list):
33-
result = await async_price_lists_service.get(async_created_price_list.id)
34-
35-
assert result.id == async_created_price_list.id
36-
37-
38-
async def test_get_price_list_by_id(async_price_lists_service, price_list_id):
32+
async def test_get_price_list(async_price_lists_service, price_list_id):
3933
result = await async_price_lists_service.get(price_list_id)
4034

4135
assert result.id == price_list_id
4236

4337

44-
async def test_filter_price_lists(async_price_lists_service, async_created_price_list):
38+
async def test_filter_price_lists(async_price_lists_service, price_list_id):
4539
await assert_async_service_filter_with_iterate(
46-
async_price_lists_service, async_created_price_list.id, ["-product"]
40+
async_price_lists_service, price_list_id, ["-product"]
4741
) # act
4842

4943

50-
async def test_update_price_list(async_price_lists_service, async_created_price_list, short_uuid):
44+
async def test_update_price_list(async_price_lists_service, price_list_id, short_uuid):
5145
await assert_async_update_resource(
5246
async_price_lists_service,
53-
async_created_price_list.id,
47+
price_list_id,
5448
"notes",
5549
f"Updated notes {short_uuid}",
5650
) # act

tests/e2e/catalog/price_lists/test_sync_price_lists.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ def test_create_price_list(created_price_list, product_id):
1515
assert result.product.id == product_id
1616

1717

18-
def test_get_price_list(price_lists_service, created_price_list):
19-
result = price_lists_service.get(created_price_list.id)
18+
def test_get_price_list(price_lists_service, price_list_id):
19+
result = price_lists_service.get(price_list_id)
2020

21-
assert result.id == created_price_list.id
21+
assert result.id == price_list_id
2222

2323

2424
def test_get_price_list_by_id(price_lists_service, price_list_id):
@@ -27,23 +27,21 @@ def test_get_price_list_by_id(price_lists_service, price_list_id):
2727
assert result.id == price_list_id
2828

2929

30-
def test_iterate_price_lists(price_lists_service, created_price_list):
30+
def test_iterate_price_lists(price_lists_service, price_list_id):
3131
price_lists = list(price_lists_service.iterate())
3232

33-
result = any(price_list.id == created_price_list.id for price_list in price_lists)
33+
result = any(price_list.id == price_list_id for price_list in price_lists)
3434

3535
assert result is True
3636

3737

38-
def test_filter_price_lists(price_lists_service, created_price_list):
39-
assert_service_filter_with_iterate(
40-
price_lists_service, created_price_list.id, ["-product"]
41-
) # act
38+
def test_filter_price_lists(price_lists_service, price_list_id):
39+
assert_service_filter_with_iterate(price_lists_service, price_list_id, ["-product"]) # act
4240

4341

44-
def test_update_price_list(price_lists_service, created_price_list, short_uuid):
42+
def test_update_price_list(price_lists_service, price_list_id, short_uuid):
4543
assert_update_resource(
46-
price_lists_service, created_price_list.id, "notes", f"Updated notes {short_uuid}"
44+
price_lists_service, price_list_id, "notes", f"Updated notes {short_uuid}"
4745
) # act
4846

4947

0 commit comments

Comments
 (0)