def test_parse_linefeed_in_subject(self): bmail = b'Subject: Stage [my-pipeline/2/stage/1] \r\n failed\r\n\r\n' msg = gocd.Message(bmail) self.assertEqual(gocd.Event.FAILS, msg['event']) self.assertEqual('my-pipeline', msg['pipeline'])
def test_parse_unexpected(self): mail = EmailMessage() mail['Subject'] = 'Stage [my-pipeline/232/my-stage/1] other' msg = gocd.Message(mail.as_bytes()) self.assertEqual(None, msg['event']) self.assertEqual('my-pipeline', msg['pipeline'])
def test_parse_fails_pipeline(self): mail = EmailMessage() mail['Subject'] = 'Stage [my-pipeline/232/my-stage/1] failed' msg = gocd.Message(mail.as_bytes()) self.assertEqual(gocd.Event.FAILS, msg['event']) self.assertEqual('my-pipeline', msg['pipeline'])
def test_parse_cancelled_pipeline(self): mail = EmailMessage() mail['Subject'] = 'Stage [my-pipeline/232/my-stage/1] is cancelled' msg = gocd.Message(mail.as_bytes()) self.assertEqual(gocd.Event.CANCELLED, msg['event']) self.assertEqual('my-pipeline', msg['pipeline'])
def test_parse_breaks_pipeline(self): mail = EmailMessage() mail['Subject'] = 'Stage [my-pipeline/232/my-stage/1] is broken' msg = gocd.Message(mail.as_bytes()) self.assertEqual(gocd.Event.BREAKS, msg['event']) self.assertEqual('my-pipeline', msg['pipeline'])
def test_parse_event_mismatching_history_fixed_passed(self): bmail = b'Subject: Stage [my_pipeline/2/stage/1] \r\n is fixed\r\n\r\n' previous_states = {'my_pipeline/stage': gocd.BuildStateSuccess()} msg = gocd.Message(bmail, previous_states=previous_states) self.assertEqual(gocd.Event.FIXED, msg['event']) self.assertEqual('my_pipeline', msg['pipeline']) self.assertEqual(previous_states['my_pipeline/stage'], gocd.BuildStateSuccess())
def test_parse_event_mismatching_history_breaks_failed(self): bmail = b'Subject: Stage [my_pipeline/2/stage/1] \r\n is broken\r\n\r\n' previous_states = {'my_pipeline/stage': gocd.BuildStateFailure()} msg = gocd.Message(bmail, previous_states=previous_states) self.assertEqual(gocd.Event.BREAKS, msg['event']) self.assertEqual('my_pipeline', msg['pipeline']) self.assertEqual(previous_states['my_pipeline/stage'], gocd.BuildStateFailure())