850 # doctest returns tuple (failure_count, test_count) |
850 # doctest returns tuple (failure_count, test_count) |
851 result = self.shell().process_script(testfile) |
851 result = self.shell().process_script(testfile) |
852 if result[0] and result[1]: |
852 if result[0] and result[1]: |
853 raise self.failureException("doctest file '%s' failed" |
853 raise self.failureException("doctest file '%s' failed" |
854 % testfile) |
854 % testfile) |
|
855 |
|
856 # notifications ############################################################ |
|
857 |
|
858 def assertSentEmail(self, subject, recipients=None, nb_msgs=None): |
|
859 """test recipients in system mailbox for given email subject |
|
860 |
|
861 :param subject: email subject to find in mailbox |
|
862 :param recipients: list of email recipients |
|
863 :param nb_msgs: expected number of entries |
|
864 :returns: list of matched emails |
|
865 """ |
|
866 messages = [email for email in MAILBOX |
|
867 if email.message.get('Subject') == subject] |
|
868 if recipients is not None: |
|
869 sent_to = set() |
|
870 for msg in messages: |
|
871 sent_to.update(msg.recipients) |
|
872 self.assertSetEqual(set(recipients), sent_to) |
|
873 if nb_msgs is not None: |
|
874 self.assertEqual(len(MAILBOX), nb_msgs) |
|
875 return messages |
855 |
876 |
856 # deprecated ############################################################### |
877 # deprecated ############################################################### |
857 |
878 |
858 @deprecated('[3.8] use self.execute(...).get_entity(0, 0)') |
879 @deprecated('[3.8] use self.execute(...).get_entity(0, 0)') |
859 def entity(self, rql, args=None, eidkey=None, req=None): |
880 def entity(self, rql, args=None, eidkey=None, req=None): |