github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/teams/deleted_users_test.go (about) 1 package teams 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/keybase/client/go/kbtest" 8 keybase1 "github.com/keybase/client/go/protocol/keybase1" 9 "github.com/stretchr/testify/require" 10 ) 11 12 // This test is in teams package because masking deleted users' 13 // sigchain is tightly related to teams and implicit teams. Sigchain 14 // of a deleted user is only accessible to users who used to be team 15 // mates at any point in time prior to deletion, but only in current 16 // reset incarnation of requesting user. 17 18 func TestDeletedUser(t *testing.T) { 19 fus, tcs, cleanup := setupNTests(t, 3) 20 defer cleanup() 21 22 teamname := createTeam(*tcs[0]) 23 t.Logf("Created team %q", teamname) 24 25 // Add user 1 and user 2 to team. 26 require.NoError(t, SetRoleWriter(context.Background(), tcs[0].G, teamname, fus[1].Username)) 27 require.NoError(t, SetRoleWriter(context.Background(), tcs[0].G, teamname, fus[2].Username)) 28 29 // User 1 leaves the team (signs team link!) and deletes themself. 30 require.NoError(t, Leave(context.Background(), tcs[1].G, teamname, true /* permanent */)) 31 kbtest.DeleteAccount(*tcs[1], fus[1]) 32 33 // See if user 2 can still load team. 34 _, err := Load(context.Background(), tcs[2].G, keybase1.LoadTeamArg{ 35 Name: teamname, 36 ForceRepoll: true, 37 }) 38 require.NoError(t, err) 39 }