Skip to content

Commit 95f10d1

Browse files
committed
tests: fix tests Grant and Revoke NoSu
Fixed tests. Now, tests follow new Tarantool behavior (about 'grant' and 'revoke' privileges). Closes #511
1 parent 6a24a64 commit 95f10d1

File tree

1 file changed

+38
-8
lines changed

1 file changed

+38
-8
lines changed

box/tarantool_test.go

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,18 @@ func TestBox_Sugar_Schema_UserGrant_NoSu(t *testing.T) {
446446
err = b.Schema().User().Create(ctx, username, box.UserCreateOptions{Password: password})
447447
require.NoError(t, err)
448448

449+
data, err := conn.Do(tarantool.NewCallRequest("box.session.user")).Get()
450+
require.NoError(t, err)
451+
this_user := data[0].(string)
452+
453+
err = b.Session().Su(ctx, username)
454+
require.NoError(t, err)
455+
456+
defer func() {
457+
err = b.Session().Su(ctx, this_user)
458+
require.NoError(t, err)
459+
}()
460+
449461
err = b.Schema().User().Grant(ctx, username, box.Privilege{
450462
Permissions: []box.Permission{
451463
box.PermissionRead,
@@ -461,7 +473,7 @@ func TestBox_Sugar_Schema_UserGrant_NoSu(t *testing.T) {
461473
require.Equal(t, iproto.ER_ACCESS_DENIED, boxErr.Code)
462474
}
463475

464-
func TestBox_Sugar_Schema_UserGrant_WithSu(t *testing.T) {
476+
func TestSchemaUserGrant_WithSu(t *testing.T) {
465477
const (
466478
username = "to_grant_with_su"
467479
password = "to_grant_with_su"
@@ -529,14 +541,32 @@ func TestSchemaUser_Revoke_WithoutSu(t *testing.T) {
529541
err = b.Schema().User().Create(ctx, username, box.UserCreateOptions{Password: password})
530542
require.NoError(t, err)
531543

544+
startPrivileges, err := b.Schema().User().Info(ctx, username)
545+
require.NoError(t, err)
546+
547+
require.NotEmpty(t, startPrivileges)
548+
// Let's choose random first privilege.
549+
examplePriv := startPrivileges[0]
550+
551+
data, err := conn.Do(tarantool.NewCallRequest("box.session.user")).Get()
552+
require.NoError(t, err)
553+
this_user := data[0].(string)
554+
555+
err = b.Session().Su(ctx, username)
556+
require.NoError(t, err)
557+
558+
defer func() {
559+
err = b.Session().Su(ctx, this_user)
560+
require.NoError(t, err)
561+
}()
562+
532563
// 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})
564+
err = b.Schema().User().Revoke(ctx,
565+
username,
566+
examplePriv,
567+
box.UserRevokeOptions{
568+
IfExists: false,
569+
})
540570
require.Error(t, err)
541571

542572
// Require that error code is ER_ACCESS_DENIED.

0 commit comments

Comments
 (0)