def test_no_job_created_if_no_delta(self):
     """Ensure None is returned if no change has been made."""
     merge_proposal, person = self.makeProposalWithSubscriber()
     old_merge_proposal = Snapshot(
         merge_proposal, providing=providedBy(merge_proposal))
     event = ObjectModifiedEvent(
         merge_proposal, old_merge_proposal, [], merge_proposal.registrant)
     merge_proposal_modified(merge_proposal, event)
     self.assertIs(None, self.getProposalUpdatedEmailJob(merge_proposal))
Exemple #2
0
 def test_no_job_created_if_no_delta(self):
     """Ensure None is returned if no change has been made."""
     merge_proposal, person = self.makeProposalWithSubscriber()
     old_merge_proposal = Snapshot(
         merge_proposal, providing=providedBy(merge_proposal))
     event = ObjectModifiedEvent(
         merge_proposal, old_merge_proposal, [], merge_proposal.registrant)
     merge_proposal_modified(merge_proposal, event)
     self.assertIs(None, self.getProposalUpdatedEmailJob(merge_proposal))
Exemple #3
0
 def test_job_created_if_work_in_progress_merged(self):
     # If work in progress is merged, then that is email worthy.
     merge_proposal, person = self.makeProposalWithSubscriber(
         needs_review=False)
     old_merge_proposal = Snapshot(
         merge_proposal, providing=providedBy(merge_proposal))
     merge_proposal.setStatus(BranchMergeProposalStatus.MERGED)
     event = ObjectModifiedEvent(
         merge_proposal, old_merge_proposal, [], merge_proposal.registrant)
     merge_proposal_modified(merge_proposal, event)
     job = self.getProposalUpdatedEmailJob(merge_proposal)
     self.assertIsNot(None, job, 'Job was not created.')
Exemple #4
0
 def test_no_job_created_if_work_in_progress(self):
     """Ensure None is returned if no change has been made."""
     merge_proposal, person = self.makeProposalWithSubscriber(
         needs_review=False)
     old_merge_proposal = Snapshot(
         merge_proposal, providing=providedBy(merge_proposal))
     merge_proposal.commit_message = 'new commit message'
     merge_proposal.description = 'change description'
     event = ObjectModifiedEvent(
         merge_proposal, old_merge_proposal, [], merge_proposal.registrant)
     merge_proposal_modified(merge_proposal, event)
     self.assertIs(None, self.getProposalUpdatedEmailJob(merge_proposal))
 def test_job_created_if_work_in_progress_merged(self):
     # If work in progress is merged, then that is email worthy.
     merge_proposal, person = self.makeProposalWithSubscriber(
         needs_review=False)
     old_merge_proposal = Snapshot(
         merge_proposal, providing=providedBy(merge_proposal))
     merge_proposal.setStatus(BranchMergeProposalStatus.MERGED)
     event = ObjectModifiedEvent(
         merge_proposal, old_merge_proposal, [], merge_proposal.registrant)
     merge_proposal_modified(merge_proposal, event)
     job = self.getProposalUpdatedEmailJob(merge_proposal)
     self.assertIsNot(None, job, 'Job was not created.')
 def test_no_job_created_if_work_in_progress(self):
     """Ensure None is returned if no change has been made."""
     merge_proposal, person = self.makeProposalWithSubscriber(
         needs_review=False)
     old_merge_proposal = Snapshot(
         merge_proposal, providing=providedBy(merge_proposal))
     merge_proposal.commit_message = 'new commit message'
     merge_proposal.description = 'change description'
     event = ObjectModifiedEvent(
         merge_proposal, old_merge_proposal, [], merge_proposal.registrant)
     merge_proposal_modified(merge_proposal, event)
     self.assertIs(None, self.getProposalUpdatedEmailJob(merge_proposal))
Exemple #7
0
 def test_no_job_created_if_only_preview_diff_changed(self):
     """Ensure None is returned if only the preview diff has changed."""
     merge_proposal, person = self.makeProposalWithSubscriber()
     old_merge_proposal = Snapshot(
         merge_proposal, providing=providedBy(merge_proposal))
     merge_proposal.updatePreviewDiff(
         ''.join(unified_diff('', 'Fake diff')),
         unicode(self.factory.getUniqueString('revid')),
         unicode(self.factory.getUniqueString('revid')))
     event = ObjectModifiedEvent(
         merge_proposal, old_merge_proposal, [], merge_proposal.registrant)
     merge_proposal_modified(merge_proposal, event)
     self.assertIs(None, self.getProposalUpdatedEmailJob(merge_proposal))
 def test_no_job_created_if_only_preview_diff_changed(self):
     """Ensure None is returned if only the preview diff has changed."""
     merge_proposal, person = self.makeProposalWithSubscriber()
     old_merge_proposal = Snapshot(
         merge_proposal, providing=providedBy(merge_proposal))
     merge_proposal.updatePreviewDiff(
         ''.join(unified_diff('', 'Fake diff')),
         unicode(self.factory.getUniqueString('revid')),
         unicode(self.factory.getUniqueString('revid')))
     event = ObjectModifiedEvent(
         merge_proposal, old_merge_proposal, [], merge_proposal.registrant)
     merge_proposal_modified(merge_proposal, event)
     self.assertIs(None, self.getProposalUpdatedEmailJob(merge_proposal))
Exemple #9
0
 def makeProposalUpdatedEmailJob(self):
     """Fixture method providing a mailer for a modified merge proposal"""
     merge_proposal, subscriber = self.makeProposalWithSubscriber()
     old_merge_proposal = Snapshot(
         merge_proposal, providing=providedBy(merge_proposal))
     merge_proposal.requestReview()
     merge_proposal.commit_message = 'new commit message'
     merge_proposal.description = 'change description'
     event = ObjectModifiedEvent(
         merge_proposal, old_merge_proposal, [], merge_proposal.registrant)
     merge_proposal_modified(merge_proposal, event)
     job = self.getProposalUpdatedEmailJob(merge_proposal)
     self.assertIsNot(None, job, 'Job was not created.')
     return job, subscriber
Exemple #10
0
 def test_iterReady_supports_updated_emails(self):
     # iterReady will also return pending MergeProposalUpdatedEmailJob.
     bmp = self.makeBranchMergeProposal(
         set_state=BranchMergeProposalStatus.NEEDS_REVIEW)
     self.completePendingJobs()
     old_merge_proposal = (
         BranchMergeProposalNoPreviewDiffDelta.snapshot(bmp))
     bmp.commit_message = 'new commit message'
     event = ObjectModifiedEvent(
         bmp, old_merge_proposal, [], bmp.registrant)
     merge_proposal_modified(bmp, event)
     [job] = self.job_source.iterReady()
     self.assertEqual(job.branch_merge_proposal, bmp)
     self.assertIsInstance(job, MergeProposalUpdatedEmailJob)
 def makeProposalUpdatedEmailJob(self):
     """Fixture method providing a mailer for a modified merge proposal"""
     merge_proposal, subscriber = self.makeProposalWithSubscriber()
     old_merge_proposal = Snapshot(
         merge_proposal, providing=providedBy(merge_proposal))
     merge_proposal.requestReview()
     merge_proposal.commit_message = 'new commit message'
     merge_proposal.description = 'change description'
     event = ObjectModifiedEvent(
         merge_proposal, old_merge_proposal, [], merge_proposal.registrant)
     merge_proposal_modified(merge_proposal, event)
     job = self.getProposalUpdatedEmailJob(merge_proposal)
     self.assertIsNot(None, job, 'Job was not created.')
     return job, subscriber