Skip to content

Commit bbb3956

Browse files
refactor: migrate platform usage to ScanConfig and enhance logging
Replace args.platform with config.platform in container validation. Enhance config logging to show more field values. Add comprehensive multi-field test coverage. Completes core scanning field migration within invoke_sbomgen scope.
1 parent b72d7b0 commit bbb3956

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

entrypoint/entrypoint/orchestrator.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def execute(args) -> int:
1616
# NEW: Create structured config from legacy args (strangler fig pattern)
1717
from entrypoint.data_model import ScanConfig, ArtifactType
1818
config = ScanConfig.from_args(args)
19-
logging.info(f"Created config: artifact_type={config.artifact_type.value}, artifact_path={config.artifact_path}")
19+
logging.info(f"Created config: artifact_type={config.artifact_type.value}, artifact_path={config.artifact_path}, sbomgen_version={config.sbomgen_version}, timeout={config.timeout}s")
2020

2121
# OLD: Keep existing logic unchanged for now
2222
logging.info(f"downloading and installing inspector-sbomgen version {config.sbomgen_version}")
@@ -209,11 +209,11 @@ def invoke_sbomgen(args) -> int:
209209

210210
if config.artifact_type == ArtifactType.CONTAINER:
211211

212-
if args.platform:
213-
platform_arg = args.platform.lower()
212+
if config.platform:
213+
platform_arg = config.platform.lower()
214214
if not is_valid_container_platform(platform_arg):
215215
logging.fatal(
216-
f"received invalid container image platform: '{args.platform}'. Platform should be of the form 'os/cpu/variant' such as 'linux/amd64' or 'linux/arm64/v8'")
216+
f"received invalid container image platform: '{config.platform}'. Platform should be of the form 'os/cpu/variant' such as 'linux/amd64' or 'linux/arm64/v8'")
217217
sbomgen_args.append("--platform")
218218
sbomgen_args.append(platform_arg)
219219

entrypoint/tests/test_data_model.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,3 +178,21 @@ def test_scan_config_skip_scanners_list_access(self):
178178
def test_scan_config_skip_files_list_access(self):
179179
config = ScanConfig(skip_files=["./media", "/tmp/foo"])
180180
self.assertEqual(config.skip_files, ["./media", "/tmp/foo"])
181+
182+
def test_scan_config_platform_access(self):
183+
config = ScanConfig(platform="linux/amd64")
184+
self.assertEqual(config.platform, "linux/amd64")
185+
186+
def test_scan_config_comprehensive_access(self):
187+
config = ScanConfig(
188+
artifact_type=ArtifactType.CONTAINER,
189+
artifact_path="./test",
190+
sbomgen_version="1.8.0",
191+
timeout=300,
192+
platform="linux/amd64"
193+
)
194+
self.assertEqual(config.artifact_type, ArtifactType.CONTAINER)
195+
self.assertEqual(config.artifact_path, "./test")
196+
self.assertEqual(config.sbomgen_version, "1.8.0")
197+
self.assertEqual(config.timeout, 300)
198+
self.assertEqual(config.platform, "linux/amd64")

0 commit comments

Comments
 (0)