Merge pull request #31236 from hashicorp/alisdair/json-plan-fix-tuple-set-unknown

json-output: Fix unknowns for tuples and sets
pull/30948/head
Alisdair McDiarmid 4 years ago committed by GitHub
commit 7fcf9734ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -566,8 +566,9 @@ func omitUnknowns(val cty.Value) cty.Value {
newVal := omitUnknowns(v)
if newVal != cty.NilVal {
vals = append(vals, newVal)
} else if newVal == cty.NilVal && ty.IsListType() {
// list length may be significant, so we will turn unknowns into nulls
} else if newVal == cty.NilVal {
// element order is how we correlate unknownness, so we must
// replace unknowns with nulls
vals = append(vals, cty.NullVal(v.Type()))
}
}

@ -65,6 +65,18 @@ func TestOmitUnknowns(t *testing.T) {
"hello": cty.True,
}),
},
{
cty.TupleVal([]cty.Value{
cty.StringVal("alpha"),
cty.UnknownVal(cty.String),
cty.StringVal("charlie"),
}),
cty.TupleVal([]cty.Value{
cty.StringVal("alpha"),
cty.NullVal(cty.String),
cty.StringVal("charlie"),
}),
},
{
cty.SetVal([]cty.Value{
cty.StringVal("dev"),
@ -76,6 +88,7 @@ func TestOmitUnknowns(t *testing.T) {
cty.StringVal("dev"),
cty.StringVal("foo"),
cty.StringVal("stg"),
cty.NullVal(cty.String),
}),
},
{

Loading…
Cancel
Save