make linter happy

This commit is contained in:
Daniel Bauer
2024-11-25 15:40:12 +01:00
parent 69862a4134
commit 9f1b7cb59f
2 changed files with 21 additions and 32 deletions

View File

@@ -4,10 +4,10 @@ from django_signposting.middleware import HtmlSignpostingMiddleware
from signposting import LinkRel, Signpost
import pytest
def assert_links_exist(response: HttpResponse, signposts: list[Signpost]=None):
def assert_links_exist(response: HttpResponse, signposts: list[Signpost] = None):
if signposts is None:
signposts = response._signposts
soup = BeautifulSoup(response.content.decode("utf-8"), "html.parser")
for signpost in signposts:
@@ -16,61 +16,58 @@ def assert_links_exist(response: HttpResponse, signposts: list[Signpost]=None):
assert len(soup.find_all("link")) == len(signposts)
def test_middleware_no_signposting():
response = HttpResponse("<html><head></head><body></body></html>")
response.status_code = 200
middleware = HtmlSignpostingMiddleware(lambda request: response)
response = middleware(None)
assert_links_exist(response, [])
def test_middleware_no_html():
response = JsonResponse({"hello": "world"})
response.status_code = 200
response._signpost = [
Signpost(LinkRel.author, "http://example.com")
]
response._signpost = [Signpost(LinkRel.author, "http://example.com")]
middleware = HtmlSignpostingMiddleware(lambda request: response)
middleware(None)
assert_links_exist(response, [])
def test_middleware_malformed_html():
response = HttpResponse("Hello world")
response.status_code = 200
response.content_type = "text/html"
response._signposts = [
Signpost(LinkRel.author, "http://example.com")
]
response._signposts = [Signpost(LinkRel.author, "http://example.com")]
middleware = HtmlSignpostingMiddleware(lambda request: response)
with pytest.raises(Exception):
middleware(None)
def test_middleware_signposting_without_head():
response = HttpResponse("<html><body></body></html>")
response.status_code = 200
response._signposts = [
Signpost(LinkRel.author, "http://example.com")
]
response._signposts = [Signpost(LinkRel.author, "http://example.com")]
middleware = HtmlSignpostingMiddleware(lambda request: response)
middleware(None)
assert_links_exist(response)
def test_middleware_signposting():
response = HttpResponse("<html><head></head><body></body></html>")
response.status_code = 200
response._signposts = [
Signpost(LinkRel.author, "http://example.com")
]
response._signposts = [Signpost(LinkRel.author, "http://example.com")]
middleware = HtmlSignpostingMiddleware(lambda request: response)
middleware(None)
assert_links_exist(response)
def test_middleware_multiple_signposts():
response = HttpResponse("<html><head></head><body></body></html>")
response.status_code = 200
@@ -88,9 +85,7 @@ def test_middleware_multiple_signposts():
def test_middleware_signpost_with_content_type():
response = HttpResponse("<html><head></head><body></body></html>")
response.status_code = 200
response._signposts = [
Signpost(LinkRel.item, "http://example.com", "text/json")
]
response._signposts = [Signpost(LinkRel.item, "http://example.com", "text/json")]
middleware = HtmlSignpostingMiddleware(lambda request: response)
response = middleware(None)
@@ -100,9 +95,7 @@ def test_middleware_signpost_with_content_type():
def test_middleware_ignore_error_responses():
response = HttpResponse("<html><head></head><body></body></html>")
response.status_code = 400
response._signposts = [
Signpost(LinkRel.author, "http://example.com")
]
response._signposts = [Signpost(LinkRel.author, "http://example.com")]
middleware = HtmlSignpostingMiddleware(lambda request: response)
response = middleware(None)
@@ -112,11 +105,8 @@ def test_middleware_ignore_error_responses():
def test_middleware_type_link():
response = HttpResponse("<html><head></head><body></body></html>")
response.status_code = 200
response._signposts = [
Signpost(LinkRel.type, "http://schema.org/Dataset")
]
response._signposts = [Signpost(LinkRel.type, "http://schema.org/Dataset")]
middleware = HtmlSignpostingMiddleware(lambda request: response)
response = middleware(None)
assert_links_exist(response)