l.a.t.t.TestBuilddUploads(TestStagedBinaryUploadBase) : class documentation

Part of lp.archiveuploader.tests.test_buildduploads View In Hierarchy

Test how buildd uploads behave inside Soyuz.

Buildd uploads are exclusively binary uploads which use 'buildd' upload policy.

An upload of a binaries does not necessary need to happen in the same batch, and Soyuz is prepared to cope with it.

The only mandatory condition is to process the sources first.

This class will start to tests all known/possible cases using a test (empty) upload and its binary.

This class allows uploads to ubuntu/breezy in i386 & powerpc architectures.

Method setupBreezy Extend breezy setup to enable uploads to powerpc architecture.
Method setUp Setup environment for binary uploads.
Method testDelayedBinaryUpload Check if Soyuz copes with delayed binary uploads.
Method _publishBuildQueueItem Publish build part of the given queue item.
Method _setupUploadProcessorForBuild Setup an UploadProcessor instance for a given buildd context.

Inherited from TestStagedBinaryUploadBase:

Method distribution Undocumented
Method distroseries Undocumented
Method package_name Undocumented
Method source_dir Undocumented
Method source_changesfile Undocumented
Method binary_dir Undocumented
Method getBinaryChangesfileFor Undocumented
Method assertBuildsCreated Assert that a given 'amount' of build records was created.
Method _prepareUpload Place a copy of the upload directory into incoming queue.
Method _uploadSource Upload and Accept (if necessary) the base source.
Method _uploadBinary Upload the base binary.
Method _createBuild Create a build record attached to the base source.

Inherited from TestUploadProcessorBase (via TestStagedBinaryUploadBase):

Method switchToUploader Undocumented
Method switchToAdmin Undocumented
Method tearDown Undocumented
Method getUploadProcessor Undocumented
Method publishPackage Publish a single package that is currently NEW in the queue.
Method assertLogContains Assert if a given line is present in the log messages.
Method assertRaisesAndReturnError See TestCase.assertRaises.
Method addMockFile Return a librarian file.
Method queueUpload Queue one of our test uploads.
Method processUpload Process an upload queue entry directory.
Method setupBreezyAndGetUploadProcessor Setup Breezy and return an upload processor for it.
Method assertEmails Check recent email content and recipients.
Method PGPSignatureNotPreserved PGP signatures should be removed from .changes files.

Inherited from TestCaseWithFactory (via TestStagedBinaryUploadBase, TestUploadProcessorBase):

Method getUserBrowser Return a Browser logged in as a fresh user, maybe opened at url.
Method getNonRedirectingBrowser Undocumented
Method createBranchAtURL Create a branch at the supplied URL.
Method create_branch_and_tree Create a database branch, bzr branch and bzr checkout.
Method createBzrBranch Create a bzr branch for a database branch.
Static Method getBranchPath Return the path of the branch in the mirrored area.
Method useTempBzrHome Undocumented
Method useBzrBranches Prepare for using bzr branches.

Inherited from TestCase (via TestStagedBinaryUploadBase, TestUploadProcessorBase, TestCaseWithFactory):

Method becomeDbUser Commit, then log into the database as dbuser.
Method __str__ The string representation of a test is its id.
Method useContext Use the supplied context in this test.
Method makeTemporaryDirectory Create a temporary directory, and return its path.
Method installKarmaRecorder Set up and return a KarmaRecorder.
Method assertProvides Assert 'obj' correctly provides 'interface'.
Method assertNotifies Assert that a callable performs a given notification.
Method assertNoNotification Assert that no notifications are generated by the callable.
Method assertSqlAttributeEqualsDate Fail unless the value of the attribute is equal to the date.
Method assertTextMatchesExpressionIgnoreWhitespace Undocumented
Method assertIsInstance Assert that an instance is an instance of assert_class.
Method assertIsNot Assert that expected is not the same object as observed.
Method assertContentEqual Assert that 'iter1' has the same content as 'iter2'.
Method assertRaisesWithContent Check if the given exception is raised with given content.
Method assertBetween Assert that 'variable' is strictly between two boundaries.
Method assertVectorEqual Apply assertEqual to all given pairs in one go.
Method expectedLog Expect a log to be written that matches the regex.
Method pushConfig Push some key-value pairs into a section of the config.
Method attachOopses Undocumented
Method attachLibrarianLog Include the logChunks from fixture in the test details.
Method assertStatementCount Assert that the expected number of SQL statements occurred.
Method useTempDir Use a temporary directory for this test.
Method assertEmailHeadersEqual Assert that two email headers are equal.
Method assertStartsWith Undocumented
Method assertEndsWith Asserts that s ends with suffix.
Method checkPermissions Check if the used_permissions match expected_permissions.
Method assertEmailQueueLength Pop the email queue, assert its length, and return it.
Method _unfoldEmailHeader Unfold a multiline email header.
def setupBreezy(self):
Extend breezy setup to enable uploads to powerpc architecture.
def setUp(self):

Setup environment for binary uploads.

  1. import pub GPG keys
  2. setup ubuntu/breezy for i386 & powerpc
  3. override policy to upload the source in question via TestStagedBinaryUploadBase.setUp()
  4. restore 'buildd' policy.
def _publishBuildQueueItem(self, queue_item):
Publish build part of the given queue item.
def _setupUploadProcessorForBuild(self):
Setup an UploadProcessor instance for a given buildd context.
def testDelayedBinaryUpload(self):
Check if Soyuz copes with delayed binary uploads.

The binaries are build asynchronously, which means we can't predict if the builds for all architectures of a given source will be delivered within the same publication cycle.

Find more information on bug #89846.

API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.