mirror of
https://github.com/opentofu/opentofu.git
synced 2025-01-15 19:22:46 -06:00
6055cb632e
While there was already a check in the sdk to filter unknowns from validation, it missed the case where those were in simple lists and maps.
139 lines
2.5 KiB
Go
139 lines
2.5 KiB
Go
package test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/hashicorp/terraform/helper/resource"
|
|
)
|
|
|
|
func TestResourceMap_basic(t *testing.T) {
|
|
resource.UnitTest(t, resource.TestCase{
|
|
Providers: testAccProviders,
|
|
CheckDestroy: testAccCheckResourceDestroy,
|
|
Steps: []resource.TestStep{
|
|
{
|
|
Config: `
|
|
resource "test_resource_map" "foobar" {
|
|
name = "test"
|
|
map_of_three = {
|
|
one = "one"
|
|
two = "two"
|
|
empty = ""
|
|
}
|
|
}`,
|
|
Check: resource.ComposeTestCheckFunc(
|
|
resource.TestCheckResourceAttr(
|
|
"test_resource_map.foobar", "map_of_three.empty", "",
|
|
),
|
|
),
|
|
},
|
|
},
|
|
})
|
|
}
|
|
|
|
func TestResourceMap_basicWithVars(t *testing.T) {
|
|
resource.UnitTest(t, resource.TestCase{
|
|
Providers: testAccProviders,
|
|
CheckDestroy: testAccCheckResourceDestroy,
|
|
Steps: []resource.TestStep{
|
|
{
|
|
Config: `
|
|
variable "a" {
|
|
default = "a"
|
|
}
|
|
|
|
variable "b" {
|
|
default = "b"
|
|
}
|
|
|
|
resource "test_resource_map" "foobar" {
|
|
name = "test"
|
|
map_of_three = {
|
|
one = var.a
|
|
two = var.b
|
|
empty = ""
|
|
}
|
|
}`,
|
|
Check: resource.ComposeTestCheckFunc(),
|
|
},
|
|
},
|
|
})
|
|
}
|
|
|
|
func TestResourceMap_computedMap(t *testing.T) {
|
|
resource.UnitTest(t, resource.TestCase{
|
|
Providers: testAccProviders,
|
|
CheckDestroy: testAccCheckResourceDestroy,
|
|
Steps: []resource.TestStep{
|
|
{
|
|
Config: `
|
|
resource "test_resource_map" "foobar" {
|
|
name = "test"
|
|
map_of_three = {
|
|
one = "one"
|
|
two = "two"
|
|
empty = ""
|
|
}
|
|
map_values = {
|
|
a = "1"
|
|
b = "2"
|
|
}
|
|
}`,
|
|
Check: resource.ComposeTestCheckFunc(
|
|
resource.TestCheckResourceAttr(
|
|
"test_resource_map.foobar", "computed_map.a", "1",
|
|
),
|
|
resource.TestCheckResourceAttr(
|
|
"test_resource_map.foobar", "computed_map.b", "2",
|
|
),
|
|
),
|
|
},
|
|
{
|
|
Config: `
|
|
resource "test_resource_map" "foobar" {
|
|
name = "test"
|
|
map_of_three = {
|
|
one = "one"
|
|
two = "two"
|
|
empty = ""
|
|
}
|
|
map_values = {
|
|
a = "3"
|
|
b = "4"
|
|
}
|
|
}`,
|
|
Check: resource.ComposeTestCheckFunc(
|
|
resource.TestCheckResourceAttr(
|
|
"test_resource_map.foobar", "computed_map.a", "3",
|
|
),
|
|
resource.TestCheckResourceAttr(
|
|
"test_resource_map.foobar", "computed_map.b", "4",
|
|
),
|
|
),
|
|
},
|
|
{
|
|
Config: `
|
|
resource "test_resource_map" "foobar" {
|
|
name = "test"
|
|
map_of_three = {
|
|
one = "one"
|
|
two = "two"
|
|
empty = ""
|
|
}
|
|
map_values = {
|
|
a = "3"
|
|
}
|
|
}`,
|
|
Check: resource.ComposeTestCheckFunc(
|
|
resource.TestCheckResourceAttr(
|
|
"test_resource_map.foobar", "computed_map.a", "3",
|
|
),
|
|
resource.TestCheckNoResourceAttr(
|
|
"test_resource_map.foobar", "computed_map.b",
|
|
),
|
|
),
|
|
},
|
|
},
|
|
})
|
|
}
|