Skip to content

Commit 3e29049

Browse files
tests: fix tests Grant and Revoke NoSu
Fixed box/testdata/config.lua. Now, tests follow new Tarantool behavior: the 'super' roles now contains the 'grant' previlege. So we need to set a list of privileges directly instead of the 'super' role usage. Closes #511 Co-authored-by: Oleg Jukovec <oleg.jukovec@gmail.com>
1 parent ea16f55 commit 3e29049

File tree

3 files changed

+23
-16
lines changed

3 files changed

+23
-16
lines changed

box/example_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -229,16 +229,16 @@ func ExampleSchemaUser_Info() {
229229
log.Fatalf("Failed to get password hash: %s", err)
230230
}
231231

232-
hasSuper := false
232+
hasPublic := false
233233
for _, i := range info {
234-
if i.Name == "super" && i.Type == box.PrivilegeRole {
235-
hasSuper = true
234+
if i.Name == "public" && i.Type == box.PrivilegeRole {
235+
hasPublic = true
236236
}
237237
}
238238

239-
if hasSuper {
240-
fmt.Printf("User have super privileges")
239+
if hasPublic {
240+
fmt.Printf("User have public privileges")
241241
}
242242
// Output:
243-
// User have super privileges
243+
// User have public privileges
244244
}

box/tarantool_test.go

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ func TestSchemaUser_Info_TestUserCorrect(t *testing.T) {
410410
require.NoError(t, err)
411411
require.NotNil(t, privileges)
412412

413-
require.Len(t, privileges, 4)
413+
require.Len(t, privileges, 3)
414414
}
415415

416416
func TestSchemaUser_Info_NonExistsUser(t *testing.T) {
@@ -529,14 +529,20 @@ func TestSchemaUser_Revoke_WithoutSu(t *testing.T) {
529529
err = b.Schema().User().Create(ctx, username, box.UserCreateOptions{Password: password})
530530
require.NoError(t, err)
531531

532+
startPrivileges, err := b.Schema().User().Info(ctx, username)
533+
require.NoError(t, err)
534+
535+
require.NotEmpty(t, startPrivileges)
536+
// Let's choose random first privilege.
537+
examplePriv := startPrivileges[1]
538+
532539
// Can`t revoke without su permissions.
533-
err = b.Schema().User().Grant(ctx, username, box.Privilege{
534-
Permissions: []box.Permission{
535-
box.PermissionRead,
536-
},
537-
Type: box.PrivilegeSpace,
538-
Name: "space1",
539-
}, box.UserGrantOptions{IfNotExists: false})
540+
err = b.Schema().User().Revoke(ctx,
541+
username,
542+
examplePriv,
543+
box.UserRevokeOptions{
544+
IfExists: false,
545+
})
540546
require.Error(t, err)
541547

542548
// Require that error code is ER_ACCESS_DENIED.
@@ -574,7 +580,7 @@ func TestSchemaUser_Revoke_WithSu(t *testing.T) {
574580

575581
require.NotEmpty(t, startPrivileges)
576582
// Let's choose random first privilege.
577-
examplePriv := startPrivileges[0]
583+
examplePriv := startPrivileges[1]
578584

579585
// Revoke it.
580586
err = b.Schema().User().Revoke(ctx,

box/testdata/config.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ box.cfg{
66

77
box.schema.space.create('space1')
88

9+
local privileges = 'session,usage,alter,drop,read,write,create,execute'
910
box.schema.user.create('test', { password = 'test' , if_not_exists = true })
10-
box.schema.user.grant('test', 'super', nil, nil, { if_not_exists = true })
11+
box.schema.user.grant('test', privileges, 'universe', nil, { if_not_exists = true })
1112

1213
-- Set listen only when every other thing is configured.
1314
box.cfg{

0 commit comments

Comments
 (0)