~intellectronica/launchpad/windmill-506018-patch-report

« back to all changes in this revision

Viewing changes to lib/lp/testing/factory.py

  • Committer: Karl Fogel
  • Date: 2010-01-21 15:32:31 UTC
  • mfrom: (10137.2.75 launchpad)
  • Revision ID: karl.fogel@canonical.com-20100121153231-0dd4a2l98h7xvpjf
MergeĀ fromĀ devel.

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
    ]
15
15
 
16
16
from datetime import datetime, timedelta
17
 
from email.Encoders import encode_base64
18
 
from email.Utils import make_msgid, formatdate
19
 
from email.Message import Message as EmailMessage
20
 
from email.MIMEText import MIMEText
21
 
from email.MIMEMultipart import MIMEMultipart
 
17
from email.encoders import encode_base64
 
18
from email.utils import make_msgid, formatdate
 
19
from email.message import Message as EmailMessage
 
20
from email.mime.text import MIMEText
 
21
from email.mime.multipart import MIMEMultipart
22
22
from itertools import count
23
23
from StringIO import StringIO
24
24
import os.path
76
76
from lp.translations.interfaces.translationgroup import (
77
77
    ITranslationGroupSet)
78
78
from lp.translations.interfaces.translator import ITranslatorSet
79
 
from lp.translations.interfaces.translationsperson import ITranslationsPerson 
 
79
from lp.translations.interfaces.translationsperson import ITranslationsPerson
80
80
from canonical.launchpad.ftests._sqlobject import syncUpdate
81
81
from lp.services.mail.signedmessage import SignedMessage
82
82
from lp.services.worlddata.interfaces.country import ICountrySet
100
100
from lp.registry.model.milestone import Milestone
101
101
from lp.registry.model.suitesourcepackage import SuiteSourcePackage
102
102
from lp.registry.interfaces.distribution import IDistributionSet
103
 
from lp.registry.interfaces.distroseries import (
104
 
    DistroSeriesStatus, IDistroSeries)
 
103
from lp.registry.interfaces.series import SeriesStatus
 
104
from lp.registry.interfaces.distroseries import IDistroSeries
105
105
from lp.registry.interfaces.gpg import GPGKeyAlgorithm, IGPGKeySet
106
106
from lp.registry.interfaces.mailinglist import (
107
107
    IMailingListSet, MailingListStatus)
512
512
            group = self.makeTranslationGroup()
513
513
        if person is None:
514
514
            person = self.makePerson()
515
 
        ITranslationsPerson(person).translations_relicensing_agreement = license
 
515
        ITranslationsPerson(person).translations_relicensing_agreement = (
 
516
            license)
516
517
        return getUtility(ITranslatorSet).new(group, language, person)
517
518
 
518
519
    def makeMilestone(
527
528
                         productseries=productseries,
528
529
                         name=name)
529
530
 
530
 
    def makeProductRelease(self, milestone=None, product=None):
 
531
    def makeProductRelease(self, milestone=None, product=None,
 
532
                           productseries=None):
531
533
        if milestone is None:
532
 
            milestone = self.makeMilestone(product=product)
 
534
            milestone = self.makeMilestone(product=product,
 
535
                                           productseries=productseries)
533
536
        return milestone.createProductRelease(
534
537
            milestone.product.owner, datetime.now(pytz.UTC))
535
538
 
536
 
    def makeProductReleaseFile(self, signed=True):
 
539
    def makeProductReleaseFile(self, signed=True,
 
540
                               product=None, productseries=None,
 
541
                               milestone=None,
 
542
                               release=None,
 
543
                               description="test file"):
537
544
        signature_filename = None
538
545
        signature_content = None
539
546
        if signed:
540
547
            signature_filename = 'test.txt.asc'
541
548
            signature_content = '123'
542
 
        release = self.makeProductRelease()
 
549
        if release is None:
 
550
            release = self.makeProductRelease(product=product,
 
551
                                              productseries=productseries,
 
552
                                              milestone=milestone)
543
553
        return release.addReleaseFile(
544
554
            'test.txt', 'test', 'text/plain',
545
555
            uploader=release.milestone.product.owner,
546
556
            signature_filename=signature_filename,
547
557
            signature_content=signature_content,
548
 
            description="test file")
 
558
            description=description)
549
559
 
550
560
    def makeProduct(self, *args, **kwargs):
551
561
        """As makeProductNoCommit with an explicit transaction commit.
1436
1446
            members, owner)
1437
1447
 
1438
1448
    def makeDistroRelease(self, distribution=None, version=None,
1439
 
                          status=DistroSeriesStatus.DEVELOPMENT,
 
1449
                          status=SeriesStatus.DEVELOPMENT,
1440
1450
                          parent_series=None, name=None):
1441
1451
        """Make a new distro release."""
1442
1452
        if distribution is None: