Merge lp:~jtv/launchpad/buildfarmjob-getspecificjob-translationtemplatesbuild into lp:launchpad/db-devel

Proposed by Jeroen T. Vermeulen
Status: Merged
Approved by: Jeroen T. Vermeulen
Approved revision: no longer in the source branch.
Merged at revision: 9793
Proposed branch: lp:~jtv/launchpad/buildfarmjob-getspecificjob-translationtemplatesbuild
Merge into: lp:launchpad/db-devel
Prerequisite: lp:~jtv/launchpad/translationtemplatesbuild
Diff against target: 77 lines (+26/-0)
3 files modified
lib/lp/translations/configure.zcml (+6/-0)
lib/lp/translations/model/translationtemplatesbuild.py (+10/-0)
lib/lp/translations/tests/test_translationtemplatesbuild.py (+10/-0)
To merge this branch: bzr merge lp:~jtv/launchpad/buildfarmjob-getspecificjob-translationtemplatesbuild
Reviewer Review Type Date Requested Status
Michael Nelson (community) code Approve
Review via email: mp+34965@code.launchpad.net

Commit message

Make BuildFarmJob.getSpecificJob work for TranslationTemplateBuilds.

Description of the change

= BuildFarmJob.getSpecificJob for TranslationTemplatesBuild =

Completes the work on today's update of the Translations buildfarm classes to the current model: make sure BuildFarmJob.getSpecificJob works for TranslationTemplateBuild objects.

Jeroen

To post a comment you must log in.
Revision history for this message
Michael Nelson (michael.nelson) wrote :

Great, thanks Jeroen. If you haven't already, (or maybe as part of your QA), please ensure it displays as you'd expect in the builder history pages.

review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/lp/translations/configure.zcml'
2--- lib/lp/translations/configure.zcml 2010-09-10 11:51:15 +0000
3+++ lib/lp/translations/configure.zcml 2010-09-10 11:51:17 +0000
4@@ -609,6 +609,12 @@
5 component="lp.translations.model.translationtemplatesbuildjob.TranslationTemplatesBuildJob"
6 provides="lp.buildmaster.interfaces.buildfarmjob.IBuildFarmJob"
7 name="TRANSLATIONTEMPLATESBUILD"/>
8+ <adapter
9+ provides="lp.buildmaster.interfaces.buildfarmjob.ISpecificBuildFarmJob"
10+ for="lp.buildmaster.interfaces.buildfarmjob.IBuildFarmJob"
11+ factory="lp.translations.model.translationtemplatesbuild.get_translation_templates_build_for_build_farm_job"
12+ name="TRANSLATIONTEMPLATESBUILD"
13+ permission="zope.Public"/>
14
15 <!-- TranslationTemplatesBuild -->
16 <class
17
18=== modified file 'lib/lp/translations/model/translationtemplatesbuild.py'
19--- lib/lp/translations/model/translationtemplatesbuild.py 2010-09-10 11:51:15 +0000
20+++ lib/lp/translations/model/translationtemplatesbuild.py 2010-09-10 11:51:17 +0000
21@@ -13,10 +13,12 @@
22 Reference,
23 Storm,
24 )
25+from storm.store import Store
26 from zope.interface import (
27 classProvides,
28 implements,
29 )
30+from zope.security.proxy import ProxyFactory
31
32 from canonical.launchpad.interfaces.lpstorm import IMasterStore
33 from lp.buildmaster.model.buildfarmjob import BuildFarmJobDerived
34@@ -69,3 +71,11 @@
35 self.branch, BranchJobType.TRANSLATION_TEMPLATES_BUILD, metadata)
36 store.add(branch_job)
37 return TranslationTemplatesBuildJob(branch_job)
38+
39+
40+def get_translation_templates_build_for_build_farm_job(build_farm_job):
41+ """Return a `TranslationTemplatesBuild` from its `BuildFarmJob`."""
42+ build = Store.of(build_farm_job).find(
43+ TranslationTemplatesBuild,
44+ TranslationTemplatesBuild.build_farm_job == build_farm_job).one()
45+ return ProxyFactory(build)
46
47=== modified file 'lib/lp/translations/tests/test_translationtemplatesbuild.py'
48--- lib/lp/translations/tests/test_translationtemplatesbuild.py 2010-09-10 11:51:15 +0000
49+++ lib/lp/translations/tests/test_translationtemplatesbuild.py 2010-09-10 11:51:17 +0000
50@@ -14,6 +14,7 @@
51 from lp.buildmaster.interfaces.buildfarmjob import (
52 IBuildFarmJob,
53 IBuildFarmJobSource,
54+ ISpecificBuildFarmJob,
55 )
56 from lp.testing import TestCaseWithFactory
57 from lp.translations.interfaces.translationtemplatesbuild import (
58@@ -52,6 +53,7 @@
59
60 self.assertTrue(verifyObject(ITranslationTemplatesBuild, build))
61 self.assertTrue(verifyObject(IBuildFarmJob, build))
62+ self.assertTrue(verifyObject(ISpecificBuildFarmJob, build))
63 self.assertEqual(build_farm_job, build.build_farm_job)
64 self.assertEqual(branch, build.branch)
65
66@@ -64,3 +66,11 @@
67
68 translationtemplatesbuildjob = jobset.create(branch)
69 self.assertNotEqual(None, self._findBuildForBranch(branch))
70+
71+ def test_getSpecificJob(self):
72+ source = getUtility(ITranslationTemplatesBuildSource)
73+ build_farm_job = self._makeBuildFarmJob()
74+ branch = self.factory.makeBranch()
75+ build = source.create(build_farm_job, branch)
76+
77+ self.assertEqual(build, build_farm_job.getSpecificJob())

Subscribers

People subscribed via source and target branches

to status/vote changes: