github.com/terramate-io/tf@v0.0.0-20230830114523-fce866b4dfcd/legacy/helper/schema/testing.go (about)

     1  // Copyright (c) HashiCorp, Inc.
     2  // SPDX-License-Identifier: MPL-2.0
     3  
     4  package schema
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/terramate-io/tf/legacy/terraform"
    10  )
    11  
    12  // TestResourceDataRaw creates a ResourceData from a raw configuration map.
    13  func TestResourceDataRaw(
    14  	t *testing.T, schema map[string]*Schema, raw map[string]interface{}) *ResourceData {
    15  	t.Helper()
    16  
    17  	c := terraform.NewResourceConfigRaw(raw)
    18  
    19  	sm := schemaMap(schema)
    20  	diff, err := sm.Diff(nil, c, nil, nil, true)
    21  	if err != nil {
    22  		t.Fatalf("err: %s", err)
    23  	}
    24  
    25  	result, err := sm.Data(nil, diff)
    26  	if err != nil {
    27  		t.Fatalf("err: %s", err)
    28  	}
    29  
    30  	return result
    31  }