LDAP: add delete_all_users method, use in seeds
This commit is contained in:
parent
38b3d68fd5
commit
06521d1c34
@ -34,14 +34,17 @@ class LdapService < ApplicationService
|
|||||||
client.delete dn: dn
|
client.delete dn: dn
|
||||||
client.get_operation_result.code
|
client.get_operation_result.code
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def delete_all_users!
|
||||||
|
delete_all_entries!(objectclass: "person")
|
||||||
end
|
end
|
||||||
|
|
||||||
def delete_all_entries!
|
def delete_all_entries!(objectclass: "*")
|
||||||
if Rails.env.production?
|
if Rails.env.production?
|
||||||
raise "Mass deletion of entries not allowed in production"
|
raise "Mass deletion of entries not allowed in production"
|
||||||
end
|
end
|
||||||
|
|
||||||
filter = Net::LDAP::Filter.eq("objectClass", "*")
|
filter = Net::LDAP::Filter.eq("objectClass", objectclass)
|
||||||
entries = client.search(base: @suffix, filter: filter, attributes: %w{dn})
|
entries = client.search(base: @suffix, filter: filter, attributes: %w{dn})
|
||||||
entries.sort_by!{ |e| e.dn.length }.reverse!
|
entries.sort_by!{ |e| e.dn.length }.reverse!
|
||||||
|
|
||||||
|
@ -3,6 +3,8 @@ require 'sidekiq/testing'
|
|||||||
ldap = LdapService.new
|
ldap = LdapService.new
|
||||||
|
|
||||||
Sidekiq::Testing.inline! do
|
Sidekiq::Testing.inline! do
|
||||||
|
ldap.delete_all_users!
|
||||||
|
|
||||||
CreateAccount.call(account: {
|
CreateAccount.call(account: {
|
||||||
username: "admin", domain: "kosmos.org", email: "admin@example.com",
|
username: "admin", domain: "kosmos.org", email: "admin@example.com",
|
||||||
password: "admin is admin", confirmed: true
|
password: "admin is admin", confirmed: true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user