MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / TestGetRoleIDs

Function TestGetRoleIDs

db/database_test.go:3848–3892  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

3846}
3847
3848func TestGetRoleIDs(t *testing.T) {
3849 base.SetUpTestLogging(t, base.LevelDebug, base.KeyCache, base.KeyChanges)
3850
3851 db, ctx := setupTestDB(t)
3852 defer db.Close(ctx)
3853
3854 authenticator := db.Authenticator(ctx)
3855
3856 rolename1 := uuid.NewString()
3857 rolename2 := uuid.NewString()
3858 username := uuid.NewString()
3859
3860 user1, err := authenticator.NewUser(username, "letmein", nil)
3861 require.NoError(t, err)
3862 user1.SetExplicitRoles(channels.TimedSet{rolename1: channels.NewVbSimpleSequence(1), rolename2: channels.NewVbSimpleSequence(1)}, 1)
3863 require.NoError(t, authenticator.Save(user1))
3864
3865 role1, err := authenticator.NewRole(rolename1, nil)
3866 require.NoError(t, err)
3867 require.NoError(t, authenticator.Save(role1))
3868
3869 role2, err := authenticator.NewRole(rolename2, nil)
3870 require.NoError(t, err)
3871 require.NoError(t, authenticator.Save(role2))
3872
3873 err = db.DeleteRole(ctx, role2.Name(), false)
3874 require.NoError(t, err)
3875 roleGet, err := authenticator.GetRoleIncDeleted(role2.Name())
3876 require.NoError(t, err)
3877 assert.True(t, roleGet.IsDeleted())
3878
3879 t.Log("user1:", user1.Name())
3880 t.Log("role1:", role1.Name())
3881 t.Log("role2:", role2.Name())
3882
3883 // assert allprincipals still returns users and deleted roles
3884 users, roles, err := db.AllPrincipalIDs(ctx)
3885 require.NoError(t, err)
3886 assert.ElementsMatch(t, []string{user1.Name()}, users)
3887 assert.ElementsMatch(t, []string{role1.Name(), role2.Name()}, roles)
3888
3889 roles, err = db.GetRoleIDs(ctx, db.UseViews(), false)
3890 require.NoError(t, err)
3891 assert.ElementsMatch(t, []string{role1.Name()}, roles)
3892}
3893
3894func Test_updateAllPrincipalsSequences(t *testing.T) {
3895 db, ctx := setupTestDB(t)

Callers

nothing calls this directly

Calls 15

SetExplicitRolesMethod · 0.95
SetUpTestLoggingFunction · 0.92
NewVbSimpleSequenceFunction · 0.92
setupTestDBFunction · 0.85
NewUserMethod · 0.80
SaveMethod · 0.80
NewRoleMethod · 0.80
GetRoleIncDeletedMethod · 0.80
AllPrincipalIDsMethod · 0.80
GetRoleIDsMethod · 0.80
UseViewsMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected