Skip to content
Snippets Groups Projects
Commit ededf63c authored by GitLab Release Tools Bot's avatar GitLab Release Tools Bot
Browse files

Merge branch...

Merge branch 'security-694-remove-group_bot_user-and-group_access_token-after-group-delete' into 'master'

Remove group_bot_user and group_access_token after group delete

See merge request gitlab-org/security/gitlab!2545
parents f434db3f 66a96ac8
No related branches found
No related tags found
No related merge requests found
......@@ -35,6 +35,8 @@ def execute
user_ids_for_project_authorizations_refresh = obtain_user_ids_for_project_authorizations_refresh
destroy_group_bots
group.destroy
if user_ids_for_project_authorizations_refresh.present?
......@@ -76,6 +78,19 @@ def obtain_user_ids_for_project_authorizations_refresh
group.users_ids_of_direct_members
end
# rubocop:disable CodeReuse/ActiveRecord
def destroy_group_bots
bot_ids = group.members_and_requesters.joins(:user).merge(User.project_bot).pluck(:user_id)
current_user_id = current_user.id
group.run_after_commit do
bot_ids.each do |user_id|
DeleteUserWorker.perform_async(current_user_id, user_id, skip_authorization: true)
end
end
end
# rubocop:enable CodeReuse/ActiveRecord
end
end
......
......@@ -35,6 +35,20 @@ def destroy_group(group, user, async)
it { expect(NotificationSetting.unscoped.all).not_to include(notification_setting) }
end
context 'bot tokens', :sidekiq_might_not_need_inline do
it 'removes group bot', :aggregate_failures do
bot = create(:user, :project_bot)
group.add_developer(bot)
token = create(:personal_access_token, user: bot)
destroy_group(group, user, async)
expect(PersonalAccessToken.find_by(id: token.id)).to be_nil
expect(User.find_by(id: bot.id)).to be_nil
expect(User.find_by(id: user.id)).not_to be_nil
end
end
context 'mattermost team', :sidekiq_might_not_need_inline do
let!(:chat_team) { create(:chat_team, namespace: group) }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment