l.a.t.t.TestNativeArchiveIndexesReparsing(TestNativePublishingBase) : class documentation

Part of lp.archivepublisher.tests.test_indices View In Hierarchy

Tests for ensuring the native archive indexes that we publish can be parsed correctly by apt_pkg.TagFile.
Method setUp Setup global attributes.
Method write_stanza_and_reparse Helper method to return the apt_pkg parser for the stanza.
Method test_binary_stanza Check a binary stanza with APT parser.
Method test_source_stanza Check a source stanza with APT parser.
Method test_source_with_corrupt_dsc_binaries Ensure corrupt binary fields are written correctly to indexes.
Method test_source_with_correct_dsc_binaries Ensure correct binary fields are written correctly to indexes.

Inherited from TestNativePublishingBase:

Method __init__ Undocumented
Method tearDown Tear down blows the pool dirs away.
Method getPubSource Overrides SoyuzTestPublisher.getPubSource.
Method getPubBinaries Overrides SoyuzTestPublisher.getPubBinaries.
Method checkPublication Assert the publication has the given status.
Method checkPublications Assert the given publications have the given status.
Method checkPastDate Assert given date is older than 'now'.
Method checkSuperseded Undocumented

Inherited from TestCaseWithFactory (via TestNativePublishingBase):

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 TestNativePublishingBase, 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.

Inherited from SoyuzTestPublisher (via TestNativePublishingBase):

Method setUpDefaultDistroSeries Set up a distroseries that will be used by default.
Method prepareBreezyAutotest Prepare ubuntutest/breezy-autotest for publications.
Method addFakeChroots Add fake chroots for all the architectures in distroseries.
Method regetBreezyAutotest Undocumented
Method addMockFile Add a mock file in Librarian.
Method addPackageUpload Undocumented
Method uploadBinaryForBuild Return the corresponding BinaryPackageRelease.
Method publishBinaryInArchive Return the corresponding BinaryPackagePublishingHistory.
Method createSource Create source with meaningful '.changes' file.
Method makeSourcePackageSummaryData Make test data for SourcePackage.summary.
Method updatePackageCache Undocumented
Method _findChangesFile File with given name fragment in directory tree starting at top.
def setUp(self):
Setup global attributes.
def write_stanza_and_reparse(self, stanza):
Helper method to return the apt_pkg parser for the stanza.
def test_binary_stanza(self):
Check a binary stanza with APT parser.
def test_source_stanza(self):
Check a source stanza with APT parser.
def test_source_with_corrupt_dsc_binaries(self):
Ensure corrupt binary fields are written correctly to indexes.

        This is a regression test for bug 436182.

        During upload, our custom parser at:
          lp.archiveuploader.tagfiles.parse_tagfile_lines
        strips leading spaces from subsequent lines of fields with values
        spanning multiple lines, such as the binary field, and in addition
        leaves a trailing '
' (which results in a blank line after the
        Binary field).

        The second issue causes apt_pkg.TagFile() to error during
        germination when it attempts to parse the generated Sources index.
        But the first issue will also cause apt_pkg.TagFile to skip each
        newline of a multiline field that is not preceded with a space.

        This test ensures that binary fields saved as such will continue
        to be written correctly to index files.

        This test can be removed if the parser is fixed and the corrupt
        data has been cleaned.
        
def test_source_with_correct_dsc_binaries(self):
Ensure correct binary fields are written correctly to indexes.

        During upload, our custom parser at:
          lp.archiveuploader.tagfiles.parse_tagfile_lines
        strips leading spaces from subsequent lines of fields with values
        spanning multiple lines, such as the binary field, and in addition
        leaves a trailing '
' (which results in a blank line after the
        Binary field).

        This test ensures that when our parser is updated to store the
        binary field in the same way that apt_pkg.TagFile would, that it
        will continue to be written correctly to index files.
        
API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.