@@ -14,44 +14,52 @@ import (
1414)
1515
1616func TestAccResourceSecurityRoleMapping (t * testing.T ) {
17- roleMappingName := sdkacctest .RandStringFromCharSet (10 , sdkacctest .CharSetAlphaNum )
18- resource .Test (t , resource.TestCase {
19- PreCheck : func () { acctest .PreCheck (t ) },
20- CheckDestroy : checkResourceSecurityRoleMappingDestroy ,
21- ProtoV6ProviderFactories : acctest .Providers ,
22- Steps : []resource.TestStep {
23- {
24- Config : testAccResourceSecurityRoleMappingCreate (roleMappingName ),
25- Check : resource .ComposeTestCheckFunc (
26- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "name" , roleMappingName ),
27- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "enabled" , "true" ),
28- checks .TestCheckResourceListAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "roles" , []string {"admin" }),
29- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "rules" , `{"any":[{"field":{"username":"esadmin"}},{"field":{"groups":"cn=admins,dc=example,dc=com"}}]}` ),
30- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "metadata" , `{"version":1}` ),
31- ),
32- },
33- {
34- Config : testAccResourceSecurityRoleMappingUpdate (roleMappingName ),
35- Check : resource .ComposeTestCheckFunc (
36- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "name" , roleMappingName ),
37- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "enabled" , "false" ),
38- checks .TestCheckResourceListAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "roles" , []string {"admin" , "user" }),
39- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "rules" , `{"any":[{"field":{"username":"esadmin"}},{"field":{"groups":"cn=admins,dc=example,dc=com"}}]}` ),
40- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "metadata" , `{}` ),
41- ),
42- },
43- {
44- Config : testAccResourceSecurityRoleMappingRoleTemplates (roleMappingName ),
45- Check : resource .ComposeTestCheckFunc (
46- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "name" , roleMappingName ),
47- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "enabled" , "false" ),
48- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "role_templates" , `[{"format":"json","template":"{\"source\":\"{{#tojson}}groups{{/tojson}}\"}"}]` ),
49- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "rules" , `{"any":[{"field":{"username":"esadmin"}},{"field":{"groups":"cn=admins,dc=example,dc=com"}}]}` ),
50- resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "metadata" , `{}` ),
51- ),
52- },
53- },
54- })
17+ names := []string {
18+ sdkacctest .RandStringFromCharSet (10 , sdkacctest .CharSetAlphaNum ),
19+ sdkacctest .RandStringFromCharSet (5 , sdkacctest .CharSetAlphaNum ) + " " + sdkacctest .RandStringFromCharSet (4 , sdkacctest .CharSetAlphaNum ),
20+ }
21+
22+ for _ , roleMappingName := range names {
23+ t .Run ("roleMappingName = " + roleMappingName , func (t * testing.T ) {
24+ resource .Test (t , resource.TestCase {
25+ PreCheck : func () { acctest .PreCheck (t ) },
26+ CheckDestroy : checkResourceSecurityRoleMappingDestroy ,
27+ ProtoV6ProviderFactories : acctest .Providers ,
28+ Steps : []resource.TestStep {
29+ {
30+ Config : testAccResourceSecurityRoleMappingCreate (roleMappingName ),
31+ Check : resource .ComposeTestCheckFunc (
32+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "name" , roleMappingName ),
33+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "enabled" , "true" ),
34+ checks .TestCheckResourceListAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "roles" , []string {"admin" }),
35+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "rules" , `{"any":[{"field":{"username":"esadmin"}},{"field":{"groups":"cn=admins,dc=example,dc=com"}}]}` ),
36+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "metadata" , `{"version":1}` ),
37+ ),
38+ },
39+ {
40+ Config : testAccResourceSecurityRoleMappingUpdate (roleMappingName ),
41+ Check : resource .ComposeTestCheckFunc (
42+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "name" , roleMappingName ),
43+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "enabled" , "false" ),
44+ checks .TestCheckResourceListAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "roles" , []string {"admin" , "user" }),
45+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "rules" , `{"any":[{"field":{"username":"esadmin"}},{"field":{"groups":"cn=admins,dc=example,dc=com"}}]}` ),
46+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "metadata" , `{}` ),
47+ ),
48+ },
49+ {
50+ Config : testAccResourceSecurityRoleMappingRoleTemplates (roleMappingName ),
51+ Check : resource .ComposeTestCheckFunc (
52+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "name" , roleMappingName ),
53+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "enabled" , "false" ),
54+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "role_templates" , `[{"format":"json","template":"{\"source\":\"{{#tojson}}groups{{/tojson}}\"}"}]` ),
55+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "rules" , `{"any":[{"field":{"username":"esadmin"}},{"field":{"groups":"cn=admins,dc=example,dc=com"}}]}` ),
56+ resource .TestCheckResourceAttr ("elasticstack_elasticsearch_security_role_mapping.test" , "metadata" , `{}` ),
57+ ),
58+ },
59+ },
60+ })
61+ })
62+ }
5563}
5664
5765func TestAccResourceSecurityRoleMappingFromSDK (t * testing.T ) {
0 commit comments