Add tests to prevent reintroducing CSP nonces, as discussed in PR #6387 (Z#23240534)

This commit is contained in:
Mira Weller
2026-07-22 17:16:29 +02:00
parent 9fd570a53d
commit 7a54e92f17
+28
View File
@@ -224,3 +224,31 @@ def test_one_view(logged_in_client, url, expected, event, item, item_category, o
)
response = logged_in_client.get(url)
assert response.status_code == expected
@pytest.mark.django_db
def test_csp_header_control(logged_in_client):
# Do not reintroduce any CSP nonces into control responses, as discussed in PR #6387
response = logged_in_client.get('/control/')
assert response.status_code == 200
assert 'nonce-' not in response['Content-Security-Policy']
@pytest.mark.parametrize('url', [
'/control/login',
'/',
'/{orga}/{event}/',
])
@pytest.mark.django_db
def test_csp_header_unauthenticated(client, url, event):
# Do not reintroduce any CSP nonces into most presale responses, as discussed in PR #6387
with scope(organizer=event.organizer):
url = url.format(
event=event.slug, orga=event.organizer.slug,
)
event.live = True
event.save()
response = client.get(url)
assert response.status_code == 200
assert 'script-src' in response['Content-Security-Policy']
assert 'nonce-' not in response['Content-Security-Policy']