github.com/devseccon/trivy@v0.47.1-0.20231123133102-bd902a0bd996/pkg/fanal/vm/disk/vmdk_test.go (about) 1 package disk_test 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 "github.com/stretchr/testify/require" 9 10 "github.com/devseccon/trivy/pkg/fanal/vm/disk" 11 ) 12 13 func TestVMDK_NewReader(t *testing.T) { 14 tests := []struct { 15 name string 16 fileName string 17 wantErr string 18 }{ 19 // TODO: add valid tests 20 { 21 name: "invalid vmdk file", 22 fileName: "testdata/invalid.vmdk", 23 wantErr: "invalid signature error", 24 }, 25 } 26 for _, tt := range tests { 27 t.Run(tt.name, func(t *testing.T) { 28 v := disk.VMDK{} 29 30 f, err := os.Open(tt.fileName) 31 require.NoError(t, err) 32 defer f.Close() 33 34 _, err = v.NewReader(f, nil) 35 if err == nil { 36 assert.Fail(t, "required error test") 37 } 38 assert.ErrorContains(t, err, tt.wantErr) 39 }) 40 } 41 }