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
|
|
|
|
|
|
|
|
|
|
|
2023-08-25 09:12:23 -07:00
|
|
|
|
@pytest.mark.parametrize(
|
2023-09-11 16:51:30 -04:00
|
|
|
|
("extra_args", "expected_headings_and_events"),
|
|
|
|
|
|
[
|
2019-10-18 16:43:52 +01:00
|
|
|
|
(
|
2023-08-25 09:12:23 -07:00
|
|
|
|
{},
|
|
|
|
|
|
[
|
|
|
|
|
|
(
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"12 December 2012",
|
2023-08-25 09:12:23 -07:00
|
|
|
|
(
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"Test User 13:13 "
|
2023-08-25 09:12:23 -07:00
|
|
|
|
"Renamed this service from ‘Before lunch’ to ‘After lunch’ "
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"Test User 12:12 "
|
2023-08-25 09:12:23 -07:00
|
|
|
|
"Renamed this service from ‘Example service’ to ‘Before lunch’"
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
(
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"11 November 2012",
|
|
|
|
|
|
("Test User 12:12 " "Revoked the ‘Bad key’ API key"),
|
2023-08-25 09:12:23 -07:00
|
|
|
|
),
|
|
|
|
|
|
(
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"11 November",
|
|
|
|
|
|
("Test User 11:11 " "Created an API key called ‘Bad key’"),
|
2023-08-25 09:12:23 -07:00
|
|
|
|
),
|
|
|
|
|
|
(
|
|
|
|
|
|
"10 October 2010",
|
|
|
|
|
|
(
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"Test User 11:10 "
|
2023-08-25 09:12:23 -07:00
|
|
|
|
"Created an API key called ‘Good key’ "
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"Test User 10:09 "
|
2023-08-25 09:12:23 -07:00
|
|
|
|
"Created an API key called ‘Key event returned in non-chronological order’ "
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"Test User 02:01 "
|
2023-08-25 09:12:23 -07:00
|
|
|
|
"Created this service and called it ‘Example service’"
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
],
|
2019-10-18 16:43:52 +01:00
|
|
|
|
),
|
|
|
|
|
|
(
|
2023-08-25 09:12:23 -07:00
|
|
|
|
{"selected": "api"},
|
|
|
|
|
|
[
|
|
|
|
|
|
(
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"11 November 2012",
|
|
|
|
|
|
("Test User 12:12 " "Revoked the ‘Bad key’ API key"),
|
2023-08-25 09:12:23 -07:00
|
|
|
|
),
|
|
|
|
|
|
(
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"11 November",
|
|
|
|
|
|
("Test User 11:11 " "Created an API key called ‘Bad key’"),
|
2023-08-25 09:12:23 -07:00
|
|
|
|
),
|
|
|
|
|
|
(
|
|
|
|
|
|
"10 October 2010",
|
|
|
|
|
|
(
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"Test User 11:10 "
|
2023-08-25 09:12:23 -07:00
|
|
|
|
"Created an API key called ‘Good key’ "
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"Test User 10:09 "
|
2023-08-25 09:12:23 -07:00
|
|
|
|
"Created an API key called ‘Key event returned in non-chronological order’"
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
],
|
2019-10-18 16:43:52 +01:00
|
|
|
|
),
|
|
|
|
|
|
(
|
2023-08-25 09:12:23 -07:00
|
|
|
|
{"selected": "service"},
|
|
|
|
|
|
[
|
|
|
|
|
|
(
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"12 December 2012",
|
2023-08-25 09:12:23 -07:00
|
|
|
|
(
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"Test User 13:13 "
|
2023-08-25 09:12:23 -07:00
|
|
|
|
"Renamed this service from ‘Before lunch’ to ‘After lunch’ "
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"Test User 12:12 "
|
2023-08-25 09:12:23 -07:00
|
|
|
|
"Renamed this service from ‘Example service’ to ‘Before lunch’"
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
(
|
|
|
|
|
|
"10 October 2010",
|
|
|
|
|
|
(
|
2023-11-16 12:24:27 -08:00
|
|
|
|
"Test User 02:01 "
|
2023-08-25 09:12:23 -07:00
|
|
|
|
"Created this service and called it ‘Example service’"
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
],
|
2019-10-18 16:43:52 +01:00
|
|
|
|
),
|
2023-09-11 16:51:30 -04:00
|
|
|
|
],
|
2023-08-25 09:12:23 -07:00
|
|
|
|
)
|
2023-06-12 15:49:48 -04: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,
|
|
|
|
|
|
):
|
2023-08-25 09:12:23 -07:00
|
|
|
|
page = client_request.get("main.history", service_id=SERVICE_ONE_ID, **extra_args)
|
2019-10-21 13:16:48 +01:00
|
|
|
|
|
2023-08-25 09:12:23 -07:00
|
|
|
|
assert page.select_one("h1").text == "Audit events"
|
2019-10-21 13:16:48 +01:00
|
|
|
|
|
2023-08-25 09:12:23 -07:00
|
|
|
|
headings = page.select("main h2.heading-small")
|
|
|
|
|
|
events = page.select("main ul.bottom-gutter")
|
2019-10-21 13:16:48 +01:00
|
|
|
|
|
|
|
|
|
|
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
|