def get_release_template(release: release.Release, prev_release: release.Release, repo: repository.Repository) -> str: with open('ltfc/templates/default.md') as file: template = file.read() lead_time = get_lead_time(release, repo) if lead_time.days >= 30: lead_time_colour = 'critical' elif lead_time.days >= 10 and lead_time.days < 30: lead_time_colour = 'important' else: lead_time_colour = 'success' if prev_release: prev_lead_time = get_lead_time(prev_release, repo) prev_version = prev_release.get_tag_name() if lead_time > prev_lead_time: lead_time_difference = ''.join( ['+', format_urlsafe_time(lead_time - prev_lead_time)]) lead_time_difference_colour = 'critical' else: lead_time_difference = ''.join( ['--', format_urlsafe_time(prev_lead_time - lead_time)]) lead_time_difference_colour = 'success' else: prev_version = release.get_tag_name() lead_time_difference = '0m' lead_time_difference_colour = 'yellow' return template.format( version=release.get_tag_name(), lead_time=format_urlsafe_time(lead_time), lead_time_colour=lead_time_colour, prev_version=prev_version, repository=repo.get_full_name(), lead_time_difference=lead_time_difference, lead_time_difference_colour=lead_time_difference_colour)
def test_release(): release = Release(session, DATA_OBJECT) assert release.get_tag_name() == DATA_OBJECT['tag_name'], "get_tag_name output did not match" assert release.get_creation_time() == EXPECTED_DATE, "get_creation_time output did not match"