launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #01121
[Merge] lp:~stevenk/launchpad/db-add-parameters-to-idsjob into lp:launchpad
Steve Kowalik has proposed merging lp:~stevenk/launchpad/db-add-parameters-to-idsjob into lp:launchpad.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
This branch allows callers adding a new InitialiseDistroSeriesJob to also pass in the optional arguments arches and packagesets which get passed down the stack to the IntialiseDistroSeries call.
--
https://code.launchpad.net/~stevenk/launchpad/db-add-parameters-to-idsjob/+merge/36020
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~stevenk/launchpad/db-add-parameters-to-idsjob into lp:launchpad.
=== modified file 'lib/lp/soyuz/model/initialisedistroseriesjob.py'
--- lib/lp/soyuz/model/initialisedistroseriesjob.py 2010-09-16 01:38:42 +0000
+++ lib/lp/soyuz/model/initialisedistroseriesjob.py 2010-09-20 14:48:04 +0000
@@ -33,16 +33,26 @@
classProvides(IInitialiseDistroSeriesJobSource)
@classmethod
- def create(cls, distroseries):
+ def create(cls, distroseries, arches=(), packagesets=()):
"""See `IInitialiseDistroSeriesJob`."""
+ metadata = {'arches': arches, 'packagesets': packagesets}
job = DistributionJob(
distroseries.distribution, distroseries, cls.class_job_type,
- ())
+ metadata)
IMasterStore(DistributionJob).add(job)
return cls(job)
+ @property
+ def arches(self):
+ return tuple(self.metadata['arches'])
+
+ @property
+ def packagesets(self):
+ return tuple(self.metadata['packagesets'])
+
def run(self):
"""See `IRunnableJob`."""
- ids = InitialiseDistroSeries(self.distroseries)
+ # XXX self.packagesets is missing
+ ids = InitialiseDistroSeries(self.distroseries, self.arches)
ids.check()
ids.initialise()
=== modified file 'lib/lp/soyuz/tests/test_initialisedistroseriesjob.py'
--- lib/lp/soyuz/tests/test_initialisedistroseriesjob.py 2010-09-16 01:38:42 +0000
+++ lib/lp/soyuz/tests/test_initialisedistroseriesjob.py 2010-09-20 14:48:04 +0000
@@ -72,3 +72,18 @@
# returns an InitialisationError, then it's good.
self.assertRaisesWithContent(
InitialisationError, "Parent series required.", job.run)
+
+ def test_arguments(self):
+ """Test that InitialiseDistroSeriesJob specified with arguments can
+ be gotten out again."""
+ distroseries = self.factory.makeDistroSeries()
+ arches = (u'i386', u'amd64')
+ packagesets = (u'foo', u'bar', u'baz')
+
+ job = getUtility(IInitialiseDistroSeriesJobSource).create(
+ distroseries, arches, packagesets)
+
+ naked_job = removeSecurityProxy(job)
+ self.assertEqual(naked_job.distroseries, distroseries)
+ self.assertEqual(naked_job.arches, arches)
+ self.assertEqual(naked_job.packagesets, packagesets)
Follow ups