Exemplo n.º 1
0
 def test_list_packages(self, *, rmock: requests_mock.Mocker) -> None:
     rmock.get(
         "http://test/api/snapshots/aptly-repo-1/packages",
         text=
         '["Pall postgresql-9.6-postgis-scripts 2.3.2+dfsg-1~exp2.pgdg90+1 5f70af798690300d"]'
     )
     self.assertEqual(self.sapi.list_packages("aptly-repo-1"), [
         Package(
             key=
             'Pall postgresql-9.6-postgis-scripts 2.3.2+dfsg-1~exp2.pgdg90+1 5f70af798690300d',
             short_key=None,
             files_hash=None,
             fields=None),
     ])
 def test_search(self, *, rmock: requests_mock.Mocker) -> None:
     rmock.get("http://test/api/repos/aptly-repo/packages",
               text='["Pamd64 authserver 0.1.14~dev0-1 1cc572a93625a9c9"]')
     self.assertListEqual(
         self.rapi.search_packages("aptly-repo"),
         [
             Package(
                 key="Pamd64 authserver 0.1.14~dev0-1 1cc572a93625a9c9",
                 short_key=None,
                 files_hash=None,
                 fields=None,
             )
         ],
     )
Exemplo n.º 3
0
    def test_list_packages_details(self, *,
                                   rmock: requests_mock.Mocker) -> None:
        rmock.get(
            "http://test/api/snapshots/aptly-repo-1/packages",
            text=
            '[{"Architecture":"all","Depends":"postgresql-9.6-postgis-2.3-scripts",'
            '"Description":" transitional dummy package\\n This is a transitional dummy package. '
            'It can safely be removed.\\n",'
            '"Filename":"postgresql-9.6-postgis-scripts_2.3.2+dfsg-1~exp2.pgdg90+1_all.deb",'
            '"FilesHash":"5f70af798690300d",'
            '"Homepage":"http://postgis.net/",'
            '"Installed-Size":"491",'
            '"Key":"Pall postgresql-9.6-postgis-scripts 2.3.2+dfsg-1~exp2.pgdg90+1 5f70af798690300d",'
            '"MD5sum":"56de7bac497e4ac34017f4d11e75fffb",'
            '"Maintainer":"Debian GIS Project \[email protected]\u003e",'
            '"Package":"postgresql-9.6-postgis-scripts",'
            '"Priority":"extra",'
            '"SHA1":"61bb9250e7a35be9b78808944e8cfbae1e70f67d",'
            '"SHA256":"01c0c4645e9100f7ddb6d05a9d36ad3866ac8d2e412b7c04163a9e65397ce05e",'
            '"Section":"oldlibs",'
            '"ShortKey":"Pall postgresql-9.6-postgis-scripts 2.3.2+dfsg-1~exp2.pgdg90+1",'
            '"Size":"468824","Source":"postgis","Version":"2.3.2+dfsg-1~exp2.pgdg90+1"}]'
        )
        parsed = self.sapi.list_packages(
            "aptly-repo-1",
            query="Name (% postgresql-9.6.-postgis-sc*)",
            detailed=True,
            with_deps=True)[0]
        expected = Package(
            key=
            'Pall postgresql-9.6-postgis-scripts 2.3.2+dfsg-1~exp2.pgdg90+1 5f70af798690300d',
            short_key=
            'Pall postgresql-9.6-postgis-scripts 2.3.2+dfsg-1~exp2.pgdg90+1',
            files_hash='5f70af798690300d',
            fields={
                'Maintainer':
                'Debian GIS Project <*****@*****.**>',
                'Size':
                '468824',
                'MD5sum':
                '56de7bac497e4ac34017f4d11e75fffb',
                'ShortKey':
                'Pall postgresql-9.6-postgis-scripts 2.3.2+dfsg-1~exp2.pgdg90+1',
                'FilesHash':
                '5f70af798690300d',
                'Filename':
                'postgresql-9.6-postgis-scripts_2.3.2+dfsg-1~exp2.pgdg90+1_all.deb',
                'Section':
                'oldlibs',
                'Homepage':
                'http://postgis.net/',
                'Description':
                ' transitional dummy package\n This is a transitional dummy package. '
                'It can safely be removed.\n',
                'Architecture':
                'all',
                'Priority':
                'extra',
                'Source':
                'postgis',
                'SHA1':
                '61bb9250e7a35be9b78808944e8cfbae1e70f67d',
                'Installed-Size':
                '491',
                'Version':
                '2.3.2+dfsg-1~exp2.pgdg90+1',
                'Depends':
                'postgresql-9.6-postgis-2.3-scripts',
                'Key':
                'Pall postgresql-9.6-postgis-scripts 2.3.2+dfsg-1~exp2.pgdg90+1 5f70af798690300d',
                'SHA256':
                '01c0c4645e9100f7ddb6d05a9d36ad3866ac8d2e412b7c04163a9e65397ce05e',
                'Package':
                'postgresql-9.6-postgis-scripts'
            })

        # mypy should detect this as ensuring that parsed.fields is not None, but it doesn't
        self.assertIsNotNone(parsed.fields)
        self.assertIsNotNone(expected.fields)

        self.assertDictEqual(
            parsed.fields if parsed.fields else
            {},  # make sure that mypy doesn't error on this being potentially None
            expected.fields if expected.fields else
            {},  # this can't happen unless Package.__init__ is fubared
        )
Exemplo n.º 4
0
 def test_show(self, *, rmock: requests_mock.Mocker) -> None:
     rmock.get(
         "http://test/api/packages/Pamd64%20authserver%200.1.14~dev0-1%201cc572a93625a9c9",
         text="""{"Architecture":"amd64",
              "Depends":"python3, python3-pip, python3-virtualenv, adduser, cron-daemon",
              "Description":" no description given\\n",
              "Filename":"authserver_0.1.14~dev0-1.deb",
              "FilesHash":"1cc572a93625a9c9",
              "Homepage":"http://example.com/no-uri-given",
              "Installed-Size":"74927",
              "Key":"Pamd64 authserver 0.1.14~dev0-1 1cc572a93625a9c9",
              "License":"unknown",
              "MD5sum":"03cca0794e63cf147b879e0a3695f523",
              "Maintainer":"Jonas Maurus",
              "Package":"authserver",
              "Priority":"extra",
              "Provides":"maurusnet-authserver",
              "SHA1":"9a77a31dba51f612ee08ee096381f0c7e8f97a42",
              "SHA256":"63555a135bf0aa1762d09fc622881aaf352cdb3b244da5d78278c7efa2dba8b7",
              "SHA512":"01f9ca888014599374bf7a2c8c46f895d7ef0dfea99dfd092007f9fc5d5fe57a2755b843eda296b65"""
         """cb6ac0f64b9bd88b507221a71825f5329fdda0e58728cd7",
              "Section":"default",
              "ShortKey":"Pamd64 authserver 0.1.14~dev0-1",
              "Size":"26623042",
              "Vendor":"root@test",
              "Version":"0.1.14~dev0-1"}""")
     pkg = self.papi.show(
         "Pamd64 authserver 0.1.14~dev0-1 1cc572a93625a9c9")
     self.assertEqual(
         pkg,
         Package(
             key='Pamd64 authserver 0.1.14~dev0-1 1cc572a93625a9c9',
             short_key='Pamd64 authserver 0.1.14~dev0-1',
             files_hash='1cc572a93625a9c9',
             fields={
                 'Architecture':
                 'amd64',
                 'Depends':
                 'python3, python3-pip, python3-virtualenv, adduser, cron-daemon',
                 'Description':
                 ' no description given\n',
                 'Filename':
                 'authserver_0.1.14~dev0-1.deb',
                 'FilesHash':
                 '1cc572a93625a9c9',
                 'Homepage':
                 'http://example.com/no-uri-given',
                 'Installed-Size':
                 '74927',
                 'Key':
                 'Pamd64 authserver 0.1.14~dev0-1 1cc572a93625a9c9',
                 'License':
                 'unknown',
                 'MD5sum':
                 '03cca0794e63cf147b879e0a3695f523',
                 'Maintainer':
                 'Jonas Maurus',
                 'Package':
                 'authserver',
                 'Priority':
                 'extra',
                 'Provides':
                 'maurusnet-authserver',
                 'SHA1':
                 '9a77a31dba51f612ee08ee096381f0c7e8f97a42',
                 'SHA256':
                 '63555a135bf0aa1762d09fc622881aaf352cdb3b244da5d78278c7efa2dba8b7',
                 'SHA512':
                 '01f9ca888014599374bf7a2c8c46f895d7ef0dfea99dfd092007f9fc5d5fe57a2755b843eda296b65cb6ac'
                 '0f64b9bd88b507221a71825f5329fdda0e58728cd7',
                 'Section':
                 'default',
                 'ShortKey':
                 'Pamd64 authserver 0.1.14~dev0-1',
                 'Size':
                 '26623042',
                 'Vendor':
                 'root@test',
                 'Version':
                 '0.1.14~dev0-1'
             }))