Skip to content

Commit 5f557ce

Browse files
committed
More fixes for latest httpx, closes #25
1 parent 0e4025d commit 5f557ce

File tree

3 files changed

+17
-19
lines changed

3 files changed

+17
-19
lines changed

datasette_indieauth/utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ async def discover_endpoints(url):
140140
# from a URL that follows additional 302/303/307 redirects.
141141
canonical_url = resolve_permanent_redirects(response.url, response.history)
142142

143-
# Check response.links for Link: hedaers first
143+
# Check response.links for Link: headers first
144144
if "authorization_endpoint" in response.links and response.links[
145145
"authorization_endpoint"
146146
].get("url"):

tests/test_indieauth.py

+15-15
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ async def test_restrict_access():
3333
},
3434
)
3535
app = datasette.app()
36-
paths = ("/-/actor.json", "/", "/:memory:", "/-/metadata")
36+
paths = ("/-/actor.json", "/", "/_memory", "/-/metadata")
3737
async with httpx.AsyncClient(app=app) as client:
3838
# All pages should 403 and show login form
3939
for path in paths:
@@ -144,26 +144,26 @@ async def test_indieauth_flow(
144144
expected_error,
145145
):
146146
httpx_mock.add_response(
147-
url=me.rstrip("/"),
148-
data=b'<link rel="authorization_endpoint" href="https://indieauth.simonwillison.net/auth">',
147+
url=me,
148+
text='<link rel="authorization_endpoint" href="https://indieauth.simonwillison.net/auth">',
149149
)
150150
httpx_mock.add_response(
151151
url="https://indieauth.simonwillison.net/auth",
152152
method="POST",
153-
data=auth_response_body.encode("utf-8"),
153+
text=auth_response_body,
154154
status_code=auth_response_status,
155155
)
156156
if not expected_error:
157157
httpx_mock.add_response(
158158
url="https://indieauth.simonwillison.net/index.php/author/simonw/",
159159
method="GET",
160-
data=b'<link rel="authorization_endpoint" href="https://indieauth.simonwillison.net/auth">',
160+
text='<link rel="authorization_endpoint" href="https://indieauth.simonwillison.net/auth">',
161161
)
162162
if "indieauth.simonwillison.com" in auth_response_body:
163163
httpx_mock.add_response(
164-
url="https://indieauth.simonwillison.com",
164+
url="https://indieauth.simonwillison.com/",
165165
method="GET",
166-
data=b'<link rel="authorization_endpoint" href="https://indieauth.simonwillison.net/auth">',
166+
text='<link rel="authorization_endpoint" href="https://indieauth.simonwillison.net/auth">',
167167
)
168168
datasette = Datasette([], memory=True)
169169
app = datasette.app()
@@ -251,7 +251,7 @@ async def test_indieauth_done_no_params_error():
251251
(
252252
"https://simonwillison.net/",
253253
{
254-
"https://simonwillison.net": "No link here",
254+
"https://simonwillison.net/": "No link here",
255255
# "https://indieauth.simonwillison.net/auth": "me=https%3A%2F%2Findieauth.simonwillison.net%2Findex.php%2Fauthor%2Fsimonw%2F&scope",
256256
},
257257
"Invalid IndieAuth identifier - no authorization_endpoint found",
@@ -267,7 +267,7 @@ async def test_indieauth_errors(httpx_mock, me, bodies, expected_error):
267267
for url, body in bodies.items():
268268
httpx_mock.add_response(
269269
url=url,
270-
data=body.encode("utf-8"),
270+
text=body,
271271
)
272272
datasette = Datasette([], memory=True)
273273
app = datasette.app()
@@ -310,10 +310,10 @@ async def test_invalid_ds_indieauth_cookie(bad_cookie):
310310

311311
@pytest.mark.asyncio
312312
async def test_invalid_url(httpx_mock):
313-
def raise_timeout(request, ext):
313+
def raise_timeout(request):
314314
raise httpx.ReadTimeout(f"HTTP error occurred", request=request)
315315

316-
httpx_mock.add_callback(raise_timeout, url="http://invalid")
316+
httpx_mock.add_callback(raise_timeout, url="http://invalid/")
317317

318318
datasette = Datasette([], memory=True)
319319
app = datasette.app()
@@ -332,17 +332,17 @@ def raise_timeout(request, ext):
332332
async def test_non_matching_authorization_endpoint(httpx_mock):
333333
# See https://github.com/simonw/datasette-indieauth/issues/22
334334
httpx_mock.add_response(
335-
url="https://simonwillison.net",
336-
data=b'<link rel="authorization_endpoint" href="https://indieauth.simonwillison.net/auth">',
335+
url="https://simonwillison.net/",
336+
text='<link rel="authorization_endpoint" href="https://indieauth.simonwillison.net/auth">',
337337
)
338338
httpx_mock.add_response(
339339
url="https://indieauth.simonwillison.net/auth",
340340
method="POST",
341-
data="me=https%3A%2F%2Fsimonwillison.net%2Fme".encode("utf-8"),
341+
text="me=https%3A%2F%2Fsimonwillison.net%2Fme",
342342
)
343343
httpx_mock.add_response(
344344
url="https://simonwillison.net/me",
345-
data=b'<link rel="authorization_endpoint" href="https://example.com">',
345+
text='<link rel="authorization_endpoint" href="https://example.com">',
346346
)
347347
datasette = Datasette([], memory=True)
348348
app = datasette.app()

tests/test_utils.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -252,9 +252,7 @@ def test_parse_link_rels(html, expected):
252252
)
253253
async def test_discover_endpoints(httpx_mock, mocks, expected, expected_error):
254254
for status, url, body, headers in mocks:
255-
httpx_mock.add_response(
256-
url=url, text=body, headers=headers, status_code=status
257-
)
255+
httpx_mock.add_response(url=url, text=body, headers=headers, status_code=status)
258256
if expected_error:
259257
with pytest.raises(expected_error):
260258
actual = await utils.discover_endpoints("https://aaronparecki.com/")

0 commit comments

Comments
 (0)