Commit 0e6d55cc authored by Jacob Vosmaer's avatar Jacob Vosmaer

Put access_levels in a local variable

parent 66df7e20
...@@ -67,6 +67,7 @@ module Gitlab ...@@ -67,6 +67,7 @@ module Gitlab
logger.debug { "Syncing '#{group.name}' group" } logger.debug { "Syncing '#{group.name}' group" }
access_levels = Gitlab::LDAP::AccessLevels.new
# Only iterate over group links for the current provider # Only iterate over group links for the current provider
group.ldap_group_links.with_provider(provider).each do |group_link| group.ldap_group_links.with_provider(provider).each do |group_link|
if member_dns = dns_for_group_cn(group_link.cn) if member_dns = dns_for_group_cn(group_link.cn)
...@@ -77,8 +78,8 @@ module Gitlab ...@@ -77,8 +78,8 @@ module Gitlab
end end
end end
update_existing_group_membership(group) update_existing_group_membership(group, access_levels)
add_new_members(group) add_new_members(group, access_levels)
group.update(last_ldap_sync_at: Time.now) group.update(last_ldap_sync_at: Time.now)
...@@ -142,10 +143,6 @@ module Gitlab ...@@ -142,10 +143,6 @@ module Gitlab
@config ||= Gitlab::LDAP::Config.new(provider) @config ||= Gitlab::LDAP::Config.new(provider)
end end
def access_levels
@access_levels ||= Gitlab::LDAP::AccessLevels.new
end
def group_base def group_base
config.group_base config.group_base
end end
...@@ -227,7 +224,7 @@ module Gitlab ...@@ -227,7 +224,7 @@ module Gitlab
identity.save identity.save
end end
def update_existing_group_membership(group) def update_existing_group_membership(group, access_levels)
logger.debug { "Updating existing membership for '#{group.name}' group" } logger.debug { "Updating existing membership for '#{group.name}' group" }
select_and_preload_group_members(group).each do |member| select_and_preload_group_members(group).each do |member|
...@@ -270,7 +267,7 @@ module Gitlab ...@@ -270,7 +267,7 @@ module Gitlab
end end
end end
def add_new_members(group) def add_new_members(group, access_levels)
logger.debug { "Adding new members to '#{group.name}' group" } logger.debug { "Adding new members to '#{group.name}' group" }
access_levels.each do |member_dn, access_level| access_levels.each do |member_dn, access_level|
......
...@@ -291,14 +291,16 @@ describe Gitlab::LDAP::GroupSync, lib: true do ...@@ -291,14 +291,16 @@ describe Gitlab::LDAP::GroupSync, lib: true do
group2.ldap_group_links.destroy_all group2.ldap_group_links.destroy_all
group2.ldap_group_links.create( group2.ldap_group_links.create(
cn: 'ldap_group2', cn: 'ldap_group2',
group_access: Gitlab::Access::OWNER, group_access: Gitlab::Access::MASTER,
provider: 'ldapmain' provider: 'ldapmain'
) )
group_sync.sync_groups group_sync.sync_groups
expect(group1.members.pluck(:user_id).sort).to eq([user1.id, user2.id].sort) expect(group1.members.pluck(:user_id).sort).to eq([user1.id, user2.id].sort)
expect(group1.members.pluck(:access_level).uniq).to eq([Gitlab::Access::DEVELOPER])
expect(group2.members.pluck(:user_id)).to eq([user2.id]) expect(group2.members.pluck(:user_id)).to eq([user2.id])
expect(group2.members.pluck(:access_level).uniq).to eq([Gitlab::Access::MASTER])
end end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment