opentofu/plans/plan_test.go
Kristin Laemmert e3416124cc
addrs: replace "Type string" with "Type Provider" in ProviderConfig
* huge change to weave new addrs.Provider into addrs.ProviderConfig
* terraform: do not include an empty string in the returned Providers /
Provisioners
- Fixed a minor bug where results included an extra empty string
2019-12-06 08:00:18 -05:00

66 lines
1.7 KiB
Go

package plans
import (
"testing"
"github.com/go-test/deep"
"github.com/hashicorp/terraform/addrs"
)
func TestProviderAddrs(t *testing.T) {
plan := &Plan{
VariableValues: map[string]DynamicValue{},
Changes: &Changes{
Resources: []*ResourceInstanceChangeSrc{
{
Addr: addrs.Resource{
Mode: addrs.ManagedResourceMode,
Type: "test_thing",
Name: "woot",
}.Instance(addrs.IntKey(0)).Absolute(addrs.RootModuleInstance),
ProviderAddr: addrs.ProviderConfig{
Type: addrs.NewLegacyProvider("test"),
}.Absolute(addrs.RootModuleInstance),
},
{
Addr: addrs.Resource{
Mode: addrs.ManagedResourceMode,
Type: "test_thing",
Name: "woot",
}.Instance(addrs.IntKey(0)).Absolute(addrs.RootModuleInstance),
DeposedKey: "foodface",
ProviderAddr: addrs.ProviderConfig{
Type: addrs.NewLegacyProvider("test"),
}.Absolute(addrs.RootModuleInstance),
},
{
Addr: addrs.Resource{
Mode: addrs.ManagedResourceMode,
Type: "test_thing",
Name: "what",
}.Instance(addrs.IntKey(0)).Absolute(addrs.RootModuleInstance),
ProviderAddr: addrs.ProviderConfig{
Type: addrs.NewLegacyProvider("test"),
}.Absolute(addrs.RootModuleInstance.Child("foo", addrs.NoKey)),
},
},
},
}
got := plan.ProviderAddrs()
want := []addrs.AbsProviderConfig{
addrs.ProviderConfig{
Type: addrs.NewLegacyProvider("test"),
}.Absolute(addrs.RootModuleInstance.Child("foo", addrs.NoKey)),
addrs.ProviderConfig{
Type: addrs.NewLegacyProvider("test"),
}.Absolute(addrs.RootModuleInstance),
}
for _, problem := range deep.Equal(got, want) {
t.Error(problem)
}
}