github.com/devseccon/trivy@v0.47.1-0.20231123133102-bd902a0bd996/pkg/fanal/image/daemon/docker_test.go (about) 1 package daemon 2 3 import ( 4 "testing" 5 6 "github.com/docker/docker/api/types" 7 "github.com/google/go-containerregistry/pkg/name" 8 v1 "github.com/google/go-containerregistry/pkg/v1" 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestDockerImage(t *testing.T) { 14 type fields struct { 15 Image v1.Image 16 opener opener 17 inspect types.ImageInspect 18 } 19 tests := []struct { 20 name string 21 imageName string 22 fields fields 23 want *v1.ConfigFile 24 wantErr bool 25 }{ 26 { 27 name: "happy path", 28 imageName: "alpine:3.11", 29 wantErr: false, 30 }, 31 { 32 name: "unknown image", 33 imageName: "alpine:unknown", 34 wantErr: true, 35 }, 36 } 37 for _, tt := range tests { 38 t.Run(tt.name, func(t *testing.T) { 39 ref, err := name.ParseReference(tt.imageName) 40 require.NoError(t, err) 41 42 _, cleanup, err := DockerImage(ref, "") 43 assert.Equal(t, tt.wantErr, err != nil, err) 44 defer func() { 45 if cleanup != nil { 46 cleanup() 47 } 48 }() 49 }) 50 } 51 }