Skip to content

Commit af9eef5

Browse files
committed
Add internal health endpoint
1 parent b1da72d commit af9eef5

File tree

4 files changed

+25
-4
lines changed

4 files changed

+25
-4
lines changed

src/commercetools/testing/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from commercetools.testing.customers import CustomerBackend
1818
from commercetools.testing.discount_codes import DiscountCodesBackend
1919
from commercetools.testing.extensions import ExtensionsBackend
20+
from commercetools.testing.internal import InternalBackend
2021
from commercetools.testing.inventory import InventoryEntryBackend
2122
from commercetools.testing.orders import OrdersBackend
2223
from commercetools.testing.payments import PaymentsBackend
@@ -67,6 +68,7 @@ class BackendRepository:
6768
def __init__(self):
6869

6970
self._storage = Storage()
71+
self.internal = InternalBackend()
7072

7173
self.api_clients = ApiClientsBackend(self._storage)
7274
self.auth = AuthBackend()

src/commercetools/testing/abstract.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,16 @@ def save(self, obj):
8181
class BaseBackend:
8282
path = None
8383
_actions: typing.Dict[str, typing.Callable] = {}
84+
model_class: typing.Any = None
8485

8586
def __init__(self, storage=None, model=None):
8687
if model:
8788
self.model = model
88-
elif storage:
89-
self.model = self.model_class(storage)
90-
else:
91-
self.model = self.model_class()
89+
elif self.model_class:
90+
if storage:
91+
self.model = self.model_class(storage)
92+
else:
93+
self.model = self.model_class()
9294

9395
def register(self, adapter):
9496
adapter.add_matcher(self._matcher)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from commercetools.testing.abstract import BaseModel, BaseBackend
2+
from commercetools.testing.utils import create_commercetools_response
3+
4+
5+
class InternalBackend(BaseBackend):
6+
path_prefix = r"/-/(?P<path>.*)"
7+
hostnames = ["auth.sphere.io", "localhost"]
8+
9+
def urls(self):
10+
return [
11+
("^health$", "GET", self.health),
12+
]
13+
14+
def health(self, request):
15+
response = create_commercetools_response(request, json={})
16+
return response

src/commercetools/testing/server.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from requests_mock.request import _RequestObjectProxy
99

1010
from commercetools.testing import BackendRepository
11+
from commercetools.testing.internal import InternalBackend
1112

1213
logger = logging.getLogger(__name__)
1314

0 commit comments

Comments
 (0)