Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ jobs:
- name: "Run validation & test"
run: make check-all

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

- name: "Run SonarCloud Scan"
uses: SonarSource/sonarqube-scan-action@master
Expand Down
2 changes: 1 addition & 1 deletion mpt_api_client/http/async_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def __init__(
*,
base_url: str | None = None,
api_token: str | None = None,
timeout: float = 10.0,
timeout: float = 20.0,
retries: int = 5,
):
api_token = api_token or os.getenv("MPT_TOKEN")
Expand Down
2 changes: 1 addition & 1 deletion mpt_api_client/http/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def __init__(
*,
base_url: str | None = None,
api_token: str | None = None,
timeout: float = 10.0,
timeout: float = 20.0,
retries: int = 5,
):
api_token = api_token or os.getenv("MPT_TOKEN")
Expand Down
13 changes: 0 additions & 13 deletions prod.Dockerfile

This file was deleted.

4 changes: 2 additions & 2 deletions tests/e2e/catalog/price_lists/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@ def created_price_list(price_lists_service, price_list_data):


@pytest.fixture
def price_list_id(created_price_list):
return created_price_list.id
def price_list_id(e2e_config):
return e2e_config["catalog.price_list.id"]
12 changes: 9 additions & 3 deletions tests/e2e/catalog/price_lists/items/conftest.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import pytest

from mpt_api_client import RQLQuery


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


@pytest.fixture
def price_list_item(price_list_items_service):
price_list_items = price_list_items_service.fetch_page(1)
return price_list_items[0]
def price_list_item(price_list_items_service, item_id):
return next(price_list_items_service.filter(RQLQuery(item__id=item_id)).iterate())


@pytest.fixture
def price_list_item_id(price_list_item):
return price_list_item.id
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,22 @@
pytestmark = [pytest.mark.flaky]


async def test_get_price_list_item(async_price_list_items_service, price_list_item):
result = await async_price_list_items_service.get(price_list_item.id)
async def test_get_price_list_item(async_price_list_items_service, price_list_item_id):
result = await async_price_list_items_service.get(price_list_item_id)

assert result.id == price_list_item.id
assert result.id == price_list_item_id


async def test_filter_price_list_items(async_price_list_items_service, price_list_item):
async def test_filter_price_list_items(async_price_list_items_service, price_list_item_id):
await assert_async_service_filter_with_iterate(
async_price_list_items_service, price_list_item.id, ["-notes"]
async_price_list_items_service, price_list_item_id, ["-notes"]
) # act


async def test_update_price_list_item(
async_price_list_items_service, price_list_item, price_list_item_data
async_price_list_items_service, price_list_item_id, price_list_item_data
):
result = await async_price_list_items_service.update(price_list_item.id, price_list_item_data)
result = await async_price_list_items_service.update(price_list_item_id, price_list_item_data)

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

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


async def test_create_price_list_item_invalid_data(async_price_list_items_service, price_list_item):
invalid_data = {"unitPP": "0"}
async def test_update_price_list_item_invalid_data(
async_price_list_items_service, price_list_item_id
):
invalid_data = {"unitPP": "NaN"}

with pytest.raises(MPTAPIError, match=r"400 Bad Request"):
await async_price_list_items_service.update(price_list_item.id, invalid_data)
await async_price_list_items_service.update(price_list_item_id, invalid_data)
20 changes: 10 additions & 10 deletions tests/e2e/catalog/price_lists/items/test_sync_price_list_items.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@
pytestmark = [pytest.mark.flaky]


def test_get_price_list_item(price_list_items_service, price_list_item):
result = price_list_items_service.get(price_list_item.id)
def test_get_price_list_item(price_list_items_service, price_list_item_id):
result = price_list_items_service.get(price_list_item_id)

assert result.id == price_list_item.id
assert result.id == price_list_item_id


def test_filter_price_list_items(price_list_items_service, price_list_item):
def test_filter_price_list_items(price_list_items_service, price_list_item_id):
assert_service_filter_with_iterate(
price_list_items_service, price_list_item.id, ["-notes"]
price_list_items_service, price_list_item_id, ["-notes"]
) # act


def test_update_price_list_item(price_list_items_service, price_list_item, price_list_item_data):
result = price_list_items_service.update(price_list_item.id, price_list_item_data)
def test_update_price_list_item(price_list_items_service, price_list_item_id, price_list_item_data):
result = price_list_items_service.update(price_list_item_id, price_list_item_data)

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

Expand All @@ -33,8 +33,8 @@ def test_get_price_list_item_not_found(price_list_items_service):
price_list_items_service.get(bogus_id)


def test_create_price_list_item_invalid_data(price_list_items_service, price_list_item):
invalid_data = {"unitPP": "0"}
def test_update_price_list_item_invalid_data(price_list_items_service, price_list_item_id):
invalid_data = {"unitPP": "NaN"}

with pytest.raises(MPTAPIError, match=r"400 Bad Request"):
price_list_items_service.update(price_list_item.id, invalid_data)
price_list_items_service.update(price_list_item_id, invalid_data)
16 changes: 5 additions & 11 deletions tests/e2e/catalog/price_lists/test_async_price_lists.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,28 +29,22 @@ def test_create_price_list(async_created_price_list, product_id):
assert result.product.id == product_id


async def test_get_price_list(async_price_lists_service, async_created_price_list):
result = await async_price_lists_service.get(async_created_price_list.id)

assert result.id == async_created_price_list.id


async def test_get_price_list_by_id(async_price_lists_service, price_list_id):
async def test_get_price_list(async_price_lists_service, price_list_id):
result = await async_price_lists_service.get(price_list_id)

assert result.id == price_list_id


async def test_filter_price_lists(async_price_lists_service, async_created_price_list):
async def test_filter_price_lists(async_price_lists_service, price_list_id):
await assert_async_service_filter_with_iterate(
async_price_lists_service, async_created_price_list.id, ["-product"]
async_price_lists_service, price_list_id, ["-product"]
) # act


async def test_update_price_list(async_price_lists_service, async_created_price_list, short_uuid):
async def test_update_price_list(async_price_lists_service, price_list_id, short_uuid):
await assert_async_update_resource(
async_price_lists_service,
async_created_price_list.id,
price_list_id,
"notes",
f"Updated notes {short_uuid}",
) # act
Expand Down
20 changes: 9 additions & 11 deletions tests/e2e/catalog/price_lists/test_sync_price_lists.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ def test_create_price_list(created_price_list, product_id):
assert result.product.id == product_id


def test_get_price_list(price_lists_service, created_price_list):
result = price_lists_service.get(created_price_list.id)
def test_get_price_list(price_lists_service, price_list_id):
result = price_lists_service.get(price_list_id)

assert result.id == created_price_list.id
assert result.id == price_list_id


def test_get_price_list_by_id(price_lists_service, price_list_id):
Expand All @@ -27,23 +27,21 @@ def test_get_price_list_by_id(price_lists_service, price_list_id):
assert result.id == price_list_id


def test_iterate_price_lists(price_lists_service, created_price_list):
def test_iterate_price_lists(price_lists_service, price_list_id):
price_lists = list(price_lists_service.iterate())

result = any(price_list.id == created_price_list.id for price_list in price_lists)
result = any(price_list.id == price_list_id for price_list in price_lists)

assert result is True


def test_filter_price_lists(price_lists_service, created_price_list):
assert_service_filter_with_iterate(
price_lists_service, created_price_list.id, ["-product"]
) # act
def test_filter_price_lists(price_lists_service, price_list_id):
assert_service_filter_with_iterate(price_lists_service, price_list_id, ["-product"]) # act


def test_update_price_list(price_lists_service, created_price_list, short_uuid):
def test_update_price_list(price_lists_service, price_list_id, short_uuid):
assert_update_resource(
price_lists_service, created_price_list.id, "notes", f"Updated notes {short_uuid}"
price_lists_service, price_list_id, "notes", f"Updated notes {short_uuid}"
) # act


Expand Down
4 changes: 2 additions & 2 deletions tests/e2e/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@ def uuid_str():


@pytest.fixture
def logo_fd():
file_path = pathlib.Path("tests/data/logo.png").resolve()
def logo_fd(project_root_path):
file_path = project_root_path / "tests/data/logo.png"
return file_path.open("rb")


Expand Down
4 changes: 2 additions & 2 deletions tests/unit/http/test_async_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def test_async_http_initialization(mocker):
"User-Agent": "swo-marketplace-client/1.0",
"Authorization": "Bearer test-token",
},
timeout=10.0,
timeout=20.0,
transport=mocker.ANY,
)

Expand All @@ -51,7 +51,7 @@ def test_async_env_initialization(monkeypatch, mocker):
"User-Agent": "swo-marketplace-client/1.0",
"Authorization": f"Bearer {API_TOKEN}",
},
timeout=10.0,
timeout=20.0,
transport=mocker.ANY,
)

Expand Down
4 changes: 2 additions & 2 deletions tests/unit/http/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_http_initialization(mocker):
"User-Agent": "swo-marketplace-client/1.0",
"Authorization": "Bearer test-token",
},
timeout=10.0,
timeout=20.0,
transport=mocker.ANY,
)

Expand All @@ -41,7 +41,7 @@ def test_env_initialization(monkeypatch, mocker):
"User-Agent": "swo-marketplace-client/1.0",
"Authorization": f"Bearer {API_TOKEN}",
},
timeout=10.0,
timeout=20.0,
transport=mocker.ANY,
)

Expand Down