Skip to content

Commit bdece3a

Browse files
Merge pull request #14 from Checkmarx/sk-analyze-images-with-platform
Update to use AnalyzeImagesWithPlatform with linux/amd64 default platform (AST-104302)
2 parents f802091 + ec2babb commit bdece3a

File tree

4 files changed

+12
-7
lines changed

4 files changed

+12
-7
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.24.1
44

55
require (
66
github.com/Checkmarx/containers-images-extractor v1.0.10
7-
github.com/Checkmarx/containers-syft-packages-extractor v1.0.12
7+
github.com/Checkmarx/containers-syft-packages-extractor v1.0.13
88
github.com/Checkmarx/containers-types v1.0.4
99
github.com/rs/zerolog v1.34.0
1010
github.com/stretchr/testify v1.10.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2
6363
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
6464
github.com/Checkmarx/containers-images-extractor v1.0.10 h1:RxXbw03SPkVjvw2XR05RSLh+YTTQ2KshrQhOhTMFey8=
6565
github.com/Checkmarx/containers-images-extractor v1.0.10/go.mod h1:KqOq3DUekL9VbklOVgTdZJC/+KLOYdfEoCSY/SWHdxU=
66-
github.com/Checkmarx/containers-syft-packages-extractor v1.0.12 h1:BgLMkqu0hfoVRoc9/h6Trf6qXoVnAYgOH3Oar78PWPg=
67-
github.com/Checkmarx/containers-syft-packages-extractor v1.0.12/go.mod h1:EFeB4//lO4KMVj9+eMg6z5jnO9F1e1T4jUoIcx0/19M=
66+
github.com/Checkmarx/containers-syft-packages-extractor v1.0.13 h1:9ah0rruMGgRiug/bD/JJDSrDqEqS7sKGVdc5sqbkwk8=
67+
github.com/Checkmarx/containers-syft-packages-extractor v1.0.13/go.mod h1:EFeB4//lO4KMVj9+eMg6z5jnO9F1e1T4jUoIcx0/19M=
6868
github.com/Checkmarx/containers-types v1.0.4 h1:Sa3y7IraZeeppspV0AmqYTNoDEHqn9yZZZq895SkabM=
6969
github.com/Checkmarx/containers-types v1.0.4/go.mod h1:KR0w8XCosq3+6jRCfQrH7i//Nj2u11qaUJM62CREFZA=
7070
github.com/CycloneDX/cyclonedx-go v0.9.2 h1:688QHn2X/5nRezKe2ueIVCt+NRqf7fl3AVQk+vaFcIo=

pkg/containerResolver/containerScanner.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func (cr *ContainersResolver) Resolve(scanPath string, resolutionFolderPath stri
5656
}
5757

5858
//4. get images resolution
59-
resolutionResult, err := cr.AnalyzeImages(imagesToAnalyze)
59+
resolutionResult, err := cr.AnalyzeImagesWithPlatform(imagesToAnalyze, "linux/amd64")
6060
if err != nil {
6161
log.Err(err).Msg("Could not analyze images.")
6262
return err

pkg/containerResolver/containerScanner_test.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ func (m *MockSyftPackagesExtractor) AnalyzeImages(images []types.ImageModel) ([]
4545
return args.Get(0).([]*syftPackagesExtractor.ContainerResolution), args.Error(1)
4646
}
4747

48+
func (m *MockSyftPackagesExtractor) AnalyzeImagesWithPlatform(images []types.ImageModel, platform string) ([]*syftPackagesExtractor.ContainerResolution, error) {
49+
args := m.Called(images, platform)
50+
return args.Get(0).([]*syftPackagesExtractor.ContainerResolution), args.Error(1)
51+
}
52+
4853
func createTestFolder(dir string) {
4954
// Create the directory if it doesn't exist
5055
if _, err := os.Stat(dir); os.IsNotExist(err) {
@@ -130,15 +135,15 @@ func TestResolve(t *testing.T) {
130135
types.ToImageModels(images),
131136
map[string]map[string]string{"settings.json": {"key": "value"}}).
132137
Return([]types.ImageModel{{Name: "image1"}}, nil)
133-
mockSyftPackagesExtractor.On("AnalyzeImages", mock.Anything).Return(expectedResolution, nil)
138+
mockSyftPackagesExtractor.On("AnalyzeImagesWithPlatform", mock.Anything, mock.Anything).Return(expectedResolution, nil)
134139
mockImagesExtractor.On("SaveObjectToFile", checkmarxPath, expectedResolution).Return(nil)
135140

136141
err := resolver.Resolve(scanPath, resolutionFolderPath, images, true)
137142
assert.NoError(t, err)
138143

139144
mockImagesExtractor.AssertCalled(t, "ExtractFiles", scanPath)
140145
mockImagesExtractor.AssertCalled(t, "ExtractAndMergeImagesFromFiles", sampleFileImages, mock.Anything, mock.Anything)
141-
mockSyftPackagesExtractor.AssertCalled(t, "AnalyzeImages", mock.Anything)
146+
mockSyftPackagesExtractor.AssertCalled(t, "AnalyzeImagesWithPlatform", mock.Anything, "linux/amd64")
142147
mockImagesExtractor.AssertCalled(t, "SaveObjectToFile", checkmarxPath, expectedResolution)
143148
})
144149

@@ -184,7 +189,7 @@ func TestResolve(t *testing.T) {
184189
map[string]map[string]string{"settings.json": {"key": "value"}}).
185190
Return([]types.ImageModel{{Name: "image1"}}, nil)
186191

187-
mockSyftPackagesExtractor.On("AnalyzeImages", mock.Anything).Return(expectedResolution, errors.New("error analyzing images"))
192+
mockSyftPackagesExtractor.On("AnalyzeImagesWithPlatform", mock.Anything, "linux/amd64").Return(expectedResolution, errors.New("error analyzing images"))
188193

189194
err := resolver.Resolve(scanPath, resolutionFolderPath, images, false)
190195
assert.Error(t, err)

0 commit comments

Comments
 (0)