Exemple #1
0
 def test_10_minute_lease(self):
     self.useBzrBranches(direct_database=True)
     bmp = create_example_merge(self)[0]
     job = UpdatePreviewDiffJob.create(bmp)
     job.acquireLease()
     expiry_delta = job.lease_expires - datetime.now(pytz.UTC)
     self.assertTrue(500 <= expiry_delta.seconds, expiry_delta)
Exemple #2
0
def make_runnable_incremental_diff_job(test_case):
    test_case.useBzrBranches(direct_database=True)
    bmp, source_rev_id, target_rev_id = create_example_merge(test_case)
    repository = bmp.source_branch.getBzrBranch().repository
    parent_id = repository.get_revision(source_rev_id).parent_ids[0]
    test_case.factory.makeRevision(rev_id=source_rev_id)
    test_case.factory.makeRevision(rev_id=parent_id)
    return GenerateIncrementalDiffJob.create(bmp, parent_id, source_rev_id)
Exemple #3
0
 def test_10_minute_lease(self):
     """Newly-created jobs have a ten-minute lease."""
     self.useBzrBranches(direct_database=True)
     bmp = create_example_merge(self)[0]
     job = GenerateIncrementalDiffJob.create(bmp, 'old', 'new')
     with dbuser("merge-proposal-jobs"):
         job.acquireLease()
     expiry_delta = job.lease_expires - datetime.now(pytz.UTC)
     self.assertTrue(500 <= expiry_delta.seconds, expiry_delta)
Exemple #4
0
 def test_run(self):
     self.useBzrBranches(direct_database=True)
     bmp = create_example_merge(self)[0]
     job = UpdatePreviewDiffJob.create(bmp)
     self.factory.makeRevisionsForBranch(bmp.source_branch, count=1)
     bmp.source_branch.next_mirror_time = None
     with dbuser("merge-proposal-jobs"):
         JobRunner([job]).runAll()
     self.checkExampleMerge(bmp.preview_diff.text)
Exemple #5
0
 def test_UpdatePreviewDiffJob(self):
     """UpdatePreviewDiffJob runs under Celery."""
     self.useBzrBranches(direct_database=True)
     bmp = create_example_merge(self)[0]
     self.factory.makeRevisionsForBranch(bmp.source_branch, count=1)
     self.useFixture(FeatureFixture(
         {'jobs.celery.enabled_classes': 'UpdatePreviewDiffJob'}))
     with block_on_job():
         UpdatePreviewDiffJob.create(bmp)
         transaction.commit()
     self.assertIsNot(None, bmp.preview_diff)
Exemple #6
0
 def test_run_object_events(self):
     # While the job runs a single IObjectModifiedEvent is issued when the
     # preview diff has been calculated.
     self.useBzrBranches(direct_database=True)
     bmp = create_example_merge(self)[0]
     job = UpdatePreviewDiffJob.create(bmp)
     self.factory.makeRevisionsForBranch(bmp.source_branch, count=1)
     bmp.source_branch.next_mirror_time = None
     with dbuser("merge-proposal-jobs"):
         with EventRecorder() as event_recorder:
             JobRunner([job]).runAll()
     bmp_object_events = [
         event for event in event_recorder.events
         if (IObjectModifiedEvent.providedBy(event) and
             event.object == bmp)]
     self.assertEqual(
         1, len(bmp_object_events),
         "Expected one event, got: %r" % bmp_object_events)
     self.assertEqual(
         ["preview_diff"], bmp_object_events[0].edited_fields)