Files
notifications-admin/tests/app/main/views/test_history.py
David McDonald 4acca3de4d Don't show user as unknown for service history
A commit was added:
600e3affc1

In it, it falls back to the string 'Unknown' for actions done by those
not belonging to the service.

This commit changes the behaviour such that if the user is not in the
list of active users for a service, it will go get the user from the DB
(or redis). This should be fine to do as redis will protect us from most
calls as most of these cases are for platform admins.

This will mean we can now see which user platform admin put a service
live rather than seeing 'Unknown'.
2021-04-06 11:36:54 +01:00

110 lines
3.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import pytest
from freezegun import freeze_time
from tests.conftest import SERVICE_ONE_ID, normalize_spaces
@pytest.mark.parametrize('extra_args, expected_headings_and_events', (
({}, [
(
'12 December',
(
'Test User 1:13pm '
'Renamed this service from Before lunch to After lunch '
'Test User 12:12pm '
'Renamed this service from Example service to Before lunch'
),
),
(
'11 November',
(
'Test User 12:12pm '
'Revoked the Bad key API key'
),
),
(
'11 November 2011',
(
'Test User 11:11am '
'Created an API key called Bad key'
),
),
(
'10 October 2010',
(
'Test User 11:10am '
'Created an API key called Good key '
'Test User 10:09am '
'Created an API key called Key event returned in non-chronological order '
'Test User 2:01am '
'Created this service and called it Example service'
),
),
]),
({'selected': 'api'}, [
(
'11 November',
(
'Test User 12:12pm '
'Revoked the Bad key API key'
),
),
(
'11 November 2011',
(
'Test User 11:11am '
'Created an API key called Bad key'
),
),
(
'10 October 2010',
(
'Test User 11:10am '
'Created an API key called Good key '
'Test User 10:09am '
'Created an API key called Key event returned in non-chronological order'
),
),
]),
({'selected': 'service'}, [
(
'12 December',
(
'Test User 1:13pm '
'Renamed this service from Before lunch to After lunch '
'Test User 12:12pm '
'Renamed this service from Example service to Before lunch'
),
),
(
'10 October 2010',
(
'Test User 2:01am '
'Created this service and called it Example service'
),
),
]),
))
@freeze_time("2012-01-01 01:01:01")
def test_history(
client_request,
mock_get_service_history,
mock_get_users_by_service,
extra_args,
expected_headings_and_events,
):
page = client_request.get('main.history', service_id=SERVICE_ONE_ID, **extra_args)
assert page.select_one('h1').text == 'Audit events'
headings = page.select('main h2.heading-small')
events = page.select('main ul.bottom-gutter')
assert len(headings) == len(events) == len(expected_headings_and_events)
for index, expected in enumerate(expected_headings_and_events):
assert (
normalize_spaces(headings[index].text),
normalize_spaces(events[index].text),
) == expected