This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git
The following commit(s) were added to refs/heads/master by this push:
new 0e6acc34 Stub out LDAP search
0e6acc34 is described below
commit 0e6acc3455fdcb3a7db342403046a81f871adfd3
Author: Sebb <[email protected]>
AuthorDate: Mon May 15 11:41:34 2023 +0100
Stub out LDAP search
---
www/board/agenda/spec/secretary_spec.rb | 2 +-
www/board/agenda/spec/spec_helper.rb | 42 +++++++++++++++++++++++++++++++++
2 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/www/board/agenda/spec/secretary_spec.rb
b/www/board/agenda/spec/secretary_spec.rb
index a14dbf37..93c18c2c 100644
--- a/www/board/agenda/spec/secretary_spec.rb
+++ b/www/board/agenda/spec/secretary_spec.rb
@@ -6,7 +6,7 @@ require_relative 'spec_helper'
feature 'report' do
before :each do
- page.driver.header 'REMOTE_USER', 'mattsicker' # must be a non-director
member of the secretarial team
+ page.driver.header 'REMOTE_USER', SEC_ID # must be a non-director member
of the secretarial team
end
it "should allow timestamps to be edited" do
diff --git a/www/board/agenda/spec/spec_helper.rb
b/www/board/agenda/spec/spec_helper.rb
index 5f9d63ea..7c775996 100644
--- a/www/board/agenda/spec/spec_helper.rb
+++ b/www/board/agenda/spec/spec_helper.rb
@@ -77,3 +77,45 @@ RSpec.configure do |config|
FileUtils.mkdir_p Agenda::CACHE
end
end
+
+# must be a non-director member of the secretarial team
+SEC_ID='secretary_id' # dummy for testing
+
+DUMMY = {
+ 'ldapsearch -x -LLL -b ou=groups,ou=services,dc=apache,dc=org -s one
cn=pmc-chairs member memberUid' =>
+ [{"member" => []}],
+ 'ldapsearch -x -LLL -b ou=groups,dc=apache,dc=org -s one cn=member
memberUid' =>
+ [[]],
+ 'ldapsearch -x -LLL -b ou=groups,ou=services,dc=apache,dc=org -s one
cn=board member memberUid' =>
+ [{"member" => []}],
+ 'ldapsearch -x -LLL -b ou=groups,ou=services,dc=apache,dc=org -s sub
cn=asf-secretary dn' =>
+ [["cn=asf-secretary,ou=groups,ou=services,dc=apache,dc=org"]],
+ 'ldapsearch -x -LLL -b ou=groups,ou=services,dc=apache,dc=org -s one
cn=asf-secretary member memberUid' =>
+ [{"member"=>["uid=#{SEC_ID},ou=people,dc=apache,dc=org"],
"dn"=>["cn=asf-secretary,ou=groups,ou=services,dc=apache,dc=org"]}],
+ 'ldapsearch -x -LLL -b ou=groups,ou=services,dc=apache,dc=org -s sub
cn=board dn' =>
+ [['cn=board,ou=groups,ou=services,dc=apache,dc=org']],
+ 'ldapsearch -x -LLL -b ou=groups,ou=services,dc=apache,dc=org -s sub
cn=pmc-chairs dn' =>
+ [[]],
+ 'ldapsearch -x -LLL -b ou=people,dc=apache,dc=org -s one uid=secretary_id
' =>
+ [],
+}
+
+
+$LOAD_PATH.unshift '/srv/whimsy/lib'
+require 'whimsy/asf/config'
+require 'whimsy/asf/ldap'
+module ASF
+ def self.search_scope(scope, base, filter, attrs=nil)
+ sname = %w(base one sub children)[scope] rescue scope
+ cmd = "ldapsearch -x -LLL -b #{base} -s #{sname} #{filter} " +
+ [attrs].flatten.join(' ')
+ # $stderr.puts cmd
+ ret = DUMMY[cmd]
+ if ret
+ # $stderr.puts ret.inspect
+ return ret
+ else
+ raise "Cannot find response for: '#{cmd}'"
+ end
+ end
+end