core: Update ProviderTransformer tests for new ImportTarget interface
Prior to the refactoring to move provider address parsing/selection up into the frontend, there was some logic here to just-in-time default a provider config based on the given resource type. This is now expected to happen at a higher layer, with ImportTarget expecting an already-valid provider configuration address. The normal import codepath was already updated with this in mind, but some of the provider transform tests are using ImportStateTransformer as a shortcut for getting some resource nodes added to the graph, and so those tests now need to include a valid provider address in their ImportTarget values. Also includes some adjustments to test output to make the tests easier to debug.
This commit is contained in:
parent
f107a4bc33
commit
3ed396ad5c
|
@ -27,7 +27,7 @@ func (t *ImportStateTransformer) Transform(g *Graph) error {
|
||||||
type graphNodeImportState struct {
|
type graphNodeImportState struct {
|
||||||
Addr addrs.AbsResourceInstance // Addr is the resource address to import into
|
Addr addrs.AbsResourceInstance // Addr is the resource address to import into
|
||||||
ID string // ID is the ID to import as
|
ID string // ID is the ID to import as
|
||||||
ProviderAddr addrs.AbsProviderConfig // Provider address given by the user
|
ProviderAddr addrs.AbsProviderConfig // Provider address given by the user, or implied by the resource type
|
||||||
ResolvedProvider addrs.AbsProviderConfig // provider node address after resolution
|
ResolvedProvider addrs.AbsProviderConfig // provider node address after resolution
|
||||||
|
|
||||||
states []*InstanceState
|
states []*InstanceState
|
||||||
|
@ -41,11 +41,16 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
func (n *graphNodeImportState) Name() string {
|
func (n *graphNodeImportState) Name() string {
|
||||||
return fmt.Sprintf("%s (import id: %s)", n.Addr, n.ID)
|
return fmt.Sprintf("%s (import id %q)", n.Addr, n.ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GraphNodeProviderConsumer
|
// GraphNodeProviderConsumer
|
||||||
func (n *graphNodeImportState) ProvidedBy() (addrs.AbsProviderConfig, bool) {
|
func (n *graphNodeImportState) ProvidedBy() (addrs.AbsProviderConfig, bool) {
|
||||||
|
// We assume that n.ProviderAddr has been properly populated here.
|
||||||
|
// It's the responsibility of the code creating a graphNodeImportState
|
||||||
|
// to populate this, possibly by calling DefaultProviderConfig() on the
|
||||||
|
// resource address to infer an implied provider from the resource type
|
||||||
|
// name.
|
||||||
return n.ProviderAddr, false
|
return n.ProviderAddr, false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,9 @@ func TestProviderTransformer_moduleChild(t *testing.T) {
|
||||||
"qux",
|
"qux",
|
||||||
addrs.NoKey,
|
addrs.NoKey,
|
||||||
),
|
),
|
||||||
|
ProviderAddr: addrs.RootModuleInstance.
|
||||||
|
Child("moo", addrs.NoKey).
|
||||||
|
ProviderConfigDefault("foo"),
|
||||||
ID: "bar",
|
ID: "bar",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -67,6 +70,7 @@ func TestProviderTransformer_moduleChild(t *testing.T) {
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
t.Fatalf("err: %s", err)
|
||||||
}
|
}
|
||||||
|
t.Logf("graph after ImportStateTransformer:\n%s", g.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -74,6 +78,7 @@ func TestProviderTransformer_moduleChild(t *testing.T) {
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
t.Fatalf("err: %s", err)
|
||||||
}
|
}
|
||||||
|
t.Logf("graph after MissingProviderTransformer:\n%s", g.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -81,12 +86,13 @@ func TestProviderTransformer_moduleChild(t *testing.T) {
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
t.Fatalf("err: %s", err)
|
||||||
}
|
}
|
||||||
|
t.Logf("graph after ProviderTransformer:\n%s", g.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
actual := strings.TrimSpace(g.String())
|
actual := strings.TrimSpace(g.String())
|
||||||
expected := strings.TrimSpace(testTransformProviderModuleChildStr)
|
expected := strings.TrimSpace(testTransformProviderModuleChildStr)
|
||||||
if actual != expected {
|
if actual != expected {
|
||||||
t.Fatalf("bad:\n\n%s", actual)
|
t.Fatalf("wrong result\n\ngot:\n%s\n\nwant:\n%s", actual, expected)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -271,6 +277,9 @@ func TestMissingProviderTransformer_moduleChild(t *testing.T) {
|
||||||
"qux",
|
"qux",
|
||||||
addrs.NoKey,
|
addrs.NoKey,
|
||||||
),
|
),
|
||||||
|
ProviderAddr: addrs.RootModuleInstance.
|
||||||
|
Child("moo", addrs.NoKey).
|
||||||
|
ProviderConfigDefault("foo"),
|
||||||
ID: "bar",
|
ID: "bar",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -313,6 +322,9 @@ func TestMissingProviderTransformer_moduleGrandchild(t *testing.T) {
|
||||||
"qux",
|
"qux",
|
||||||
addrs.NoKey,
|
addrs.NoKey,
|
||||||
),
|
),
|
||||||
|
ProviderAddr: addrs.RootModuleInstance.
|
||||||
|
Child("moo", addrs.NoKey).
|
||||||
|
ProviderConfigDefault("foo"),
|
||||||
ID: "bar",
|
ID: "bar",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -352,6 +364,9 @@ func TestParentProviderTransformer(t *testing.T) {
|
||||||
"qux",
|
"qux",
|
||||||
addrs.NoKey,
|
addrs.NoKey,
|
||||||
),
|
),
|
||||||
|
ProviderAddr: addrs.RootModuleInstance.
|
||||||
|
Child("moo", addrs.NoKey).
|
||||||
|
ProviderConfigDefault("foo"),
|
||||||
ID: "bar",
|
ID: "bar",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -403,6 +418,9 @@ func TestParentProviderTransformer_moduleGrandchild(t *testing.T) {
|
||||||
"qux",
|
"qux",
|
||||||
addrs.NoKey,
|
addrs.NoKey,
|
||||||
),
|
),
|
||||||
|
ProviderAddr: addrs.RootModuleInstance.
|
||||||
|
Child("moo", addrs.NoKey).
|
||||||
|
ProviderConfigDefault("foo"),
|
||||||
ID: "bar",
|
ID: "bar",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -656,27 +674,27 @@ provider.bar
|
||||||
`
|
`
|
||||||
|
|
||||||
const testTransformMissingProviderModuleChildStr = `
|
const testTransformMissingProviderModuleChildStr = `
|
||||||
module.moo.foo_instance.qux (import id: bar)
|
module.moo.foo_instance.qux (import id "bar")
|
||||||
provider.foo
|
provider.foo
|
||||||
`
|
`
|
||||||
|
|
||||||
const testTransformMissingProviderModuleGrandchildStr = `
|
const testTransformMissingProviderModuleGrandchildStr = `
|
||||||
module.a.module.b.foo_instance.qux (import id: bar)
|
module.a.module.b.foo_instance.qux (import id "bar")
|
||||||
provider.foo
|
provider.foo
|
||||||
`
|
`
|
||||||
|
|
||||||
const testTransformParentProviderStr = `
|
const testTransformParentProviderStr = `
|
||||||
module.moo.foo_instance.qux (import id: bar)
|
module.moo.foo_instance.qux (import id "bar")
|
||||||
provider.foo
|
provider.foo
|
||||||
`
|
`
|
||||||
|
|
||||||
const testTransformParentProviderModuleGrandchildStr = `
|
const testTransformParentProviderModuleGrandchildStr = `
|
||||||
module.a.module.b.foo_instance.qux (import id: bar)
|
module.a.module.b.foo_instance.qux (import id "bar")
|
||||||
provider.foo
|
provider.foo
|
||||||
`
|
`
|
||||||
|
|
||||||
const testTransformProviderModuleChildStr = `
|
const testTransformProviderModuleChildStr = `
|
||||||
module.moo.foo_instance.qux (import id: bar)
|
module.moo.foo_instance.qux (import id "bar")
|
||||||
provider.foo
|
provider.foo
|
||||||
provider.foo
|
provider.foo
|
||||||
`
|
`
|
||||||
|
|
Loading…
Reference in New Issue