Replace uses of client.get and client.post

We have a `client_request` fixture which does a bunch of useful stuff
like:
- checking the status code of the response
- returning a `BeautifulSoup` object

Lots of our tests still use an older fixture called `client`. This is
not as good because it:
- returns a raw `Response` object
- doesn’t do the additional checks
- means our tests contain a lot of repetetive boilerplate like `page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')`

This commit converts all the tests which had a `client.get(…)` or
`client.post(…)` statement to use their equivalents on `client_request`
instead.

Subsequent commits will remove uses of `client` in other tests, but
doing it this way means the work can be broken up into more manageable
chunks.
This commit is contained in:
Chris Hill-Scott
2022-01-04 15:40:42 +00:00
parent 07318b2d11
commit 7e707db4b2
24 changed files with 951 additions and 726 deletions

View File

@@ -1,15 +1,15 @@
def test_owasp_useful_headers_set(
client,
client_request,
mocker,
mock_get_service_and_organisation_counts,
):
client_request.logout()
mocker.patch('app.get_logo_cdn_domain', return_value='static-logos.test.com')
response = client.get('/')
response = client_request.get_response('.index')
assert response.status_code == 200
assert response.headers['X-Frame-Options'] == 'deny'
assert response.headers['X-Content-Type-Options'] == 'nosniff'
assert response.headers['X-XSS-Protection'] == '1; mode=block'
@@ -31,15 +31,15 @@ def test_owasp_useful_headers_set(
def test_headers_non_ascii_characters_are_replaced(
client,
client_request,
mocker,
mock_get_service_and_organisation_counts,
):
client_request.logout()
mocker.patch('app.get_logo_cdn_domain', return_value='static-logos۾.test.com')
response = client.get('/')
response = client_request.get_response('.index')
assert response.status_code == 200
assert response.headers['Content-Security-Policy'] == (
"default-src 'self' static.example.com 'unsafe-inline';"
"script-src 'self' static.example.com *.google-analytics.com 'unsafe-inline' 'unsafe-eval' data:;"