@ -26,6 +26,14 @@ func TestFlatmapValueFromHCL2(t *testing.T) {
"foo" : "hello" ,
} ,
} ,
{
cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . UnknownVal ( cty . Bool ) ,
} ) ,
map [ string ] string {
"foo" : UnknownVariableValue ,
} ,
} ,
{
cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . NumberIntVal ( 12 ) ,
@ -64,6 +72,14 @@ func TestFlatmapValueFromHCL2(t *testing.T) {
"foo.#" : "0" ,
} ,
} ,
{
cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . UnknownVal ( cty . List ( cty . String ) ) ,
} ) ,
map [ string ] string {
"foo.#" : UnknownVariableValue ,
} ,
} ,
{
cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . ListVal ( [ ] cty . Value {
@ -101,6 +117,14 @@ func TestFlatmapValueFromHCL2(t *testing.T) {
"foo.hello.world" : "10" ,
} ,
} ,
{
cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . UnknownVal ( cty . Map ( cty . String ) ) ,
} ) ,
map [ string ] string {
"foo.%" : UnknownVariableValue ,
} ,
} ,
{
cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . MapVal ( map [ string ] cty . Value {
@ -127,6 +151,14 @@ func TestFlatmapValueFromHCL2(t *testing.T) {
"foo.1" : "world" ,
} ,
} ,
{
cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . UnknownVal ( cty . Set ( cty . Number ) ) ,
} ) ,
map [ string ] string {
"foo.#" : UnknownVariableValue ,
} ,
} ,
{
cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . ListVal ( [ ] cty . Value {
@ -179,6 +211,23 @@ func TestFlatmapValueFromHCL2(t *testing.T) {
"foo.1.baz.1" : "true" ,
} ,
} ,
{
cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . ListVal ( [ ] cty . Value {
cty . UnknownVal ( cty . Object ( map [ string ] cty . Type {
"bar" : cty . String ,
"baz" : cty . List ( cty . Bool ) ,
"bap" : cty . Map ( cty . Number ) ,
} ) ) ,
} ) ,
} ) ,
map [ string ] string {
"foo.#" : "1" ,
"foo.0.bar" : UnknownVariableValue ,
"foo.0.baz.#" : UnknownVariableValue ,
"foo.0.bap.%" : UnknownVariableValue ,
} ,
} ,
}
for _ , test := range tests {
@ -216,16 +265,19 @@ func TestHCL2ValueFromFlatmap(t *testing.T) {
"foo" : "blah" ,
"bar" : "true" ,
"baz" : "12.5" ,
"unk" : UnknownVariableValue ,
} ,
Type : cty . Object ( map [ string ] cty . Type {
"foo" : cty . String ,
"bar" : cty . Bool ,
"baz" : cty . Number ,
"unk" : cty . Bool ,
} ) ,
Want : cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . StringVal ( "blah" ) ,
"bar" : cty . True ,
"baz" : cty . NumberFloatVal ( 12.5 ) ,
"unk" : cty . UnknownVal ( cty . Bool ) ,
} ) ,
} ,
{
@ -239,6 +291,17 @@ func TestHCL2ValueFromFlatmap(t *testing.T) {
"foo" : cty . ListValEmpty ( cty . String ) ,
} ) ,
} ,
{
Flatmap : map [ string ] string {
"foo.#" : UnknownVariableValue ,
} ,
Type : cty . Object ( map [ string ] cty . Type {
"foo" : cty . List ( cty . String ) ,
} ) ,
Want : cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . UnknownVal ( cty . List ( cty . String ) ) ,
} ) ,
} ,
{
Flatmap : map [ string ] string {
"foo.#" : "1" ,
@ -288,6 +351,23 @@ func TestHCL2ValueFromFlatmap(t *testing.T) {
} ) ,
} ) ,
} ,
{
Flatmap : map [ string ] string {
"foo.#" : UnknownVariableValue ,
} ,
Type : cty . Object ( map [ string ] cty . Type {
"foo" : cty . Tuple ( [ ] cty . Type {
cty . String ,
cty . Bool ,
} ) ,
} ) ,
Want : cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . UnknownVal ( cty . Tuple ( [ ] cty . Type {
cty . String ,
cty . Bool ,
} ) ) ,
} ) ,
} ,
{
Flatmap : map [ string ] string {
"foo.#" : "0" ,
@ -299,6 +379,17 @@ func TestHCL2ValueFromFlatmap(t *testing.T) {
"foo" : cty . SetValEmpty ( cty . String ) ,
} ) ,
} ,
{
Flatmap : map [ string ] string {
"foo.#" : UnknownVariableValue ,
} ,
Type : cty . Object ( map [ string ] cty . Type {
"foo" : cty . Set ( cty . String ) ,
} ) ,
Want : cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . UnknownVal ( cty . Set ( cty . String ) ) ,
} ) ,
} ,
{
Flatmap : map [ string ] string {
"foo.#" : "1" ,
@ -357,6 +448,17 @@ func TestHCL2ValueFromFlatmap(t *testing.T) {
} ) ,
} ) ,
} ,
{
Flatmap : map [ string ] string {
"foo.%" : UnknownVariableValue ,
} ,
Type : cty . Object ( map [ string ] cty . Type {
"foo" : cty . Map ( cty . Bool ) ,
} ) ,
Want : cty . ObjectVal ( map [ string ] cty . Value {
"foo" : cty . UnknownVal ( cty . Map ( cty . Bool ) ) ,
} ) ,
} ,
{
Flatmap : map [ string ] string {
"foo.#" : "2" ,