2020-10-22 15:33:28 +01:00
|
|
|
import re
|
|
|
|
|
import subprocess
|
|
|
|
|
from datetime import datetime
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_last_review_date():
|
|
|
|
|
statement_file_path = "app/templates/views/accessibility_statement.html"
|
|
|
|
|
|
|
|
|
|
# test local changes against master for a full diff of what will be merged
|
2023-08-25 09:12:23 -07:00
|
|
|
statement_diff = subprocess.run(
|
|
|
|
|
[f"git diff --exit-code origin/master -- {statement_file_path}"],
|
|
|
|
|
stdout=subprocess.PIPE,
|
|
|
|
|
shell=True,
|
|
|
|
|
)
|
2020-10-22 15:33:28 +01:00
|
|
|
|
|
|
|
|
# if statement has changed, test the review date was part of those changes
|
|
|
|
|
if statement_diff.returncode == 1:
|
2023-08-25 09:12:23 -07:00
|
|
|
raw_diff = statement_diff.stdout.decode("utf-8")
|
|
|
|
|
today = datetime.now().strftime("%d %B %Y")
|
|
|
|
|
with open(statement_file_path, "r") as statement_file:
|
|
|
|
|
current_review_date = re.search(
|
|
|
|
|
(r'"Last updated": "(\d{1,2} [A-Z]{1}[a-z]+ \d{4})"'),
|
|
|
|
|
statement_file.read(),
|
|
|
|
|
).group(1)
|
2020-10-22 15:33:28 +01:00
|
|
|
|
|
|
|
|
# guard against changes that don't need to update the review date
|
|
|
|
|
if current_review_date != today:
|
2022-01-05 11:53:09 +00:00
|
|
|
assert '"Last updated": "' in raw_diff
|