def test_send(self): start = datetime.datetime.now(pytz.UTC) self.mailgun1.send_email(Email( recipients=["%s@%s" % (self.mailgun2.address, self.mailgun2.domain)], cc=["%s@%s" % (self.mailgun3.address, self.mailgun3.domain)], subject="Test", body="<b>ohai</b>.")) time.sleep(1) self.mailgun1.send_email(Email( recipients=["%s@%s" % (self.mailgun2.address, self.mailgun2.domain)], cc=["%s@%s" % (self.mailgun3.address, self.mailgun3.domain)], subject="Test", body="<b>kthxbai</b>.")) end = datetime.datetime.now(pytz.UTC) + datetime.timedelta(minutes=1) while datetime.datetime.now(pytz.UTC) < end: emails2 = self.mailgun2.get_emails(start, end) emails3 = self.mailgun2.get_emails(start, end) if len(emails2) >= 2 and len(emails3) >= 2: break time.sleep(2) assert_equal(emails2, [ Email(sender=self.mailgun1.email, subject="Test", body="ohai."), Email(sender=self.mailgun1.email, subject="Test", body="kthxbai."), ]) assert_equal(emails3, [ Email(sender=self.mailgun1.email, subject="Test", body="ohai."), Email(sender=self.mailgun1.email, subject="Test", body="kthxbai."), ])
def exec_godfather(command, *, in_process=True): """Run 'godfather [command]' either within the process or in a shell.""" if in_process: runner = click.testing.CliRunner() result = runner.invoke(godfather.main.main, command + ["--verbose"]) if result.exception: raise result.exception mafia.assert_equal(0, result.exit_code) return result.output else: return self.exec(["python3", "godfather"] + command)
def check_and_clear_global_events(events): mafia.assert_equal(get_global_events(), events) clear_global_events()