Skip to content

Commit d364171

Browse files
authored
Merge pull request #59 from IvanOfThings/feat/add-allowed-privileges-2
feat: add S3 and CREATE TEMPORARY TABLE privileges
2 parents 9a2bed4 + 384f686 commit d364171

File tree

2 files changed

+44
-5
lines changed

2 files changed

+44
-5
lines changed

pkg/resources/role/resource_role_acceptance_test.go

+42-5
Original file line numberDiff line numberDiff line change
@@ -193,11 +193,9 @@ func TestAccResourceRole(t *testing.T) {
193193
Steps: generateTestSteps([]TestStepData{
194194
{
195195
// Create role
196-
roleName: roleName1,
197-
database: "*",
198-
privileges: []string{
199-
"REMOTE",
200-
},
196+
roleName: roleName1,
197+
database: "*",
198+
privileges: resourcerole.AllowedGlobalPrivileges,
201199
}}),
202200
})
203201
// Validate privileges on create
@@ -227,6 +225,45 @@ func TestAccResourceRole(t *testing.T) {
227225
},
228226
},
229227
})
228+
resource.Test(t, resource.TestCase{
229+
Providers: testutils.Provider(),
230+
Steps: []resource.TestStep{
231+
{
232+
Config: testAccRoleResource(
233+
roleName1,
234+
databaseName1,
235+
common.Quote([]string{"SYSTEM RELOAD DICTIONARY"}),
236+
),
237+
ExpectError: regexp.MustCompile("Global privilege SYSTEM RELOAD DICTIONARY is only allowed for database '\\*'"),
238+
},
239+
},
240+
})
241+
resource.Test(t, resource.TestCase{
242+
Providers: testutils.Provider(),
243+
Steps: []resource.TestStep{
244+
{
245+
Config: testAccRoleResource(
246+
roleName1,
247+
databaseName1,
248+
common.Quote([]string{"S3"}),
249+
),
250+
ExpectError: regexp.MustCompile("Global privilege S3 is only allowed for database '\\*'"),
251+
},
252+
},
253+
})
254+
resource.Test(t, resource.TestCase{
255+
Providers: testutils.Provider(),
256+
Steps: []resource.TestStep{
257+
{
258+
Config: testAccRoleResource(
259+
roleName1,
260+
databaseName1,
261+
common.Quote([]string{"CREATE TEMPORARY TABLE"}),
262+
),
263+
ExpectError: regexp.MustCompile("Global privilege CREATE TEMPORARY TABLE is only allowed for database '\\*'"),
264+
},
265+
},
266+
})
230267
// Validate privileges on update
231268
resource.Test(t, resource.TestCase{
232269
Providers: testutils.Provider(),

pkg/resources/role/validators.go

+2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ var AllowedDbLevelPrivileges = []string{
2626
var AllowedGlobalPrivileges = []string{
2727
"REMOTE",
2828
"SYSTEM RELOAD DICTIONARY",
29+
"S3",
30+
"CREATE TEMPORARY TABLE",
2931
}
3032

3133
var AllowedPrivileges = append(AllowedDbLevelPrivileges, AllowedGlobalPrivileges...)

0 commit comments

Comments
 (0)