Skip to content

Commit c79910c

Browse files
committed
Fix missing Content-Type in VerkkokauppaAPIClient headers
- Changed to use `json` instead of `data` as it automatically sets it and does not require converting dicts to json before
1 parent 5ba8e8f commit c79910c

6 files changed

Lines changed: 18 additions & 24 deletions

File tree

merchants/verkkokauppa/tests/test_merchant_requests.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import json
21
from typing import Any
32
from uuid import UUID
43

@@ -95,7 +94,7 @@ def test__create_merchant__makes_valid_request_returns_merchant():
9594
VerkkokauppaAPIClient.generic.assert_called_with(
9695
"post",
9796
url=(settings.VERKKOKAUPPA_MERCHANT_API_URL + "/create/merchant/" + settings.VERKKOKAUPPA_NAMESPACE),
98-
data=json.dumps(create_merchant_params.to_json()),
97+
json=create_merchant_params.to_json(),
9998
headers={"api-key": settings.VERKKOKAUPPA_API_KEY},
10099
)
101100

@@ -147,7 +146,7 @@ def test__update_merchant__makes_valid_request_returns_merchant():
147146
+ settings.VERKKOKAUPPA_NAMESPACE
148147
+ "/7107df38-5985-39c9-8c83-ffe18bff24f5"
149148
),
150-
data=json.dumps(update_merchant_params.to_json()),
149+
json=update_merchant_params.to_json(),
151150
headers={"api-key": settings.VERKKOKAUPPA_API_KEY},
152151
)
153152

merchants/verkkokauppa/tests/test_order_requests.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import json
21
from datetime import UTC, datetime
32
from decimal import Decimal
43
from typing import Any
@@ -270,7 +269,7 @@ def test_verkkokauppa__create_order__makes_valid_request(settings):
270269
VerkkokauppaAPIClient.generic.assert_called_with(
271270
"post",
272271
url=settings.VERKKOKAUPPA_ORDER_API_URL + "/",
273-
data=json.dumps(create_order_params.to_json()),
272+
json=create_order_params.to_json(),
274273
headers={"api-key": settings.VERKKOKAUPPA_API_KEY},
275274
)
276275

@@ -390,7 +389,7 @@ def test_verkkokauppa__cancel_order__makes_valid_request(settings):
390389
VerkkokauppaAPIClient.generic.assert_called_with(
391390
"post",
392391
url=urljoin(settings.VERKKOKAUPPA_ORDER_API_URL, f"{order_uuid}/cancel"),
393-
data="null",
392+
json=None,
394393
headers={
395394
"api-key": settings.VERKKOKAUPPA_API_KEY,
396395
"user": user_uuid,

merchants/verkkokauppa/tests/test_product_requests.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import json
21
from uuid import UUID
32

43
import pytest
@@ -65,7 +64,7 @@ def test__create_product__makes_valid_request():
6564
VerkkokauppaAPIClient.generic.assert_called_with(
6665
"post",
6766
url=settings.VERKKOKAUPPA_PRODUCT_API_URL + "/",
68-
data=json.dumps(create_product_params.to_json()),
67+
json=create_product_params.to_json(),
6968
headers={"api-key": settings.VERKKOKAUPPA_API_KEY},
7069
)
7170

@@ -121,7 +120,7 @@ def test__create_or_update__account_makes_valid_request():
121120
VerkkokauppaAPIClient.generic.assert_called_with(
122121
"post",
123122
url=settings.VERKKOKAUPPA_PRODUCT_API_URL + "/0bd382a0-d79f-44c8-b3c6-8617bf72ebd5/accounting",
124-
data=json.dumps(create_or_update_account_params.to_json()),
123+
json=create_or_update_account_params.to_json(),
125124
headers={
126125
"api-key": settings.VERKKOKAUPPA_API_KEY,
127126
"namespace": settings.VERKKOKAUPPA_NAMESPACE,

merchants/verkkokauppa/verkkokauppa_api_client.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def create_order(cls, *, order_params: CreateOrderParams) -> Order:
8484
try:
8585
response = cls.post(
8686
url=url,
87-
data=order_params.to_json(),
87+
json=order_params.to_json(),
8888
)
8989
response_json = cls.response_json(response)
9090

@@ -236,7 +236,7 @@ def create_merchant(cls, *, params: CreateMerchantParams) -> Merchant:
236236
try:
237237
response = cls.post(
238238
url=url,
239-
data=params.to_json(),
239+
json=params.to_json(),
240240
)
241241
response_json = cls.response_json(response)
242242

@@ -259,7 +259,7 @@ def update_merchant(cls, *, merchant_uuid: UUID, params: UpdateMerchantParams) -
259259
try:
260260
response = cls.post(
261261
url=url,
262-
data=params.to_json(),
262+
json=params.to_json(),
263263
)
264264
response_json = cls.response_json(response)
265265

@@ -285,7 +285,7 @@ def create_product(cls, *, params: CreateProductParams) -> Product:
285285
try:
286286
response = cls.post(
287287
url=url,
288-
data=params.to_json(),
288+
json=params.to_json(),
289289
)
290290
response_json = cls.response_json(response)
291291

@@ -312,7 +312,7 @@ def create_or_update_accounting(cls, *, product_uuid: UUID, params: CreateOrUpda
312312
try:
313313
response = cls.post(
314314
url=url,
315-
data=params.to_json(),
315+
json=params.to_json(),
316316
headers={"namespace": settings.VERKKOKAUPPA_NAMESPACE},
317317
)
318318
response_json = cls.response_json(response)

opening_hours/utils/hauki_api_client.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def get_resource(cls, *, hauki_resource_id: str) -> HaukiAPIResource:
6767
def create_resource(cls, *, data: dict) -> HaukiAPIResource:
6868
url = cls._build_url("resource")
6969

70-
response = cls.post(url=url, data=data)
70+
response = cls.post(url=url, json=data)
7171
response_json: HaukiAPIResource = cls.response_json(response)
7272

7373
if not response_json.get("id"):
@@ -80,7 +80,7 @@ def update_resource(cls, *, data: dict) -> HaukiAPIResource:
8080
hauki_resource_id = data["id"]
8181
url = cls._build_url(f"resource/{hauki_resource_id}")
8282

83-
response = cls.put(url=url, data=data)
83+
response = cls.put(url=url, json=data)
8484
response_json: HaukiAPIResource = cls.response_json(response)
8585

8686
if not response_json.get("id"):
@@ -145,7 +145,4 @@ def _get_mutate_headers(cls, headers: dict[str, Any] | None) -> dict[str, Any]:
145145
if not settings.HAUKI_API_KEY:
146146
raise HaukiConfigurationError("HAUKI_API_KEY environment variable must to be configured.")
147147

148-
return {
149-
"Content-Type": "application/json",
150-
"Authorization": f"APIToken {settings.HAUKI_API_KEY}",
151-
}
148+
return {"Authorization": f"APIToken {settings.HAUKI_API_KEY}"}

utils/external_service/base_external_service_client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,17 +86,17 @@ def get(cls, *, url: str, params: dict[str, Any] | None = None, headers: dict[st
8686
return response
8787

8888
@classmethod
89-
def post(cls, *, url: str, data: dict[str, Any] | None = None, headers: dict[str, Any] | None = None) -> Response:
90-
response = cls.generic("post", url=url, data=json.dumps(data), headers=cls._get_mutate_headers(headers))
89+
def post(cls, *, url: str, json: dict[str, Any] | None = None, headers: dict[str, Any] | None = None) -> Response:
90+
response = cls.generic("post", url=url, json=json, headers=cls._get_mutate_headers(headers))
9191

9292
if response.status_code >= 500:
9393
cls.handle_500_error(response)
9494

9595
return response
9696

9797
@classmethod
98-
def put(cls, *, url: str, data: dict[str, Any] | None = None, headers: dict[str, Any] | None = None) -> Response:
99-
response = cls.generic("put", url=url, data=json.dumps(data), headers=cls._get_mutate_headers(headers))
98+
def put(cls, *, url: str, json: dict[str, Any] | None = None, headers: dict[str, Any] | None = None) -> Response:
99+
response = cls.generic("put", url=url, json=json, headers=cls._get_mutate_headers(headers))
100100

101101
if response.status_code >= 500:
102102
cls.handle_500_error(response)

0 commit comments

Comments
 (0)