67 lines
1.6 KiB
Go
67 lines
1.6 KiB
Go
|
package terraform
|
||
|
|
||
|
import (
|
||
|
"reflect"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/hashicorp/terraform/config"
|
||
|
)
|
||
|
|
||
|
func TestNodeApplyableModuleVariablePath(t *testing.T) {
|
||
|
n := &NodeApplyableModuleVariable{
|
||
|
PathValue: []string{"root", "child"},
|
||
|
Config: &config.Variable{Name: "foo"},
|
||
|
}
|
||
|
|
||
|
expected := []string{"root"}
|
||
|
actual := n.Path()
|
||
|
if !reflect.DeepEqual(actual, expected) {
|
||
|
t.Fatalf("%#v != %#v", actual, expected)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestNodeApplyableModuleVariableReferenceableName(t *testing.T) {
|
||
|
n := &NodeApplyableModuleVariable{
|
||
|
PathValue: []string{"root", "child"},
|
||
|
Config: &config.Variable{Name: "foo"},
|
||
|
}
|
||
|
|
||
|
expected := []string{"module.child.var.foo"}
|
||
|
actual := n.ReferenceableName()
|
||
|
if !reflect.DeepEqual(actual, expected) {
|
||
|
t.Fatalf("%#v != %#v", actual, expected)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestNodeApplyableModuleVariableReference(t *testing.T) {
|
||
|
n := &NodeApplyableModuleVariable{
|
||
|
PathValue: []string{"root", "child"},
|
||
|
Config: &config.Variable{Name: "foo"},
|
||
|
Value: config.TestRawConfig(t, map[string]interface{}{
|
||
|
"foo": `${var.foo}`,
|
||
|
}),
|
||
|
}
|
||
|
|
||
|
expected := []string{"var.foo"}
|
||
|
actual := n.References()
|
||
|
if !reflect.DeepEqual(actual, expected) {
|
||
|
t.Fatalf("%#v != %#v", actual, expected)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestNodeApplyableModuleVariableReference_grandchild(t *testing.T) {
|
||
|
n := &NodeApplyableModuleVariable{
|
||
|
PathValue: []string{"root", "child", "grandchild"},
|
||
|
Config: &config.Variable{Name: "foo"},
|
||
|
Value: config.TestRawConfig(t, map[string]interface{}{
|
||
|
"foo": `${var.foo}`,
|
||
|
}),
|
||
|
}
|
||
|
|
||
|
expected := []string{"module.child.var.foo"}
|
||
|
actual := n.References()
|
||
|
if !reflect.DeepEqual(actual, expected) {
|
||
|
t.Fatalf("%#v != %#v", actual, expected)
|
||
|
}
|
||
|
}
|