mirror of https://github.com/hashicorp/terraform
Merge pull request #36169 from hashicorp/addrs-module-call-output-to-module-call
addrs: ModuleCallOutput to ConfigOutputValue translationpull/36167/head^2
commit
ce80353503
@ -0,0 +1,88 @@
|
||||
// Copyright (c) HashiCorp, Inc.
|
||||
// SPDX-License-Identifier: BUSL-1.1
|
||||
|
||||
package addrs
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestAbsModuleCallOutput(t *testing.T) {
|
||||
testCases := map[string]struct {
|
||||
input AbsModuleCall
|
||||
expected string
|
||||
}{
|
||||
"simple": {
|
||||
input: AbsModuleCall{
|
||||
Module: ModuleInstance{},
|
||||
Call: ModuleCall{
|
||||
Name: "hello",
|
||||
},
|
||||
},
|
||||
expected: "module.hello.foo",
|
||||
},
|
||||
"nested": {
|
||||
input: AbsModuleCall{
|
||||
Module: ModuleInstance{
|
||||
ModuleInstanceStep{
|
||||
Name: "child",
|
||||
InstanceKey: NoKey,
|
||||
},
|
||||
},
|
||||
Call: ModuleCall{
|
||||
Name: "hello",
|
||||
},
|
||||
},
|
||||
expected: "module.child.module.hello.foo",
|
||||
},
|
||||
}
|
||||
|
||||
for name, tc := range testCases {
|
||||
t.Run(name, func(t *testing.T) {
|
||||
output := tc.input.Output("foo")
|
||||
if output.String() != tc.expected {
|
||||
t.Errorf("expected %s, got %s", tc.expected, output.String())
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestAbsModuleCallOutput_ConfigOutputValue(t *testing.T) {
|
||||
testCases := map[string]struct {
|
||||
input AbsModuleCall
|
||||
expected string
|
||||
}{
|
||||
"simple": {
|
||||
input: AbsModuleCall{
|
||||
Module: ModuleInstance{},
|
||||
Call: ModuleCall{
|
||||
Name: "hello",
|
||||
},
|
||||
},
|
||||
expected: "module.hello.output.foo",
|
||||
},
|
||||
"nested": {
|
||||
input: AbsModuleCall{
|
||||
Module: ModuleInstance{
|
||||
ModuleInstanceStep{
|
||||
Name: "child",
|
||||
InstanceKey: NoKey,
|
||||
},
|
||||
},
|
||||
Call: ModuleCall{
|
||||
Name: "hello",
|
||||
},
|
||||
},
|
||||
expected: "module.child.module.hello.output.foo",
|
||||
},
|
||||
}
|
||||
|
||||
for name, tc := range testCases {
|
||||
t.Run(name, func(t *testing.T) {
|
||||
output := tc.input.Output("foo").ConfigOutputValue()
|
||||
if output.String() != tc.expected {
|
||||
t.Errorf("expected %s, got %s", tc.expected, output.String())
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue