Skip to content

Commit 897dfe2

Browse files
committed
Add tests for JSON with charset
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
1 parent 4859bac commit 897dfe2

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

test/test_client.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,3 +113,38 @@ async def make_hat(self, request, ctx):
113113

114114
assert list(resp.headers().allitems()) == response_headers
115115
assert list(resp.trailers().allitems()) == response_trailers
116+
117+
118+
def test_json_charset_content_type() -> None:
119+
class HeadersHaberdasherSync(HaberdasherSync):
120+
def make_hat(self, request, ctx):
121+
return Hat(size=2)
122+
123+
transport = WSGITransport(HaberdasherWSGIApplication(HeadersHaberdasherSync()))
124+
125+
client = SyncClient(transport=transport)
126+
127+
res = client.post(
128+
"http://localhost/connectrpc.example.Haberdasher/MakeHat",
129+
content=b"{}",
130+
headers={"Content-Type": "application/json; charset=utf-8"},
131+
)
132+
assert res.json() == {"size": 2}
133+
134+
135+
@pytest.mark.asyncio
136+
async def test_json_charset_content_type_async() -> None:
137+
class HeadersHaberdasher(Haberdasher):
138+
async def make_hat(self, request, ctx):
139+
return Hat(size=2)
140+
141+
transport = ASGITransport(HaberdasherASGIApplication(HeadersHaberdasher()))
142+
143+
client = Client(transport=transport)
144+
145+
res = await client.post(
146+
"http://localhost/connectrpc.example.Haberdasher/MakeHat",
147+
content=b"{}",
148+
headers={"Content-Type": "application/json; charset=utf-8"},
149+
)
150+
assert res.json() == {"size": 2}

0 commit comments

Comments
 (0)