def test_formatter_formats_states_with_exception_message(state): orig = slack_message_formatter(Task(), state(result=ZeroDivisionError("Nope"))) expected = "```ZeroDivisionError('Nope'" expected += ")```" if sys.version_info >= (3, 7) else ",)```" assert orig["attachments"][0]["fields"][0]["value"] == expected assert json.loads(json.dumps(orig)) == orig
def test_every_state_gets_a_unique_color(): all_states = [ Running, Pending, Finished, Failed, TriggerFailed, Cached, Scheduled, Retrying, Success, Skipped, ] colors = set() for state in all_states: color = slack_message_formatter(Task(), state())["attachments"][0]["color"] colors.add(color) assert len(colors) == len(all_states)
def test_formatter_formats_states(state): orig = slack_message_formatter(Task(), state()) assert json.loads(json.dumps(orig)) == orig
def test_formatter_formats_states_with_string_message(state): orig = slack_message_formatter(Task(), state(message="I am informative")) assert orig["attachments"][0]["fields"][0]["value"] == "I am informative" assert json.loads(json.dumps(orig)) == orig