def test_get_installed_packages_ubuntu_with_missing_md5sums(self): test_root_dir = self.get_test_loc('debian/ubuntu-var-lib-dpkg/') packages = debian.get_installed_packages(root_dir=test_root_dir, distro='ubuntu', detect_licenses=False) result = [p.to_dict(_detailed=True) for p in packages] expected = self.get_test_loc('debian/ubuntu-var-lib-dpkg/expected.json') check_result_equals_expected_json(result, expected, regen=False)
def test_parse_rpm_xmlish_can_parse_rhel(self): test_installed = self.get_test_loc('rpm_installed/distro-xmlish/rhel-rpms.xmlish') expected = self.get_test_loc('rpm_installed/distro-xmlish/rhel-rpms.xmlish-expected.json') packages = rpm_installed.parse_rpm_xmlish(test_installed, detect_licenses=True) result = [package.to_dict(_detailed=True) for package in packages] result = json.loads(json.dumps(result)) check_result_equals_expected_json(result, expected, regen=False)
def test_get_setup_py_args_without_name(self): test_file = self.get_test_loc('pypi/setup.py/without_name-setup.py') kwargs = pypi.get_setup_py_args(test_file) expected_loc = self.get_test_loc( 'pypi/setup.py/without_name-setup.py.args.expected.json', must_exist=False) check_result_equals_expected_json(kwargs, expected_loc, regen=False)
def test_parse_rpm_xmlish(self): test_installed = self.get_test_loc('rpm_installed/xmlish/centos-5-rpms.xmlish') expected = self.get_test_loc('rpm_installed/xmlish/centos-5-rpms.xmlish-expected.json') packages = rpm_installed.parse_rpm_xmlish(test_installed) result = [package.to_dict(_detailed=True) for package in packages] result = json.loads(json.dumps(result)) check_result_equals_expected_json(result, expected, regen=False)
def test_parse_alpine_installed_db_full(self): test_installed = self.get_test_loc('alpine/full-installed/installed') result = [ package.to_dict(_detailed=True) for package in alpine.parse_alpine_installed_db(test_installed) ] expected = test_installed + '-expected.json' check_result_equals_expected_json(result, expected, regen=False)
def test_parse_alpine_installed_db_full(self): test_installed = self.get_test_loc('alpine/full-installed/installed') result = [package.to_dict(_detailed=True) for package in alpine.parse_alpine_installed_db( location=test_installed, datasource_id='alpine_installed_db', package_type='alpine', )] expected = test_installed + '-expected.json' check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES)
def test_basic_rootfs(self): test_rootfs = self.extract_test_tar('debian/basic-rootfs.tar.gz') result = [ package.to_dict(_detailed=True) for package in debian.get_installed_packages(test_rootfs) ] expected = self.get_test_loc('debian/basic-rootfs-expected.json') check_result_equals_expected_json(result, expected, regen=False)
def test_win_reg_get_installed_packages(self): test_root_dir = self.get_test_loc( 'win_reg/get_installed_packages_docker/layer') expected_loc = self.get_test_loc( 'win_reg/get_installed_packages_docker/expected-results') results = list( p.to_dict(_detailed=True) for p in get_installed_packages(test_root_dir)) check_result_equals_expected_json(results, expected_loc, regen=False)
def test_parse_with_dparse_requirements(self): test_file = self.get_test_loc( 'pypi/requirements_txt/simple/requirements.txt') dependencies = [d.to_dict() for d in pypi.parse_with_dparse(test_file)] expected_loc = self.get_test_loc( 'pypi/requirements_txt/simple/output.expected.json') check_result_equals_expected_json(dependencies, expected_loc, regen=False)
def test_win_reg__report_installed_programs(self): test_file = self.get_test_loc('win_reg/SOFTWARE-registry-entries.json') expected_loc = self.get_test_loc( 'win_reg/SOFTWARE-installed-programs.expected') with open(test_file) as f: software_registry_entries = json.load(f) results = [ p.to_dict(_detailed=True) for p in _report_installed_programs(software_registry_entries) ] check_result_equals_expected_json(results, expected_loc, regen=False)
def test_parse_rpm_xmlish_can_parse_rhel(self): test_installed = self.get_test_loc( 'rpm_installed/distro-xmlish/rhel-rpms.xmlish') expected = self.get_test_loc( 'rpm_installed/distro-xmlish/rhel-rpms.xmlish-expected.json') packages = parse_rpm_xmlish(location=test_installed) result = [package.to_dict(_detailed=True) for package in packages] result = json.loads(json.dumps(result)) check_result_equals_expected_json(result, expected, regen=REGEN_TEST_FIXTURES)
def test_get_requirements_txt_dependencies(self): test_file = self.get_test_loc( 'pypi/requirements_txt/simple/requirements.txt') dependencies = [ d.to_dict() for d in pypi.get_requirements_txt_dependencies(location=test_file) ] expected_loc = self.get_test_loc( 'pypi/requirements_txt/simple/output.expected.json') check_result_equals_expected_json(dependencies, expected_loc, regen=REGEN_TEST_FIXTURES)
def test_win_reg__report_installed_programs(self): test_file = self.get_test_loc('win_reg/SOFTWARE-registry-entries.json') expected_loc = self.get_test_loc( 'win_reg/SOFTWARE-installed-programs.expected') with open(test_file) as f: software_registry_entries = json.load(f) results = [ p.to_dict(_detailed=True) for p in get_installed_windows_programs_from_regtree( registry_tree=software_registry_entries, datasource_id=InstalledProgramFromDockerFilesSoftwareHandler. datasource_id, package_type=InstalledProgramFromDockerFilesSoftwareHandler. default_package_type, ) ] check_result_equals_expected_json(results, expected_loc, regen=REGEN_TEST_FIXTURES)
def test_parse_lock(self): test_loc = self.get_test_loc('pubspec/mini-pubspec.lock') expected_loc = self.get_test_loc('pubspec/mini-pubspec.lock-expected.json', must_exist=False) result = pubspec.parse_lock(test_loc).to_dict() check_result_equals_expected_json(result, expected_loc, regen=False)