github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/tftestutil/testutil.go (about)

     1  package tftestutil
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/khulnasoft-lab/defsec/pkg/scanners/terraform/parser"
     8  	"github.com/khulnasoft-lab/defsec/pkg/terraform"
     9  
    10  	"github.com/khulnasoft-lab/defsec/test/testutil"
    11  )
    12  
    13  func CreateModulesFromSource(t *testing.T, source string, ext string) terraform.Modules {
    14  	fs := testutil.CreateFS(t, map[string]string{
    15  		"source" + ext: source,
    16  	})
    17  	p := parser.New(fs, "", parser.OptionStopOnHCLError(true))
    18  	if err := p.ParseFS(context.TODO(), "."); err != nil {
    19  		t.Fatal(err)
    20  	}
    21  	modules, _, err := p.EvaluateAll(context.TODO())
    22  	if err != nil {
    23  		t.Fatalf("parse error: %s", err)
    24  	}
    25  	return modules
    26  }