Skip to content

Commit ee9fd73

Browse files
authored
Merge pull request #95 from labd/bugfix/expanding-server-issue
Bugfix/expanding server issue
2 parents 172ed1c + 9cdd4db commit ee9fd73

File tree

3 files changed

+47
-6
lines changed

3 files changed

+47
-6
lines changed

src/commercetools/testing/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ def register(self, adapter):
113113

114114
@contextmanager
115115
def backend_mocker(*args, **kwargs):
116-
with requests_mock.Mocker(real_http=True) as m:
116+
with requests_mock.Mocker(real_http=True, case_sensitive=True) as m:
117117
repo = BackendRepository()
118118
repo.register(m)
119119
yield repo

src/commercetools/testing/server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def __init__(self, repository=None):
3939

4040
def __call__(self, environ, start_response):
4141
request = self._create_request(environ)
42-
request_mock = _RequestObjectProxy(request.prepare())
42+
request_mock = _RequestObjectProxy(request.prepare(), case_sensitive=True)
4343

4444
if request_mock.body is None:
4545
request_mock.body = ""

tests/test_mock_server.py

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
1-
import pytest
1+
import os
2+
23
import requests
34

45
from commercetools import Client
5-
from commercetools.types import LocalizedString, ProductDraft
6+
from commercetools.types import (
7+
ChannelDraft,
8+
ChannelResourceIdentifier,
9+
ChannelRoleEnum,
10+
LocalizedString,
11+
ProductDraft,
12+
StoreDraft,
13+
)
614

715

816
def test_http_server(commercetools_client, commercetools_http_server):
9-
import os
10-
1117
os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"
1218

1319
client = Client(
@@ -30,3 +36,38 @@ def test_http_server(commercetools_client, commercetools_http_server):
3036
assert response.status_code == 200, response.text
3137
data = response.json()
3238
assert data["masterData"]["staged"]["name"]["nl"] == "Testje"
39+
40+
41+
def test_http_server_expanding(commercetools_client, commercetools_http_server):
42+
os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"
43+
44+
client = Client(
45+
project_key="unittest",
46+
client_id="client-id",
47+
client_secret="client-secret",
48+
scope=[],
49+
url=commercetools_http_server.api_url,
50+
token_url=f"{commercetools_http_server.api_url}/oauth/token",
51+
)
52+
53+
client.channels.create(
54+
ChannelDraft(key="FOO", roles=[ChannelRoleEnum.PRODUCT_DISTRIBUTION])
55+
)
56+
57+
store = client.stores.create(
58+
StoreDraft(
59+
key="FOO", distribution_channels=[ChannelResourceIdentifier(key="FOO")]
60+
)
61+
)
62+
63+
url = commercetools_http_server.api_url + f"/unittest/stores/{store.id}"
64+
response = requests.get(
65+
url,
66+
params={"expand": "distributionChannels[*]"},
67+
headers={"Authorization": "Bearer token"},
68+
)
69+
70+
assert response.status_code == 200, response.text
71+
data = response.json()
72+
73+
assert data["distributionChannels"][0]["obj"]["key"] == "FOO"

0 commit comments

Comments
 (0)