Skip to content

Commit cde2d4c

Browse files
authored
Merge pull request #1550 from snyk/fix/ecr_repository_policy
fix: ecr repo without policy was crashing the whole execution
2 parents e9746d8 + 39aa6d5 commit cde2d4c

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

pkg/remote/aws/ecr_repository_policy_enumerator.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package aws
22

33
import (
4+
"github.com/aws/aws-sdk-go/service/ecr"
45
"github.com/snyk/driftctl/pkg/remote/aws/repository"
56
remoteerror "github.com/snyk/driftctl/pkg/remote/error"
67
"github.com/snyk/driftctl/pkg/resource"
@@ -33,6 +34,9 @@ func (e *ECRRepositoryPolicyEnumerator) Enumerate() ([]*resource.Resource, error
3334

3435
for _, repo := range repos {
3536
repoOutput, err := e.repository.GetRepositoryPolicy(repo)
37+
if _, ok := err.(*ecr.RepositoryPolicyNotFoundException); ok {
38+
continue
39+
}
3640
if err != nil {
3741
return nil, remoteerror.NewResourceListingError(err, string(e.SupportedType()))
3842
}

pkg/remote/aws_ecr_scanner_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,13 +138,17 @@ func TestECRRepositoryPolicy(t *testing.T) {
138138
mocks: func(client *repository.MockECRRepository, alerter *mocks.AlerterInterface) {
139139
client.On("ListAllRepositories").Return([]*ecr.Repository{
140140
{RepositoryName: awssdk.String("test_ecr_repo_policy")},
141+
{RepositoryName: awssdk.String("test_ecr_repo_without_policy")},
141142
}, nil)
142143
client.On("GetRepositoryPolicy", &ecr.Repository{
143144
RepositoryName: awssdk.String("test_ecr_repo_policy"),
144145
}).Return(&ecr.GetRepositoryPolicyOutput{
145146
RegistryId: awssdk.String("1"),
146147
RepositoryName: awssdk.String("test_ecr_repo_policy"),
147148
}, nil)
149+
client.On("GetRepositoryPolicy", &ecr.Repository{
150+
RepositoryName: awssdk.String("test_ecr_repo_without_policy"),
151+
}).Return(nil, &ecr.RepositoryPolicyNotFoundException{})
148152
},
149153
assertExpected: func(t *testing.T, got []*resource.Resource) {
150154
assert.Len(t, got, 1)

0 commit comments

Comments
 (0)