コード例 #1
0
 def test_Packages_file_empty_with_no_deb_content(self):
     package1 = DummyFetchedPackage("foo", "1.1", no_content=True)
     package2 = DummyFetchedPackage("bar", "1.1", no_content=True)
     hwpack = HardwarePack(self.metadata)
     hwpack.add_packages([package1, package2])
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("pkgs/Packages", content=""))
コード例 #2
0
 def test_Packages_file_correct_content_with_some_deb_content(self):
     package1 = DummyFetchedPackage("foo", "1.1", no_content=True)
     package2 = DummyFetchedPackage("bar", "1.1")
     hwpack = HardwarePack(self.metadata)
     hwpack.add_packages([package1, package2])
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("pkgs/Packages", content=get_packages_file([package2])))
コード例 #3
0
 def test_manifest_contains_package_info(self):
     package1 = DummyFetchedPackage("foo", "1.1")
     package2 = DummyFetchedPackage("bar", "1.2")
     hwpack = HardwarePack(self.metadata)
     hwpack.add_packages([package1, package2])
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("manifest", content="foo=1.1\nbar=1.2\n"))
コード例 #4
0
 def test_add_packages_without_content_leaves_out_debs(self):
     package1 = DummyFetchedPackage("foo", "1.1", no_content=True)
     hwpack = HardwarePack(self.metadata)
     hwpack.add_packages([package1])
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf, Not(HardwarePackHasFile("pkgs/%s" % package1.filename)))
コード例 #5
0
 def test_manifest_contains_package_info(self):
     package1 = DummyFetchedPackage("foo", "1.1")
     package2 = DummyFetchedPackage("bar", "1.2")
     hwpack = HardwarePack(self.metadata)
     hwpack.add_packages([package1, package2])
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf, HardwarePackHasFile("manifest", content="foo=1.1\nbar=1.2\n"))
コード例 #6
0
 def test_adds_multiple_packages_at_once(self):
     package1 = DummyFetchedPackage("foo", "1.1")
     package2 = DummyFetchedPackage("bar", "1.1")
     hwpack = HardwarePack(self.metadata)
     hwpack.add_packages([package1, package2])
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("pkgs/%s" % package1.filename, content=package1.content.read()))
     self.assertThat(tf, HardwarePackHasFile("pkgs/%s" % package2.filename, content=package2.content.read()))
コード例 #7
0
 def test_adds_multiple_sources_list_files(self):
     hwpack = HardwarePack(self.metadata)
     source1 = "http://example.org/ ubuntu main universe"
     source2 = "http://example.org/ linaro"
     hwpack.add_apt_sources({"ubuntu": source1, "linaro": source2})
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("sources.list.d/ubuntu.list", content="deb " + source1 + "\n"))
     self.assertThat(tf, HardwarePackHasFile("sources.list.d/linaro.list", content="deb " + source2 + "\n"))
コード例 #8
0
 def test_overwrites_sources_list_file(self):
     hwpack = HardwarePack(self.metadata)
     old_source = "http://example.org/ ubuntu"
     hwpack.add_apt_sources({"ubuntu": old_source})
     new_source = "http://example.org/ ubuntu main universe"
     hwpack.add_apt_sources({"ubuntu": new_source})
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("sources.list.d/ubuntu.list", content="deb " + new_source + "\n"))
コード例 #9
0
 def test_adds_packages(self):
     package = DummyFetchedPackage("foo", "1.1")
     hwpack = HardwarePack(self.metadata)
     hwpack.add_packages([package])
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf,
         HardwarePackHasFile("pkgs/%s" % package.filename,
                             content=package.content.read()))
コード例 #10
0
 def test_adds_sources_list_file(self):
     hwpack = HardwarePack(self.metadata)
     source = 'http://example.org/ ubuntu'
     hwpack.add_apt_sources({'ubuntu': source})
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf,
         HardwarePackHasFile("sources.list.d/ubuntu.list",
                             content="deb " + source + "\n"))
コード例 #11
0
 def test_Packages_file_correct_contents_with_packages(self):
     package1 = DummyFetchedPackage("foo", "1.1")
     package2 = DummyFetchedPackage("bar", "1.1")
     hwpack = HardwarePack(self.metadata)
     hwpack.add_packages([package1, package2])
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf,
         HardwarePackHasFile("pkgs/Packages",
                             content=get_packages_file([package1,
                                                        package2])))
コード例 #12
0
    def test_password_removed_from_urls(self):
        hwpack = HardwarePack(self.metadata)

        url = "https://*****:*****@hostname/url precise main"
        hwpack.add_apt_sources({"protected": url})

        tf = self.get_tarfile(hwpack)
        try:
            self.assertThat(tf, HardwarePackHasFile("sources.list.d/protected.list", content="deb " + url + "\n"))
        except MismatchError:
            pass  # Expect to not find the password protected URL
        else:
            self.assertTrue(False, "Found password protected URL in hwpack")
コード例 #13
0
 def test_adds_multiple_sources_list_files(self):
     hwpack = HardwarePack(self.metadata)
     source1 = 'http://example.org/ ubuntu main universe'
     source2 = 'http://example.org/ linaro'
     hwpack.add_apt_sources({'ubuntu': source1, 'linaro': source2})
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf,
         HardwarePackHasFile("sources.list.d/ubuntu.list",
                             content="deb " + source1 + "\n"))
     self.assertThat(
         tf,
         HardwarePackHasFile("sources.list.d/linaro.list",
                             content="deb " + source2 + "\n"))
コード例 #14
0
 def test_adds_multiple_packages_at_once(self):
     package1 = DummyFetchedPackage("foo", "1.1")
     package2 = DummyFetchedPackage("bar", "1.1")
     hwpack = HardwarePack(self.metadata)
     hwpack.add_packages([package1, package2])
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf,
         HardwarePackHasFile("pkgs/%s" % package1.filename,
                             content=package1.content.read()))
     self.assertThat(
         tf,
         HardwarePackHasFile("pkgs/%s" % package2.filename,
                             content=package2.content.read()))
コード例 #15
0
 def test_add_dependency_package_adds_package_to_Packages(self):
     hwpack = HardwarePack(self.metadata)
     hwpack.add_dependency_package(["foo", "bar (= 1.0)"])
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf,
         HardwarePackHasFile(
             "pkgs/Packages",
             content_matcher=MatchesAsPackagesFile(
                 MatchesStructure(
                     name=Equals('hwpack-' + self.metadata.name),
                     architecture=Equals(self.metadata.architecture),
                     depends=MatchesPackageRelationshipList(
                         [Equals("foo"),
                          Equals("bar (= 1.0)")]),
                     version=Equals(self.metadata.version)))))
コード例 #16
0
    def test_password_removed_from_urls(self):
        hwpack = HardwarePack(self.metadata)

        url = "https://*****:*****@hostname/url precise main"
        hwpack.add_apt_sources({"protected": url})

        tf = self.get_tarfile(hwpack)
        try:
            self.assertThat(
                tf,
                HardwarePackHasFile("sources.list.d/protected.list",
                                    content="deb " + url + "\n"))
        except MismatchError:
            pass  # Expect to not find the password protected URL
        else:
            self.assertTrue(False, "Found password protected URL in hwpack")
コード例 #17
0
 def test_creates_FORMAT_file(self):
     hwpack = HardwarePack(self.metadata)
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf,
         HardwarePackHasFile("FORMAT",
                             content=hwpack.format.__str__() + "\n"))
コード例 #18
0
 def test_add_dependency_package_adds_package(self):
     hwpack = HardwarePack(self.metadata)
     hwpack.add_dependency_package([])
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf,
         HardwarePackHasFile(
             "pkgs/%s_%s_%s.deb" %
             ('hwpack-' + self.metadata.name, self.metadata.version,
              self.metadata.architecture),
             content_matcher=MatchesAsPackageContent(
                 MatchesStructure(
                     name=Equals('hwpack-' + self.metadata.name),
                     architecture=Equals(self.metadata.architecture),
                     depends=Equals(None),
                     version=Equals(self.metadata.version)))))
コード例 #19
0
 def test_add_dependency_package_adds_package_to_Packages(self):
     hwpack = HardwarePack(self.metadata)
     hwpack.add_dependency_package(["foo", "bar (= 1.0)"])
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf,
         HardwarePackHasFile(
             "pkgs/Packages",
             content_matcher=MatchesAsPackagesFile(
                 MatchesStructure(
                     name=Equals("hwpack-" + self.metadata.name),
                     architecture=Equals(self.metadata.architecture),
                     depends=MatchesPackageRelationshipList([Equals("foo"), Equals("bar (= 1.0)")]),
                     version=Equals(self.metadata.version),
                 )
             ),
         ),
     )
コード例 #20
0
 def test_add_dependency_package_adds_package(self):
     hwpack = HardwarePack(self.metadata)
     hwpack.add_dependency_package([])
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf,
         HardwarePackHasFile(
             "pkgs/%s_%s_%s.deb"
             % ("hwpack-" + self.metadata.name, self.metadata.version, self.metadata.architecture),
             content_matcher=MatchesAsPackageContent(
                 MatchesStructure(
                     name=Equals("hwpack-" + self.metadata.name),
                     architecture=Equals(self.metadata.architecture),
                     depends=Equals(None),
                     version=Equals(self.metadata.version),
                 )
             ),
         ),
     )
コード例 #21
0
 def test_creates_metadata_file(self):
     metadata = Metadata("ahwpack",
                         "4",
                         "armel",
                         origin="linaro",
                         maintainer="Some Maintainer",
                         support="unsupported")
     hwpack = HardwarePack(metadata)
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf,
                     HardwarePackHasFile("metadata", content=str(metadata)))
コード例 #22
0
 def test_overwrites_sources_list_file(self):
     hwpack = HardwarePack(self.metadata)
     old_source = 'http://example.org/ ubuntu'
     hwpack.add_apt_sources({'ubuntu': old_source})
     new_source = 'http://example.org/ ubuntu main universe'
     hwpack.add_apt_sources({'ubuntu': new_source})
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf,
         HardwarePackHasFile("sources.list.d/ubuntu.list",
                             content="deb " + new_source + "\n"))
コード例 #23
0
 def test_add_packages_without_content_leaves_out_debs(self):
     package1 = DummyFetchedPackage("foo", "1.1", no_content=True)
     hwpack = HardwarePack(self.metadata)
     hwpack.add_packages([package1])
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, Not(HardwarePackHasFile("pkgs/%s" % package1.filename)))
コード例 #24
0
 def test_adds_packages(self):
     package = DummyFetchedPackage("foo", "1.1")
     hwpack = HardwarePack(self.metadata)
     hwpack.add_packages([package])
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("pkgs/%s" % package.filename, content=package.content.read()))
コード例 #25
0
 def test_filename_with_extension(self):
     hwpack = HardwarePack(self.metadata)
     self.assertEqual("hwpack_ahwpack_4_armel.txt", hwpack.filename(".txt"))
コード例 #26
0
 def test_creates_pkgs_dir(self):
     hwpack = HardwarePack(self.metadata)
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("pkgs", type=tarfile.DIRTYPE))
コード例 #27
0
 def test_filename(self):
     hwpack = HardwarePack(self.metadata)
     self.assertEqual("hwpack_ahwpack_4_armel.tar.gz", hwpack.filename())
コード例 #28
0
 def test_adds_sources_list_file(self):
     hwpack = HardwarePack(self.metadata)
     source = "http://example.org/ ubuntu"
     hwpack.add_apt_sources({"ubuntu": source})
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("sources.list.d/ubuntu.list", content="deb " + source + "\n"))
コード例 #29
0
 def test_creates_sources_list_gpg_dir(self):
     hwpack = HardwarePack(self.metadata)
     tf = self.get_tarfile(hwpack)
     self.assertThat(
         tf, HardwarePackHasFile("sources.list.d.gpg",
                                 type=tarfile.DIRTYPE))
コード例 #30
0
 def test_creates_Packages_file(self):
     hwpack = HardwarePack(self.metadata)
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("pkgs/Packages"))
コード例 #31
0
 def test_format_has_no_spaces(self):
     hwpack = HardwarePack(self.metadata)
     self.assertIs(None, re.search('\s', hwpack.format.__str__()),
                   "hwpack.format contains spaces.")
コード例 #32
0
 def test_creates_manifest_file(self):
     hwpack = HardwarePack(self.metadata)
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("manifest"))
コード例 #33
0
 def test_filename_with_extension(self):
     hwpack = HardwarePack(self.metadata)
     self.assertEqual("hwpack_ahwpack_4_armel.txt", hwpack.filename('.txt'))
コード例 #34
0
 def test_Packages_file_empty_with_no_packages(self):
     hwpack = HardwarePack(self.metadata)
     tf = self.get_tarfile(hwpack)
     self.assertThat(tf, HardwarePackHasFile("pkgs/Packages", content=""))
コード例 #35
0
 def test_filename_with_support(self):
     metadata = Metadata("ahwpack", "4", "armel", support="supported")
     hwpack = HardwarePack(metadata)
     self.assertEqual("hwpack_ahwpack_4_armel_supported.tar.gz",
                      hwpack.filename())
コード例 #36
0
 def test_filename(self):
     hwpack = HardwarePack(self.metadata)
     self.assertEqual("hwpack_ahwpack_4_armel.tar.gz", hwpack.filename())
コード例 #37
0
 def test_format_is_correct(self):
     format = '1.0'
     hwpack = HardwarePack(self.metadata)
     self.assertEqual(format, hwpack.format.__str__())
コード例 #38
0
 def test_filename_with_support(self):
     metadata = Metadata("ahwpack", "4", "armel", support="supported")
     hwpack = HardwarePack(metadata)
     self.assertEqual("hwpack_ahwpack_4_armel_supported.tar.gz", hwpack.filename())