Exemplo n.º 1
0
 def test_MergeProposalUpdatedEmailJob(self):
     """MergeProposalUpdatedEmailJob runs under Celery."""
     bmp = self.factory.makeBranchMergeProposal()
     self.useFixture(FeatureFixture(
         {'jobs.celery.enabled_classes': 'MergeProposalUpdatedEmailJob'}))
     with block_on_job():
         MergeProposalUpdatedEmailJob.create(
             bmp, 'change', bmp.registrant)
         transaction.commit()
     self.assertEqual(2, len(pop_remote_notifications()))
Exemplo n.º 2
0
 def test_getOperationDescription(self):
     bmp = self.factory.makeBranchMergeProposal()
     job = MergeProposalUpdatedEmailJob.create(
         bmp, 'change', bmp.registrant)
     self.assertEqual(
         'emailing subscribers about merge proposal changes',
         job.getOperationDescription())
Exemplo n.º 3
0
 def test_providesInterface(self):
     """MergeProposalUpdatedEmailJob provides the expected interfaces."""
     bmp = self.factory.makeBranchMergeProposal()
     job = MergeProposalUpdatedEmailJob.create(
         bmp, 'change', bmp.registrant)
     verifyObject(IMergeProposalUpdatedEmailJob, job)
     verifyObject(IBranchMergeProposalJob, job)
Exemplo n.º 4
0
 def getProposalUpdatedEmailJob(self, merge_proposal):
     """Return the merge proposal updated email job."""
     jobs = list(
         IStore(BranchMergeProposalJob).find(
             BranchMergeProposalJob,
             BranchMergeProposalJob.branch_merge_proposal ==
             merge_proposal,
             BranchMergeProposalJob.job_type ==
             BranchMergeProposalJobType.MERGE_PROPOSAL_UPDATED))
     if len(jobs) == 0:
         return None
     elif len(jobs) == 1:
         return MergeProposalUpdatedEmailJob(jobs[0])
     else:
         self.fail('There are more than one jobs.')