l.b.s.t.t.TestEmailNotificationsWithFilters(TestCaseWithFactory) : class documentation

Part of lp.bugs.scripts.tests.test_bugnotification View In Hierarchy

Ensure outgoing mails have corresponding headers, accounting for mutes.

Every filter that could have potentially caused a notification to go off has a BugNotificationFilter record linking a BugNotification and a BugSubscriptionFilter.

From those records, we include all BugSubscriptionFilter.description in X-Subscription-Filter-Description headers in each email.

Every team filter that caused notifications might be muted for a given recipient. These can cause headers to be omitted, and if all filters that caused the notifications are omitted then the notification itself will not be sent.

Method setUp Undocumented
Method addNotificationRecipient Undocumented
Method addNotification Undocumented
Method addFilter Undocumented
Method getSubscriptionEmailHeaders Undocumented
Method getSubscriptionEmailBody Undocumented
Method test_header_empty Undocumented
Method test_header_single Undocumented
Method test_header_multiple Undocumented
Method test_header_other_subscriber_by_person Undocumented
Method test_body_empty Undocumented
Method test_body_single Undocumented
Method test_body_multiple Undocumented
Method test_muted Undocumented
Method test_header_multiple_one_muted Undocumented

Inherited from TestCaseWithFactory:

Method getUserBrowser Return a Browser logged in as a fresh user, maybe opened at url.
Method getNonRedirectingBrowser Undocumented
Method createBranchAtURL Create a branch at the supplied URL.
Method create_branch_and_tree Create a database branch, bzr branch and bzr checkout.
Method createBzrBranch Create a bzr branch for a database branch.
Static Method getBranchPath Return the path of the branch in the mirrored area.
Method useTempBzrHome Undocumented
Method useBzrBranches Prepare for using bzr branches.

Inherited from TestCase (via TestCaseWithFactory):

Method becomeDbUser Commit, then log into the database as dbuser.
Method __str__ The string representation of a test is its id.
Method useContext Use the supplied context in this test.
Method makeTemporaryDirectory Create a temporary directory, and return its path.
Method installKarmaRecorder Set up and return a KarmaRecorder.
Method assertProvides Assert 'obj' correctly provides 'interface'.
Method assertNotifies Assert that a callable performs a given notification.
Method assertNoNotification Assert that no notifications are generated by the callable.
Method assertSqlAttributeEqualsDate Fail unless the value of the attribute is equal to the date.
Method assertTextMatchesExpressionIgnoreWhitespace Undocumented
Method assertIsInstance Assert that an instance is an instance of assert_class.
Method assertIsNot Assert that expected is not the same object as observed.
Method assertContentEqual Assert that 'iter1' has the same content as 'iter2'.
Method assertRaisesWithContent Check if the given exception is raised with given content.
Method assertBetween Assert that 'variable' is strictly between two boundaries.
Method assertVectorEqual Apply assertEqual to all given pairs in one go.
Method expectedLog Expect a log to be written that matches the regex.
Method pushConfig Push some key-value pairs into a section of the config.
Method attachOopses Undocumented
Method attachLibrarianLog Include the logChunks from fixture in the test details.
Method assertStatementCount Assert that the expected number of SQL statements occurred.
Method useTempDir Use a temporary directory for this test.
Method assertEmailHeadersEqual Assert that two email headers are equal.
Method assertStartsWith Undocumented
Method assertEndsWith Asserts that s ends with suffix.
Method checkPermissions Check if the used_permissions match expected_permissions.
Method assertEmailQueueLength Pop the email queue, assert its length, and return it.
Method _unfoldEmailHeader Unfold a multiline email header.
def setUp(self):
def addNotificationRecipient(self, notification, person):
def addNotification(self, person):
def addFilter(self, description, subscription=None):
def getSubscriptionEmailHeaders(self, by_person=False):
def getSubscriptionEmailBody(self, by_person=False):
def test_header_empty(self):
def test_header_single(self):
def test_header_multiple(self):
def test_header_other_subscriber_by_person(self):
def test_body_empty(self):
def test_body_single(self):
def test_body_multiple(self):
def test_muted(self):
def test_header_multiple_one_muted(self):
API Documentation for Launchpad, generated by pydoctor at 2020-12-05 00:00:02.