Skip to content

Commit f3f16bc

Browse files
albertsolaCopilot
andcommitted
MPT-19892: add E2E tests for Extension base service
- Add sync and async E2E tests for /public/v1/extensibility/extensions - Tests cover: create, get, not_found, update, delete, filter, download_icon, publish, unpublish - Add extensibility.extension.id placeholder to e2e_config.test.json Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent b1e8900 commit f3f16bc

23 files changed

Lines changed: 325 additions & 109 deletions

e2e_config.test.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,6 @@
6666
"notifications.batch.id": "MST-3638-2460-4825",
6767
"notifications.category.id": "NTC-6157-0397",
6868
"notifications.message.id": "MSG-0000-6215-1019-0139",
69-
"notifications.subscriber.id": "NTS-0829-7123-7123"
69+
"notifications.subscriber.id": "NTS-0829-7123-7123",
70+
"integration.extension.id": "EXT-4401-0953"
7071
}

mpt_api_client/mpt_client.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99
AsyncCatalog,
1010
AsyncCommerce,
1111
AsyncExchange,
12-
AsyncExtensibility,
1312
AsyncHelpdesk,
13+
AsyncIntegration,
1414
AsyncNotifications,
1515
Audit,
1616
Billing,
1717
Catalog,
1818
Commerce,
1919
Exchange,
20-
Extensibility,
2120
Helpdesk,
21+
Integration,
2222
Notifications,
2323
)
2424

@@ -93,9 +93,9 @@ def exchange(self) -> AsyncExchange:
9393
return AsyncExchange(http_client=self.http_client)
9494

9595
@property
96-
def extensibility(self) -> AsyncExtensibility:
97-
"""Extensibility MPT API Client."""
98-
return AsyncExtensibility(http_client=self.http_client)
96+
def integration(self) -> AsyncIntegration:
97+
"""Integration MPT API Client."""
98+
return AsyncIntegration(http_client=self.http_client)
9999

100100

101101
class MPTClient:
@@ -173,6 +173,6 @@ def exchange(self) -> Exchange:
173173
return Exchange(http_client=self.http_client)
174174

175175
@property
176-
def extensibility(self) -> Extensibility:
177-
"""Extensibility MPT API Client."""
178-
return Extensibility(http_client=self.http_client)
176+
def integration(self) -> Integration:
177+
"""Integration MPT API Client."""
178+
return Integration(http_client=self.http_client)

mpt_api_client/resources/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from mpt_api_client.resources.catalog import AsyncCatalog, Catalog
55
from mpt_api_client.resources.commerce import AsyncCommerce, Commerce
66
from mpt_api_client.resources.exchange import AsyncExchange, Exchange
7-
from mpt_api_client.resources.extensibility import AsyncExtensibility, Extensibility
87
from mpt_api_client.resources.helpdesk import AsyncHelpdesk, Helpdesk
8+
from mpt_api_client.resources.integration import AsyncIntegration, Integration
99
from mpt_api_client.resources.notifications import AsyncNotifications, Notifications
1010

1111
__all__ = [ # noqa: WPS410
@@ -16,15 +16,15 @@
1616
"AsyncCatalog",
1717
"AsyncCommerce",
1818
"AsyncExchange",
19-
"AsyncExtensibility",
2019
"AsyncHelpdesk",
20+
"AsyncIntegration",
2121
"AsyncNotifications",
2222
"Audit",
2323
"Billing",
2424
"Catalog",
2525
"Commerce",
2626
"Exchange",
27-
"Extensibility",
2827
"Helpdesk",
28+
"Integration",
2929
"Notifications",
3030
]

mpt_api_client/resources/extensibility/__init__.py

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from mpt_api_client.resources.integration.integration import (
2+
AsyncIntegration,
3+
Integration,
4+
)
5+
6+
__all__ = [ # noqa: WPS410
7+
"AsyncIntegration",
8+
"Integration",
9+
]

mpt_api_client/resources/extensibility/extensions.py renamed to mpt_api_client/resources/integration/extensions.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
)
1414
from mpt_api_client.models import Model
1515
from mpt_api_client.models.model import BaseModel
16-
from mpt_api_client.resources.extensibility.mixins import (
16+
from mpt_api_client.resources.integration.mixins import (
1717
AsyncExtensionMixin,
1818
ExtensionMixin,
1919
)
@@ -60,7 +60,7 @@ class Extension(Model):
6060
class ExtensionsServiceConfig:
6161
"""Extensions service configuration."""
6262

63-
_endpoint = "/public/v1/extensibility/extensions"
63+
_endpoint = "/public/v1/integration/extensions"
6464
_model_class = Extension
6565
_collection_key = "data"
6666
_upload_file_key = "icon"
@@ -77,7 +77,7 @@ class ExtensionsService(
7777
Service[Extension],
7878
ExtensionsServiceConfig,
7979
):
80-
"""Sync service for the /public/v1/extensibility/extensions endpoint."""
80+
"""Sync service for the /public/v1/integration/extensions endpoint."""
8181

8282

8383
class AsyncExtensionsService(
@@ -90,4 +90,4 @@ class AsyncExtensionsService(
9090
AsyncService[Extension],
9191
ExtensionsServiceConfig,
9292
):
93-
"""Async service for the /public/v1/extensibility/extensions endpoint."""
93+
"""Async service for the /public/v1/integration/extensions endpoint."""

mpt_api_client/resources/extensibility/extensibility.py renamed to mpt_api_client/resources/integration/integration.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
from mpt_api_client.http import AsyncHTTPClient, HTTPClient
2-
from mpt_api_client.resources.extensibility.extensions import (
2+
from mpt_api_client.resources.integration.extensions import (
33
AsyncExtensionsService,
44
ExtensionsService,
55
)
66

77

8-
class Extensibility:
9-
"""Extensibility MPT API Module."""
8+
class Integration:
9+
"""Integration MPT API Module."""
1010

1111
def __init__(self, *, http_client: HTTPClient):
1212
self.http_client = http_client
@@ -17,8 +17,8 @@ def extensions(self) -> ExtensionsService:
1717
return ExtensionsService(http_client=self.http_client)
1818

1919

20-
class AsyncExtensibility:
21-
"""Async Extensibility MPT API Module."""
20+
class AsyncIntegration:
21+
"""Async Integration MPT API Module."""
2222

2323
def __init__(self, *, http_client: AsyncHTTPClient):
2424
self.http_client = http_client

mpt_api_client/resources/extensibility/mixins/__init__.py renamed to mpt_api_client/resources/integration/mixins/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from mpt_api_client.resources.extensibility.mixins.extension_mixin import (
1+
from mpt_api_client.resources.integration.mixins.extension_mixin import (
22
AsyncExtensionMixin,
33
ExtensionMixin,
44
)

mpt_api_client/resources/extensibility/mixins/extension_mixin.py renamed to mpt_api_client/resources/integration/mixins/extension_mixin.py

File renamed without changes.

pyproject.toml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ per-file-ignores = [
123123
"mpt_api_client/resources/catalog/products.py: WPS204 WPS214 WPS215 WPS235",
124124
"mpt_api_client/resources/commerce/*.py: WPS235 WPS215",
125125
"mpt_api_client/resources/exchange/*.py: WPS235 WPS215",
126-
"mpt_api_client/resources/extensibility/*.py: WPS214 WPS215 WPS235",
126+
"mpt_api_client/resources/integration/*.py: WPS214 WPS215 WPS235",
127127
"mpt_api_client/resources/helpdesk/*.py: WPS204 WPS215 WPS214",
128128
"mpt_api_client/rql/query_builder.py: WPS110 WPS115 WPS210 WPS214",
129129
"tests/e2e/accounts/*.py: WPS430 WPS202",
@@ -143,7 +143,10 @@ per-file-ignores = [
143143
"tests/unit/http/mixins/*: WPS204 WPS202 WPS210",
144144
"tests/unit/resources/accounts/*.py: WPS204 WPS202 WPS210",
145145
"tests/unit/resources/catalog/test_products.py: WPS202 WPS210",
146-
"tests/unit/resources/extensibility/*.py: WPS202 WPS210 WPS218",
146+
"tests/e2e/integration/*.py: WPS453",
147+
"tests/e2e/integration/extensions/*.py: WPS453 WPS202",
148+
"tests/unit/resources/integration/*.py: WPS202 WPS210 WPS218 WPS453",
149+
"tests/unit/resources/integration/mixins/*.py: WPS453 WPS202",
147150
"tests/unit/resources/commerce/*.py: WPS202 WPS204",
148151
"tests/unit/test_mpt_client.py: WPS235",
149152
"tests/*: WPS432 WPS202",

0 commit comments

Comments
 (0)