Exemple #1
0
 def test_recognize_cpan_manifest_as_plain_package(self):
     test_file = self.get_test_loc('cpan/MANIFEST')
     try:
         recognize_packages(test_file)
         self.fail('Exception not raised')
     except NotImplementedError:
         pass
Exemple #2
0
def get_package_info(location, **kwargs):
    """
    Return a mapping of package manifest information detected in the
    file at `location`.

    Note that all exceptions are caught if there are any errors while parsing a
    package manifest.
    """
    from packagedcode.recognize import recognize_packages
    try:
        recognized_packages = recognize_packages(location)
        if recognized_packages:
            return dict(packages=[
                package.to_dict() for package in recognized_packages
            ])
    except Exception as e:
        if TRACE:
            logger.error('get_package_info: {}: Exception: {}'.format(
                location, e))

        if SCANENGINE_DEBUG_PACKAGE_API:
            raise
        else:
            # attention: we are swallowing ALL exceptions here!
            pass

    return dict(packages=[])
Exemple #3
0
 def test_recognize_freebsd(self):
     test_file = self.get_test_loc(
         'freebsd/multi_license/+COMPACT_MANIFEST')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], freebsd.FreeBSDPackage)
Exemple #4
0
 def test_recognize_winexe(self):
     test_file = self.get_test_loc('win_pe/tre4.dll')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], win_pe.WindowsExecutable)
Exemple #5
0
 def test_recognize_packages_iso(self):
     test_file = self.get_test_loc('archives/small.iso')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], packagedcode.models.IsoImagePackage)
Exemple #6
0
 def test_recognize_packages_gem(self):
     test_file = self.get_test_loc(
         'archives/mysmallidea-address_standardization-0.4.1.gem')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], packagedcode.rubygems.RubyGem)
Exemple #7
0
 def test_recognize_packages_rar(self):
     test_file = self.get_test_loc('archives/basic.rar')
     packages = recognize_packages(test_file)
     assert not packages
Exemple #8
0
 def test_recognize_packages_rpm(self):
     test_file = self.get_test_loc('archives/alfandega-2.2-2.rh80.src.rpm')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], rpm.RpmPackage)
Exemple #9
0
 def test_recognize_go_sum(self):
     test_file = self.get_test_loc('golang/gosum/sample1/go.sum')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], golang.GolangPackage)
Exemple #10
0
 def test_recognize_go_mod(self):
     test_file = self.get_test_loc('golang/gomod/kingpin/go.mod')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], golang.GolangPackage)
Exemple #11
0
 def test_recognize_python8(self):
     test_file = self.get_test_loc('recon/pypi/requirements.txt')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], pypi.PythonPackage)
Exemple #12
0
 def test_recognize_python7(self):
     test_file = self.get_test_loc('recon/pypi/Pipfile.lock')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], pypi.PythonPackage)
Exemple #13
0
 def test_recognize_python2(self):
     test_file = self.get_test_loc('recon/pypi/atomicwrites-1.2.1-py2.py3-none-any.whl')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], pypi.PythonPackage)
Exemple #14
0
 def test_recognize_cpan(self):
     test_file = self.get_test_loc('cpan/MANIFEST')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], models.CpanModule)
Exemple #15
0
 def test_recognize_bower(self):
     test_file = self.get_test_loc('bower/basic/bower.json')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], bower.BowerPackage)
Exemple #16
0
 def test_recognize_nuget(self):
     test_file = self.get_test_loc('recon/bootstrap.nuspec')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], nuget.NugetPackage)
Exemple #17
0
 def test_recognize_packages_deb(self):
     test_file = self.get_test_loc('archives/adduser_3.112ubuntu1_all.deb')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], packagedcode.debian.DebianPackage)
Exemple #18
0
 def test_recognize_maven_dot_pom(self):
     test_file = self.get_test_loc(
         'm2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], maven.MavenPomPackage)
Exemple #19
0
 def test_recognize_packages_cab(self):
     test_file = self.get_test_loc('archives/basic.cab')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], packagedcode.models.CabPackage)
Exemple #20
0
 def test_recognize_maven_pom_xml(self):
     test_file = self.get_test_loc('maven2/pom.xml')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], maven.MavenPomPackage)
Exemple #21
0
 def test_recognize_packages_zip(self):
     test_file = self.get_test_loc('archives/myarch-2.3.0.7z')
     packages = recognize_packages(test_file)
     assert not packages
Exemple #22
0
 def test_recognize_npm(self):
     test_file = self.get_test_loc('recon/package.json')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], npm.NpmPackage)
Exemple #23
0
 def test_recognize_packages_jar(self):
     test_file = self.get_test_loc('archives/simple.jar')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], packagedcode.models.JavaJar)
Exemple #24
0
 def test_recognize_cargo(self):
     test_file = self.get_test_loc('recon/Cargo.toml')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], cargo.RustCargoCrate)
Exemple #25
0
 def test_recognize_packages_does_not_recognize_plain_tarball(self):
     test_file = self.get_test_loc('archives/tarred_bzipped.tar.bz2')
     packages = recognize_packages(test_file)
     assert not packages
Exemple #26
0
 def test_recognize_opam1(self):
     test_file = self.get_test_loc('recon/base.opam')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], opam.OpamPackage)
Exemple #27
0
 def test_recognize_composer(self):
     test_file = self.get_test_loc('recon/composer.json')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], phpcomposer.PHPComposerPackage)
Exemple #28
0
 def test_recognize_haxe(self):
     test_file = self.get_test_loc('recon/haxelib.json')
     packages = recognize_packages(test_file)
     assert packages
     assert isinstance(packages[0], haxe.HaxePackage)