diff --git a/test/inline-compare/utils/inline.py b/test/inline-compare/utils/inline.py index 11637cf9a..781d6a72a 100644 --- a/test/inline-compare/utils/inline.py +++ b/test/inline-compare/utils/inline.py @@ -84,7 +84,6 @@ class InlineScan: metadata[pkg.type][pkg] = utils.package.Metadata( version=entry["maven-version"], - extra=tuple(), ) return packages, metadata @@ -98,7 +97,7 @@ class InlineScan: type=entry["type"].lower(), ) packages.add(pkg) - metadata[pkg.type][pkg] = utils.package.Metadata(version=entry["version"], extra=tuple()) + metadata[pkg.type][pkg] = utils.package.Metadata(version=entry["version"]) return packages, metadata @@ -113,7 +112,7 @@ class InlineScan: type=entry["type"].lower(), ) packages.add(pkg) - metadata[pkg.type][pkg] = utils.package.Metadata(version=entry["version"], extra=tuple()) + metadata[pkg.type][pkg] = utils.package.Metadata(version=entry["version"]) return packages, metadata @@ -126,7 +125,7 @@ class InlineScan: type=entry["type"].lower(), ) packages.add(pkg) - metadata[pkg.type][pkg] = utils.package.Metadata(version=entry["version"], extra=tuple()) + metadata[pkg.type][pkg] = utils.package.Metadata(version=entry["version"]) return packages, metadata @@ -138,6 +137,6 @@ class InlineScan: name=entry["package"], type=entry["type"].lower() ) packages.add(pkg) - metadata[pkg.type][pkg] = utils.package.Metadata(version=entry["version"], extra=tuple()) + metadata[pkg.type][pkg] = utils.package.Metadata(version=entry["version"]) return packages, metadata diff --git a/test/inline-compare/utils/package.py b/test/inline-compare/utils/package.py index b4ac2c796..13118a4b5 100644 --- a/test/inline-compare/utils/package.py +++ b/test/inline-compare/utils/package.py @@ -3,7 +3,7 @@ import collections import dataclasses from typing import Set, FrozenSet, Tuple, Any, List -Metadata = collections.namedtuple("Metadata", "version extra") +Metadata = collections.namedtuple("Metadata", "version") Package = collections.namedtuple("Package", "name type") Info = collections.namedtuple("Info", "packages metadata") diff --git a/test/inline-compare/utils/syft.py b/test/inline-compare/utils/syft.py index 52b5c7899..51c7e0ba0 100644 --- a/test/inline-compare/utils/syft.py +++ b/test/inline-compare/utils/syft.py @@ -4,7 +4,6 @@ import collections import utils.package import utils.image -from utils.traverse import dig class Syft: @@ -29,8 +28,6 @@ class Syft: metadata = collections.defaultdict(dict) for entry in self._enumerate_section(section="artifacts"): - extra = {} - # normalize to inline pkg_type = entry["type"].lower() if pkg_type in ("wheel", "egg", "python"): @@ -52,7 +49,7 @@ class Syft: if "java" in pkg_type: # we need to use the virtual path instead of the name to account for nested dependencies with the same # package name (but potentially different metadata) - name = dig(entry, "metadata", "virtualPath") + name = entry.get("metadata", {}).get("virtualPath") elif pkg_type == "apkg": # inline scan strips off the release from the version, which should be normalized here @@ -66,6 +63,6 @@ class Syft: packages.add(pkg) - metadata[pkg.type][pkg] = utils.package.Metadata(version=version, extra=tuple()) + metadata[pkg.type][pkg] = utils.package.Metadata(version=version) return utils.package.Info(packages=frozenset(packages), metadata=metadata) diff --git a/test/inline-compare/utils/traverse.py b/test/inline-compare/utils/traverse.py deleted file mode 100644 index d98cf4ee7..000000000 --- a/test/inline-compare/utils/traverse.py +++ /dev/null @@ -1,21 +0,0 @@ - -def dig(target, *keys, **kwargs): - """ - Traverse a nested set of dictionaries, tuples, or lists similar to ruby's dig function. - """ - end_of_chain = target - for key in keys: - if isinstance(end_of_chain, dict) and key in end_of_chain: - end_of_chain = end_of_chain[key] - elif isinstance(end_of_chain, (list, tuple)) and isinstance(key, int): - end_of_chain = end_of_chain[key] - else: - if 'fail' in kwargs and kwargs['fail'] is True: - if isinstance(end_of_chain, dict): - raise KeyError - else: - raise IndexError - else: - return None - - return end_of_chain