コード例 #1
0
 def test_getNextJobStatus_order(self):
     """Status should order by id."""
     with EventRecorder():
         packaging = self.factory.makePackagingLink()
     job = TranslationMergeJob.forPackaging(packaging)
     job.start()
     TranslationMergeJob.forPackaging(packaging)
     self.assertEqual(JobStatus.RUNNING,
                      TranslationMergeJob.getNextJobStatus(packaging))
コード例 #2
0
 def test_getNextJobStatus(self):
     """Should find next packaging job."""
     #suppress job creation.
     with EventRecorder():
         packaging = self.factory.makePackagingLink()
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
     TranslationMergeJob.forPackaging(packaging)
     self.assertEqual(JobStatus.WAITING,
                      TranslationMergeJob.getNextJobStatus(packaging))
コード例 #3
0
 def test_getNextJobStatus_order(self):
     """Status should order by id."""
     with EventRecorder():
         packaging = self.factory.makePackagingLink()
     job = TranslationMergeJob.forPackaging(packaging)
     job.start()
     TranslationMergeJob.forPackaging(packaging)
     self.assertEqual(JobStatus.RUNNING,
         TranslationMergeJob.getNextJobStatus(packaging))
コード例 #4
0
 def test_getNextJobStatus(self):
     """Should find next packaging job."""
     #suppress job creation.
     with EventRecorder():
         packaging = self.factory.makePackagingLink()
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
     TranslationMergeJob.forPackaging(packaging)
     self.assertEqual(
         JobStatus.WAITING,
         TranslationMergeJob.getNextJobStatus(packaging))
コード例 #5
0
 def test_getNextJobStatus_wrong_packaging(self):
     """Jobs on wrong packaging should be ignored."""
     #suppress job creation.
     with EventRecorder():
         packaging = self.factory.makePackagingLink()
     self.factory.makePackagingLink(productseries=packaging.productseries)
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
     self.factory.makePackagingLink()
     self.factory.makePackagingLink(distroseries=packaging.distroseries)
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
     TranslationMergeJob.create(
         sourcepackagename=packaging.sourcepackagename,
         distroseries=packaging.distroseries,
         productseries=self.factory.makeProductSeries())
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
コード例 #6
0
def make_translation_merge_job(factory, not_ubuntu=False):
    singular = factory.getUniqueString()
    upstream_pofile = factory.makePOFile(side=TranslationSide.UPSTREAM)
    upstream_potmsgset = factory.makePOTMsgSet(upstream_pofile.potemplate,
                                               singular)
    upstream = factory.makeCurrentTranslationMessage(
        pofile=upstream_pofile, potmsgset=upstream_potmsgset)
    if not_ubuntu:
        distroseries = factory.makeDistroSeries()
    else:
        distroseries = factory.makeUbuntuDistroSeries()
    package_potemplate = factory.makePOTemplate(
        distroseries=distroseries, name=upstream_pofile.potemplate.name)
    package_pofile = factory.makePOFile(potemplate=package_potemplate,
                                        language=upstream_pofile.language)
    package_potmsgset = factory.makePOTMsgSet(package_pofile.potemplate,
                                              singular)
    factory.makeCurrentTranslationMessage(pofile=package_pofile,
                                          potmsgset=package_potmsgset,
                                          translations=upstream.translations)
    productseries = upstream_pofile.potemplate.productseries
    distroseries = package_pofile.potemplate.distroseries
    sourcepackagename = package_pofile.potemplate.sourcepackagename
    return TranslationMergeJob.create(productseries=productseries,
                                      distroseries=distroseries,
                                      sourcepackagename=sourcepackagename)
コード例 #7
0
 def test_getNextJobStatus_wrong_type(self):
     """Only TranslationMergeJobs should result."""
     #suppress job creation.
     with EventRecorder():
         packaging = self.factory.makePackagingLink()
     TranslationSplitJob.forPackaging(packaging)
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
コード例 #8
0
def make_translation_merge_job(factory, not_ubuntu=False):
    singular = factory.getUniqueString()
    upstream_pofile = factory.makePOFile(side=TranslationSide.UPSTREAM)
    upstream_potmsgset = factory.makePOTMsgSet(
        upstream_pofile.potemplate, singular)
    upstream = factory.makeCurrentTranslationMessage(
        pofile=upstream_pofile, potmsgset=upstream_potmsgset)
    if not_ubuntu:
        distroseries = factory.makeDistroSeries()
    else:
        distroseries = factory.makeUbuntuDistroSeries()
    package_potemplate = factory.makePOTemplate(
        distroseries=distroseries, name=upstream_pofile.potemplate.name)
    package_pofile = factory.makePOFile(
        potemplate=package_potemplate, language=upstream_pofile.language)
    package_potmsgset = factory.makePOTMsgSet(
        package_pofile.potemplate, singular)
    factory.makeCurrentTranslationMessage(
        pofile=package_pofile, potmsgset=package_potmsgset,
        translations=upstream.translations)
    productseries = upstream_pofile.potemplate.productseries
    distroseries = package_pofile.potemplate.distroseries
    sourcepackagename = package_pofile.potemplate.sourcepackagename
    return TranslationMergeJob.create(
        productseries=productseries, distroseries=distroseries,
        sourcepackagename=sourcepackagename)
コード例 #9
0
 def test_getNextJobStatus_wrong_type(self):
     """Only TranslationMergeJobs should result."""
     #suppress job creation.
     with EventRecorder():
         packaging = self.factory.makePackagingLink()
     TranslationSplitJob.forPackaging(packaging)
     self.assertIs(
         None, TranslationMergeJob.getNextJobStatus(packaging))
コード例 #10
0
 def test_getNextJobStatus_wrong_packaging(self):
     """Jobs on wrong packaging should be ignored."""
     #suppress job creation.
     with EventRecorder():
         packaging = self.factory.makePackagingLink()
     self.factory.makePackagingLink(
         productseries=packaging.productseries)
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
     self.factory.makePackagingLink()
     self.factory.makePackagingLink(
         distroseries=packaging.distroseries)
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
     TranslationMergeJob.create(
         sourcepackagename=packaging.sourcepackagename,
         distroseries=packaging.distroseries,
         productseries=self.factory.makeProductSeries())
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
コード例 #11
0
 def test_getNextJobStatus_status(self):
     """Only RUNNING and WAITING jobs should influence status."""
     #suppress job creation.
     with EventRecorder():
         packaging = self.factory.makePackagingLink()
     job = TranslationMergeJob.forPackaging(packaging)
     job.start()
     self.assertEqual(JobStatus.RUNNING,
                      TranslationMergeJob.getNextJobStatus(packaging))
     job.fail()
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
     job2 = TranslationMergeJob.forPackaging(packaging)
     job2.start()
     job2.complete()
     job3 = TranslationMergeJob.forPackaging(packaging)
     job3.suspend()
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
コード例 #12
0
 def test_getNextJobStatus_status(self):
     """Only RUNNING and WAITING jobs should influence status."""
     #suppress job creation.
     with EventRecorder():
         packaging = self.factory.makePackagingLink()
     job = TranslationMergeJob.forPackaging(packaging)
     job.start()
     self.assertEqual(JobStatus.RUNNING,
         TranslationMergeJob.getNextJobStatus(packaging))
     job.fail()
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
     job2 = TranslationMergeJob.forPackaging(packaging)
     job2.start()
     job2.complete()
     job3 = TranslationMergeJob.forPackaging(packaging)
     job3.suspend()
     self.assertIs(None, TranslationMergeJob.getNextJobStatus(packaging))
コード例 #13
0
 def is_merge_job_running(self):
     """Is a merge job running for this source package?"""
     if not self.is_packaging_configured:
         return False
     return TranslationMergeJob.getNextJobStatus(
         self.context.direct_packaging) is not None