~launchpad-results/launchpad-results/trunk

« back to all changes in this revision

Viewing changes to lib/lpresults/registry/testing/factories.py

  • Committer: Marc Tardif
  • Date: 2011-09-14 01:25:40 UTC
  • Revision ID: marc.tardif@canonical.com-20110914012540-1gs255vhv6kb0mg4
Added updating of submissions periodically.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
from lpresults.database.store import get_store
13
13
from lpresults.database.testing import factories as database_factories
14
14
 
15
 
from lpresults.registry.interfaces.distribution import IDistributionSet
 
15
from lpresults.registry.interfaces.distribution import (
 
16
    IDistribution,
 
17
    IDistributionSet,
 
18
    )
16
19
from lpresults.registry.interfaces.person import IPersonSet
17
 
from lpresults.registry.interfaces.project import IProjectSet
 
20
from lpresults.registry.interfaces.project import (
 
21
    IProject,
 
22
    IProjectSet,
 
23
    )
 
24
from lpresults.registry.interfaces.series import ISeriesSet
18
25
 
19
26
 
20
27
class DatabaseFactory(database_factories.DatabaseFactory):
31
38
 
32
39
        return getUtility(IPersonSet).create(name, identity)
33
40
 
34
 
    def makeDistribution(self, name=None, series_name=None):
 
41
    def makeDistribution(
 
42
        self, name=None, series_name=None, series_version=None):
 
43
 
35
44
        if name is None:
36
45
            name = self.getUniqueString(u"distribution-name")
37
46
        if series_name is None:
38
47
            series_name = self.getUniqueString(u"series-name")
 
48
        if series_version is None:
 
49
            series_version = self.getUniqueString(u"series-version")
39
50
 
40
 
        return getUtility(IDistributionSet).create(name, series_name)
 
51
        return getUtility(IDistributionSet).create(
 
52
            name, series_name, series_version)
41
53
 
42
54
    def makeDistroSeries(self, name=None, distribution_name=None):
43
55
        distribution = self.makeDistribution(distribution_name, name)
54
66
    def makeProjectSeries(self, name=None, project_name=None):
55
67
        project = self.makeProject(project_name, name)
56
68
        return project.development_focus
 
69
 
 
70
    def makeSeries(self, context, name=None, version=None):
 
71
        if name is None:
 
72
            name = self.getUniqueString(u"series-name")
 
73
 
 
74
        if IProject.providedBy(context):
 
75
            return ISeriesSet(context).new(name)
 
76
        elif IDistribution.providedBy(context):
 
77
            if version is None:
 
78
                version = self.getUniqueString(u"series-version")
 
79
            return ISeriesSet(context).new(name, version)
 
80
        else:
 
81
            raise Exception("Unsupported context: %r" % context)