package terraform import ( "testing" "github.com/davecgh/go-spew/spew" "github.com/zclconf/go-cty/cty" "github.com/hashicorp/terraform/addrs" "github.com/hashicorp/terraform/tfdiags" ) func TestEvaluatorGetTerraformAttr(t *testing.T) { evaluator := &Evaluator{ Meta: &ContextMeta{ Env: "foo", }, } data := &evaluationStateData{ Evaluator: evaluator, } scope := evaluator.Scope(data, nil) t.Run("workspace", func(t *testing.T) { want := cty.StringVal("foo") got, diags := scope.Data.GetTerraformAttr(addrs.TerraformAttr{ Name: "workspace", }, tfdiags.SourceRange{}) if len(diags) != 0 { t.Errorf("unexpected diagnostics %s", spew.Sdump(diags)) } if !got.RawEquals(want) { t.Errorf("wrong result %q; want %q", got, want) } }) }