@@ -42,7 +42,7 @@ func TestAccMongoDBAtlasSecretRole_basic(t *testing.T) {
4242 CheckDestroy : testCheckMountDestroyed (resourceType , consts .MountTypeMongoDBAtlas , consts .FieldMount ),
4343 Steps : []resource.TestStep {
4444 {
45- Config : testAccMongoDBAtlasSecretBackendRole_basic (mount , name , false ),
45+ Config : testAccMongoDBAtlasSecretBackendRole_initial (mount , name ),
4646 Check : resource .ComposeTestCheckFunc (
4747 resource .TestCheckResourceAttr (resourceName , consts .FieldMount , mount ),
4848 resource .TestCheckResourceAttr (resourceName , consts .FieldName , name ),
@@ -62,7 +62,27 @@ func TestAccMongoDBAtlasSecretRole_basic(t *testing.T) {
6262 ),
6363 },
6464 {
65- Config : testAccMongoDBAtlasSecretBackendRole_basic (mount , name , true ),
65+ Config : testAccMongoDBAtlasSecretBackendRole_updatedExceptRoles (mount , name ),
66+ Check : resource .ComposeTestCheckFunc (
67+ resource .TestCheckResourceAttr (resourceName , consts .FieldMount , mount ),
68+ resource .TestCheckResourceAttr (resourceName , consts .FieldName , name ),
69+ resource .TestCheckResourceAttr (resourceName , consts .FieldOrganizationID , updatedOrganizationID ),
70+ resource .TestCheckResourceAttr (resourceName , consts .FieldProjectID , updatedProjectID ),
71+ resource .TestCheckResourceAttr (resourceName , consts .FieldRoles + ".#" , "1" ),
72+ resource .TestCheckResourceAttr (resourceName , consts .FieldRoles + ".0" , roles ),
73+ resource .TestCheckResourceAttr (resourceName , consts .FieldIPAddresses + ".#" , "2" ),
74+ resource .TestCheckResourceAttr (resourceName , consts .FieldIPAddresses + ".0" , "192.168.1.5" ),
75+ resource .TestCheckResourceAttr (resourceName , consts .FieldIPAddresses + ".1" , "192.168.1.6" ),
76+ resource .TestCheckResourceAttr (resourceName , consts .FieldCIDRBlocks + ".#" , "1" ),
77+ resource .TestCheckResourceAttr (resourceName , consts .FieldCIDRBlocks + ".0" , updatedCidrBlocks ),
78+ resource .TestCheckResourceAttr (resourceName , consts .FieldProjectRoles + ".#" , "1" ),
79+ resource .TestCheckResourceAttr (resourceName , consts .FieldProjectRoles + ".0" , updatedProjectRoles ),
80+ resource .TestCheckResourceAttr (resourceName , consts .FieldTTL , updatedTtl ),
81+ resource .TestCheckResourceAttr (resourceName , consts .FieldMaxTTL , updatedMaxTtl ),
82+ ),
83+ },
84+ {
85+ Config : testAccMongoDBAtlasSecretBackendRole_updatedRoles (mount , name ),
6686 Check : resource .ComposeTestCheckFunc (
6787 resource .TestCheckResourceAttr (resourceName , consts .FieldMount , mount ),
6888 resource .TestCheckResourceAttr (resourceName , consts .FieldName , name ),
@@ -90,43 +110,74 @@ func TestAccMongoDBAtlasSecretRole_basic(t *testing.T) {
90110 })
91111}
92112
93- func testAccMongoDBAtlasSecretBackendRole_basic (path , name string , isUpdate bool ) string {
113+ func testAccMongoDBAtlasSecretBackendRole_initial (path , name string ) string {
94114 ret := fmt .Sprintf (`
95115resource "vault_mount" "mongo" {
96116 path = "%s"
97117 type = "mongodbatlas"
98118 description = "MongoDB Atlas secret engine mount"
99119}
100- ` , path )
101- if ! isUpdate {
102- ret += fmt .Sprintf (`
120+
103121resource "vault_mongodbatlas_secret_role" "role" {
104- mount = vault_mount.mongo.path
105- name = "%s"
106- organization_id = "7cf5a45a9ccf6400e60981b7"
107- project_id = "5cf5a45a9ccf6400e60981b6"
108- roles = ["ORG_MEMBER"]
109- ip_addresses = ["192.168.1.3", "192.168.1.4"]
110- cidr_blocks = ["192.168.1.3/32"]
111- project_roles = ["GROUP_CLUSTER_MANAGER"]
112- ttl = 30
113- max_ttl = 60
114- }` , name )
115- } else {
116- ret += fmt .Sprintf (`
122+ mount = vault_mount.mongo.path
123+ name = "%s"
124+ organization_id = "7cf5a45a9ccf6400e60981b7"
125+ project_id = "5cf5a45a9ccf6400e60981b6"
126+ roles = ["ORG_MEMBER"]
127+ ip_addresses = ["192.168.1.3", "192.168.1.4"]
128+ cidr_blocks = ["192.168.1.3/32"]
129+ project_roles = ["GROUP_CLUSTER_MANAGER"]
130+ ttl = 30
131+ max_ttl = 60
132+ }` , path , name )
133+
134+ return ret
135+ }
136+
137+ func testAccMongoDBAtlasSecretBackendRole_updatedExceptRoles (path , name string ) string {
138+ ret := fmt .Sprintf (`
139+ resource "vault_mount" "mongo" {
140+ path = "%s"
141+ type = "mongodbatlas"
142+ description = "MongoDB Atlas secret engine mount"
143+ }
144+
145+ resource "vault_mongodbatlas_secret_role" "role" {
146+ mount = vault_mount.mongo.path
147+ name = "%s"
148+ organization_id = "7cf5a45a9ccf6400e60981a8"
149+ project_id = "5cf5a45a9ccf6400e60981a67"
150+ roles = ["ORG_MEMBER"]
151+ ip_addresses = ["192.168.1.5", "192.168.1.6"]
152+ cidr_blocks = ["192.168.1.3/35"]
153+ project_roles = ["GROUP_READ_ONLY"]
154+ ttl = 60
155+ max_ttl = 120
156+ }` , path , name )
157+
158+ return ret
159+ }
160+
161+ func testAccMongoDBAtlasSecretBackendRole_updatedRoles (path , name string ) string {
162+ ret := fmt .Sprintf (`
163+ resource "vault_mount" "mongo" {
164+ path = "%s"
165+ type = "mongodbatlas"
166+ description = "MongoDB Atlas secret engine mount"
167+ }
168+
117169resource "vault_mongodbatlas_secret_role" "role" {
118- mount = vault_mount.mongo.path
119- name = "%s"
120- organization_id = "7cf5a45a9ccf6400e60981a8"
121- project_id = "5cf5a45a9ccf6400e60981a67"
122- roles = ["ORG_READ_ONLY"]
123- ip_addresses = ["192.168.1.5", "192.168.1.6"]
124- cidr_blocks = ["192.168.1.3/35"]
125- project_roles = ["GROUP_READ_ONLY"]
126- ttl = 60
127- max_ttl = 120
128- }` , name )
129- }
170+ mount = vault_mount.mongo.path
171+ name = "%s"
172+ organization_id = "7cf5a45a9ccf6400e60981a8"
173+ project_id = "5cf5a45a9ccf6400e60981a67"
174+ roles = ["ORG_READ_ONLY"]
175+ ip_addresses = ["192.168.1.5", "192.168.1.6"]
176+ cidr_blocks = ["192.168.1.3/35"]
177+ project_roles = ["GROUP_READ_ONLY"]
178+ ttl = 60
179+ max_ttl = 120
180+ }` , path , name )
130181
131182 return ret
132183}
0 commit comments