From 0d1252812b6d0135f7bf571a92408c3e507c42bc Mon Sep 17 00:00:00 2001 From: James Bardin Date: Tue, 15 Jan 2019 11:55:02 -0500 Subject: [PATCH] add more tests for a computed nested list and set --- builtin/providers/test/resource_nested.go | 39 +++++++++++++++++++ .../providers/test/resource_nested_test.go | 7 ++++ 2 files changed, 46 insertions(+) diff --git a/builtin/providers/test/resource_nested.go b/builtin/providers/test/resource_nested.go index 6d2a59fa0..bff743259 100644 --- a/builtin/providers/test/resource_nested.go +++ b/builtin/providers/test/resource_nested.go @@ -56,6 +56,34 @@ func testResourceNested() *schema.Resource { }, }, }, + "list_block": { + Type: schema.TypeList, + Optional: true, + Computed: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "sub_list_block": { + Type: schema.TypeList, + Optional: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "bool": { + Type: schema.TypeBool, + Optional: true, + }, + "set": { + Type: schema.TypeSet, + Optional: true, + Elem: &schema.Schema{Type: schema.TypeString}, + }, + }, + }, + }, + }, + }, + }, }, } } @@ -65,7 +93,18 @@ func testResourceNestedCreate(d *schema.ResourceData, meta interface{}) error { return testResourceNestedRead(d, meta) } +func testResourceNestedUpdate(d *schema.ResourceData, meta interface{}) error { + return testResourceNestedRead(d, meta) +} + func testResourceNestedRead(d *schema.ResourceData, meta interface{}) error { + set := []map[string]interface{}{map[string]interface{}{ + "sub_list_block": []map[string]interface{}{map[string]interface{}{ + "bool": false, + "set": schema.NewSet(schema.HashString, nil), + }}, + }} + d.Set("list_block", set) return nil } diff --git a/builtin/providers/test/resource_nested_test.go b/builtin/providers/test/resource_nested_test.go index 00b4e0f28..c525f625c 100644 --- a/builtin/providers/test/resource_nested_test.go +++ b/builtin/providers/test/resource_nested_test.go @@ -31,6 +31,9 @@ resource "test_resource_nested" "foo" { resource.TestCheckResourceAttr( "test_resource_nested.foo", "nested.1877647874.string", "val", ), + resource.TestCheckResourceAttr( + "test_resource_nested.foo", "list_block.0.sub_list_block.0.bool", "false", + ), ), }, }, @@ -195,6 +198,10 @@ resource "test_resource_nested" "foo" { "nested.140280279.string": "", "nested.140280279.optional": "false", "nested.140280279.nested_again.#": "0", + "list_block.#": "1", + "list_block.0.sub_list_block.#": "1", + "list_block.0.sub_list_block.0.bool": "false", + "list_block.0.sub_list_block.0.set.#": "0", } delete(got, "id") // it's random, so not useful for testing