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
|
|
|
|
|
statement_diff = subprocess.run([f"git diff --exit-code origin/master -- {statement_file_path}"],
|
|
|
|
|
stdout=subprocess.PIPE, shell=True)
|
|
|
|
|
|
|
|
|
|
# if statement has changed, test the review date was part of those changes
|
|
|
|
|
if statement_diff.returncode == 1:
|
|
|
|
|
raw_diff = statement_diff.stdout.decode('utf-8')
|
|
|
|
|
today = datetime.now().strftime('%d %B %Y')
|
|
|
|
|
with open(statement_file_path, 'r') as statement_file:
|
2022-01-05 11:53:09 +00:00
|
|
|
current_review_date = re.search((r'"Last updated": "(\d{1,2} [A-Z]{1}[a-z]+ \d{4})"'),
|
2020-10-22 15:33:28 +01:00
|
|
|
statement_file.read()).group(1)
|
|
|
|
|
|
|
|
|
|
# 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
|