github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/pkg/scanners/terraformplan/test/scanner_test.go (about) 1 package terraformplan 2 3 import ( 4 "os" 5 "testing" 6 "testing/fstest" 7 8 "github.com/aquasecurity/defsec/pkg/scan" 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 12 "github.com/aquasecurity/defsec/pkg/scanners/options" 13 "github.com/aquasecurity/trivy-iac/pkg/scanners/terraformplan" 14 ) 15 16 func Test_Scanning_Plan(t *testing.T) { 17 scanner := terraformplan.New( 18 options.ScannerWithEmbeddedPolicies(true), 19 options.ScannerWithEmbeddedLibraries(true), 20 ) 21 b, _ := os.ReadFile("testdata/plan.json") 22 testFS := fstest.MapFS{ 23 "testdata/plan.json": {Data: b}, 24 } 25 26 results, err := scanner.ScanFile("testdata/plan.json", testFS) 27 require.NoError(t, err) 28 require.NotNil(t, results) 29 30 var failedResults scan.Results 31 for _, r := range results { 32 if r.Status() == scan.StatusFailed { 33 failedResults = append(failedResults, r) 34 } 35 } 36 assert.Len(t, results, 15) 37 assert.Len(t, failedResults, 9) 38 39 }