2019-10-21 13:16:48 +01:00
|
|
|
|
import pytest
|
2019-10-21 14:14:59 +01:00
|
|
|
|
from freezegun import freeze_time
|
2019-10-18 16:09:39 +01:00
|
|
|
|
|
2019-10-21 13:16:48 +01:00
|
|
|
|
from tests.conftest import SERVICE_ONE_ID, normalize_spaces
|
2019-10-18 16:43:52 +01:00
|
|
|
|
|
|
|
|
|
|
|
2019-10-21 13:16:48 +01:00
|
|
|
|
@pytest.mark.parametrize('extra_args, expected_headings_and_events', (
|
|
|
|
|
|
({}, [
|
2019-10-18 16:43:52 +01:00
|
|
|
|
(
|
|
|
|
|
|
'12 December',
|
|
|
|
|
|
(
|
2019-10-23 15:05:26 +01:00
|
|
|
|
'Test User 1:13pm '
|
|
|
|
|
|
'Renamed this service from ‘Before lunch’ to ‘After lunch’ '
|
2019-10-21 14:08:18 +01:00
|
|
|
|
'Test User 12:12pm '
|
2019-10-23 15:05:26 +01:00
|
|
|
|
'Renamed this service from ‘Example service’ to ‘Before lunch’'
|
2019-10-18 16:43:52 +01:00
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
(
|
|
|
|
|
|
'11 November',
|
|
|
|
|
|
(
|
2019-10-21 14:08:18 +01:00
|
|
|
|
'Test User 12:12pm '
|
2019-10-18 16:43:52 +01:00
|
|
|
|
'Revoked the ‘Bad key’ API key'
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
(
|
2019-10-21 14:14:59 +01:00
|
|
|
|
'11 November 2011',
|
2019-10-18 16:43:52 +01:00
|
|
|
|
(
|
2019-10-21 14:08:18 +01:00
|
|
|
|
'Test User 11:11am '
|
2019-10-18 16:43:52 +01:00
|
|
|
|
'Created an API key called ‘Bad key’'
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
(
|
2019-10-21 14:14:59 +01:00
|
|
|
|
'10 October 2010',
|
2019-10-18 16:43:52 +01:00
|
|
|
|
(
|
2019-10-21 14:08:18 +01:00
|
|
|
|
'Test User 11:10am '
|
2019-10-21 13:16:48 +01:00
|
|
|
|
'Created an API key called ‘Good key’ '
|
2019-10-23 15:05:26 +01:00
|
|
|
|
'Test User 10:09am '
|
|
|
|
|
|
'Created an API key called ‘Key event returned in non-chronological order’ '
|
2019-10-21 14:08:18 +01:00
|
|
|
|
'Unknown 2:01am '
|
2019-10-21 13:16:48 +01:00
|
|
|
|
'Created this service and called it ‘Example service’'
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
]),
|
|
|
|
|
|
({'selected': 'api'}, [
|
|
|
|
|
|
(
|
|
|
|
|
|
'11 November',
|
|
|
|
|
|
(
|
2019-10-21 14:08:18 +01:00
|
|
|
|
'Test User 12:12pm '
|
2019-10-21 13:16:48 +01:00
|
|
|
|
'Revoked the ‘Bad key’ API key'
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
(
|
2019-10-21 14:14:59 +01:00
|
|
|
|
'11 November 2011',
|
2019-10-21 13:16:48 +01:00
|
|
|
|
(
|
2019-10-21 14:08:18 +01:00
|
|
|
|
'Test User 11:11am '
|
2019-10-21 13:16:48 +01:00
|
|
|
|
'Created an API key called ‘Bad key’'
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
(
|
2019-10-21 14:14:59 +01:00
|
|
|
|
'10 October 2010',
|
2019-10-21 13:16:48 +01:00
|
|
|
|
(
|
2019-10-21 14:08:18 +01:00
|
|
|
|
'Test User 11:10am '
|
2019-10-23 15:05:26 +01:00
|
|
|
|
'Created an API key called ‘Good key’ '
|
|
|
|
|
|
'Test User 10:09am '
|
|
|
|
|
|
'Created an API key called ‘Key event returned in non-chronological order’'
|
2019-10-18 16:43:52 +01:00
|
|
|
|
),
|
|
|
|
|
|
),
|
2019-10-21 13:16:48 +01:00
|
|
|
|
]),
|
|
|
|
|
|
({'selected': 'service'}, [
|
|
|
|
|
|
(
|
|
|
|
|
|
'12 December',
|
|
|
|
|
|
(
|
2019-10-23 15:05:26 +01:00
|
|
|
|
'Test User 1:13pm '
|
|
|
|
|
|
'Renamed this service from ‘Before lunch’ to ‘After lunch’ '
|
2019-10-21 14:08:18 +01:00
|
|
|
|
'Test User 12:12pm '
|
2019-10-23 15:05:26 +01:00
|
|
|
|
'Renamed this service from ‘Example service’ to ‘Before lunch’'
|
2019-10-21 13:16:48 +01:00
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
(
|
2019-10-21 14:14:59 +01:00
|
|
|
|
'10 October 2010',
|
2019-10-21 13:16:48 +01:00
|
|
|
|
(
|
2019-10-21 14:08:18 +01:00
|
|
|
|
'Unknown 2:01am '
|
2019-10-21 13:16:48 +01:00
|
|
|
|
'Created this service and called it ‘Example service’'
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
]),
|
|
|
|
|
|
))
|
2019-10-21 14:14:59 +01:00
|
|
|
|
@freeze_time("2012-01-01 01:01:01")
|
2019-10-21 13:16:48 +01:00
|
|
|
|
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
|