activeldap 1.0.2 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +32 -0
- data/README +8 -1
- data/data/locale/en/LC_MESSAGES/active-ldap.mo +0 -0
- data/data/locale/ja/LC_MESSAGES/active-ldap.mo +0 -0
- data/examples/al-admin/app/controllers/{application.rb → application_controller.rb} +3 -1
- data/examples/al-admin/app/views/account/sign_up.html.erb +6 -5
- data/examples/al-admin/config/boot.rb +1 -0
- data/examples/al-admin/config/environment.rb +4 -2
- data/examples/al-admin/config.ru +7 -0
- data/examples/al-admin/lib/ldap_test_helper.rb +38 -0
- data/examples/al-admin/lib/tasks/gettext.rake +3 -2
- data/examples/al-admin/lib/tasks/testing.rake +10 -0
- data/examples/al-admin/po/en/al-admin.po +4 -4
- data/examples/al-admin/po/ja/al-admin.po +4 -4
- data/examples/al-admin/po/nl/al-admin.po +3 -3
- data/examples/al-admin/public/dispatch.cgi +2 -2
- data/examples/al-admin/public/dispatch.fcgi +1 -1
- data/examples/al-admin/public/dispatch.rb +2 -2
- data/examples/al-admin/test/functional/account_controller_test.rb +2 -14
- data/examples/al-admin/test/functional/attributes_controller_test.rb +2 -12
- data/examples/al-admin/test/functional/directory_controller_test.rb +2 -12
- data/examples/al-admin/test/functional/object_classes_controller_test.rb +2 -12
- data/examples/al-admin/test/functional/syntaxes_controller_test.rb +2 -12
- data/examples/al-admin/test/functional/users_controller_test.rb +2 -12
- data/examples/al-admin/test/functional/welcome_controller_test.rb +2 -12
- data/examples/al-admin/test/integration/sign_up_test.rb +44 -0
- data/examples/al-admin/test/run-test.sh +1 -1
- data/examples/al-admin/test/test_helper.rb +25 -1
- data/examples/al-admin/test/unit/user_test.rb +1 -2
- data/examples/groupadd +2 -2
- data/examples/groupdel +2 -2
- data/examples/groupls +2 -2
- data/examples/groupmod +2 -2
- data/examples/lpasswd +2 -2
- data/examples/objects/group.rb +2 -2
- data/examples/objects/user.rb +1 -1
- data/examples/ouadd +2 -2
- data/examples/useradd +2 -2
- data/examples/useradd-binary +6 -3
- data/examples/userdel +2 -2
- data/examples/userls +2 -2
- data/examples/usermod +2 -2
- data/examples/usermod-binary-add +6 -3
- data/examples/usermod-binary-add-time +6 -3
- data/examples/usermod-binary-del +2 -2
- data/examples/usermod-lang-add +2 -2
- data/lib/active_ldap/adapter/base.rb +47 -23
- data/lib/active_ldap/adapter/jndi.rb +30 -28
- data/lib/active_ldap/adapter/jndi_connection.rb +6 -0
- data/lib/active_ldap/adapter/ldap.rb +25 -26
- data/lib/active_ldap/adapter/net_ldap.rb +28 -33
- data/lib/active_ldap/adapter/net_ldap_ext.rb +0 -6
- data/lib/active_ldap/association/proxy.rb +2 -1
- data/lib/active_ldap/attributes.rb +31 -0
- data/lib/active_ldap/base.rb +75 -31
- data/lib/active_ldap/compatible.rb +44 -0
- data/lib/active_ldap/configuration.rb +3 -3
- data/lib/active_ldap/connection.rb +41 -12
- data/lib/active_ldap/distinguished_name.rb +1 -0
- data/lib/active_ldap/get_text.rb +0 -7
- data/lib/active_ldap/ldif.rb +59 -44
- data/lib/active_ldap/operations.rb +41 -10
- data/lib/active_ldap/schema.rb +41 -6
- data/lib/active_ldap/user_password.rb +7 -7
- data/lib/active_ldap/validations.rb +24 -12
- data/lib/active_ldap/xml.rb +2 -2
- data/lib/active_ldap.rb +120 -139
- data/po/en/active-ldap.po +5 -5
- data/po/ja/active-ldap.po +5 -5
- data/rails/README +2 -2
- data/rails/init.rb +2 -2
- data/test/al-test-utils.rb +11 -4
- data/test/run-test.rb +6 -2
- data/test/test_associations.rb +4 -4
- data/test/test_attributes.rb +3 -1
- data/test/test_base.rb +75 -15
- data/test/test_base_per_instance.rb +7 -1
- data/test/test_bind.rb +4 -4
- data/test/test_connection.rb +36 -14
- data/test/test_connection_per_class.rb +5 -5
- data/test/test_connection_per_dn.rb +11 -5
- data/test/test_groupadd.rb +2 -2
- data/test/test_groupdel.rb +2 -2
- data/test/test_groupls.rb +1 -1
- data/test/test_groupmod.rb +2 -2
- data/test/test_ldif.rb +11 -1
- data/test/test_schema.rb +38 -2
- data/test/test_syntax.rb +12 -2
- data/test/test_useradd-binary.rb +1 -0
- data/test/test_usermod-binary-add-time.rb +1 -0
- data/test/test_usermod-binary-add.rb +1 -0
- data/test/test_validation.rb +24 -13
- data/test-unit/lib/test/unit/assertions.rb +97 -14
- data/test-unit/lib/test/unit/autorunner.rb +20 -4
- data/test-unit/lib/test/unit/priority.rb +21 -1
- data/test-unit/lib/test/unit/ui/console/testrunner.rb +7 -4
- data/test-unit/test/test_assertions.rb +52 -5
- metadata +10 -14
- data/rails/plugin/active_ldap/README +0 -54
- data/rails/plugin/active_ldap/generators/README +0 -2
- data/rails/plugin/active_ldap/generators/model_active_ldap/USAGE +0 -17
- data/rails/plugin/active_ldap/generators/model_active_ldap/model_active_ldap_generator.rb +0 -70
- data/rails/plugin/active_ldap/generators/model_active_ldap/templates/fixtures.yml +0 -11
- data/rails/plugin/active_ldap/generators/model_active_ldap/templates/model_active_ldap.rb +0 -3
- data/rails/plugin/active_ldap/generators/model_active_ldap/templates/unit_test.rb +0 -10
- data/rails/plugin/active_ldap/generators/scaffold_active_ldap/scaffold_active_ldap_generator.rb +0 -7
- data/rails/plugin/active_ldap/generators/scaffold_al/scaffold_al_generator.rb +0 -20
- data/rails/plugin/active_ldap/init.rb +0 -36
- data/rails_generators/scaffold_al/scaffold_al_generator.rb +0 -20
data/CHANGES
CHANGED
|
@@ -1,3 +1,35 @@
|
|
|
1
|
+
1.0.9:
|
|
2
|
+
* Added documents in Japanese. [Kazuaki Takase]
|
|
3
|
+
* Supported Ruby 1.9.1.
|
|
4
|
+
* [#20] [Ruby 1.9 Support] :: Running Tests [Alexey.Chebotar]
|
|
5
|
+
* Supported Rails 2.3.2.
|
|
6
|
+
* [#18] [Rails 2.3 Support] :: Running WEBrick Hangs [Alexey.Chebotar]
|
|
7
|
+
* Bug fixes:
|
|
8
|
+
* Fixed blank values detection. [David Morton]
|
|
9
|
+
* [#22] Ruby 1.8.6 p287 :: Undefined methods [Alexey.Chebotar]
|
|
10
|
+
* Fixed gem loading. [Tiago Fernandes]
|
|
11
|
+
* Fixed DN change via #base=. [David Morton]
|
|
12
|
+
* Fixed infinite retry on timeout.
|
|
13
|
+
* Fixed needless reconnection.
|
|
14
|
+
* API improvements:
|
|
15
|
+
* Removed needless instance methods: #prefix=,
|
|
16
|
+
#dn_attribute=, #sort_by=, #order=, #required_classes=,
|
|
17
|
+
#recommended_classes= and #excluded_classes. [David Morton]
|
|
18
|
+
* Removed obsolete scafoold_al generator.
|
|
19
|
+
* Reduced default :retry_limit.
|
|
20
|
+
* Supported association as parameter. [Joe Francis]
|
|
21
|
+
* Normalized schema attribute name. [Tim Hermans]
|
|
22
|
+
* Suppressed AuthenticationError -> ConnectionError
|
|
23
|
+
conversion on reconnection. [Kazuaki Takase]
|
|
24
|
+
* Added ActiveLdap::Schema#dump.
|
|
25
|
+
* ActiveLdap::Base.establish_connection ->
|
|
26
|
+
ActiveLdap::Base.setup_connection.
|
|
27
|
+
* Supported ActiveLdap::Base.find(:last).
|
|
28
|
+
* Added convenient methods:
|
|
29
|
+
* ActiveLdap::Base.first
|
|
30
|
+
* ActiveLdap::Base.last
|
|
31
|
+
* ActiveLdap::Base.all
|
|
32
|
+
|
|
1
33
|
1.0.2:
|
|
2
34
|
* Removed Base64 module use.
|
|
3
35
|
* Improved LDIF parser.
|
data/README
CHANGED
|
@@ -104,7 +104,9 @@ list, please point out.
|
|
|
104
104
|
* A suggestion for behavior on simple bind with empty password.
|
|
105
105
|
* Bug reports.
|
|
106
106
|
* Naoto Morishima: Bug reports.
|
|
107
|
-
* David Morton:
|
|
107
|
+
* David Morton:
|
|
108
|
+
* An API improvement idea.
|
|
109
|
+
* Bug reports.
|
|
108
110
|
* Lennon Day-Reynolds: Bug reports.
|
|
109
111
|
* Tilo: A bug report.
|
|
110
112
|
* Matt Mencel: A bug report.
|
|
@@ -122,3 +124,8 @@ list, please point out.
|
|
|
122
124
|
* Alexey.Chebotar: Bug reports.
|
|
123
125
|
* ery.lee: A bug report.
|
|
124
126
|
* id:dicdak: A bug report.
|
|
127
|
+
* Raiko Mitsu: A bug report.
|
|
128
|
+
* Kazuaki Takase: Documents in Japanese.
|
|
129
|
+
* Tim Hermans: A bug report.
|
|
130
|
+
* Joe Francis: A suggestion.
|
|
131
|
+
* Tiago Fernandes: Bug reports.
|
|
Binary file
|
|
Binary file
|
|
@@ -8,13 +8,15 @@ class ApplicationController < ActionController::Base
|
|
|
8
8
|
# Uncomment the :secret if you're not using the cookie session store
|
|
9
9
|
protect_from_forgery # :secret => '5965eefc93d824a9c145fe8edb6d1a36'
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
# init_gettext "al-admin"
|
|
12
12
|
|
|
13
13
|
include ExceptionNotifiable
|
|
14
14
|
|
|
15
15
|
include AuthenticatedSystem
|
|
16
16
|
before_filter :login_from_cookie
|
|
17
17
|
|
|
18
|
+
filter_parameter_logging :password, :password_confirmation
|
|
19
|
+
|
|
18
20
|
private
|
|
19
21
|
def default_url_options(options)
|
|
20
22
|
default_options = {}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
<%= error_messages_for(:user) %>
|
|
2
2
|
<%= error_messages_for(:system_user) %>
|
|
3
3
|
<% form_for(:user) do |f| %>
|
|
4
|
-
<p
|
|
4
|
+
<p><%= f.label @user.dn_attribute, _("Login") %><br/>
|
|
5
5
|
<%= f.text_field(@user.dn_attribute) %></p>
|
|
6
6
|
|
|
7
|
-
<p
|
|
7
|
+
<p><%= f.label(:password, _("Password")) %><br/>
|
|
8
8
|
<%= f.password_field(:password) %></p>
|
|
9
9
|
|
|
10
|
-
<p
|
|
10
|
+
<p><%= f.label(:password_confirmation, _("Confirm Password")) %><br/>
|
|
11
11
|
<%= f.password_field(:password_confirmation) %></p>
|
|
12
12
|
|
|
13
13
|
<p><%= submit_tag(_('Sign up')) %></p>
|
|
14
14
|
|
|
15
|
-
<% names = @user.attribute_names(true) -
|
|
15
|
+
<% names = @user.attribute_names(true) -
|
|
16
|
+
["objectClass", @user.dn_attribute, "userPassword"] %>
|
|
16
17
|
<% names.sort.each do |name| %>
|
|
17
18
|
<p>
|
|
18
|
-
|
|
19
|
+
<%= f.label(name, la_(name)) %>
|
|
19
20
|
<% if @required_attributes.include?(name) %>
|
|
20
21
|
<span class="required-attribute-mark">*</span>
|
|
21
22
|
<% end %>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
# ENV['RAILS_ENV'] ||= 'production'
|
|
6
6
|
|
|
7
7
|
# Specifies gem version of Rails to use when vendor/rails is not present
|
|
8
|
-
RAILS_GEM_VERSION = '2.
|
|
8
|
+
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
|
|
9
9
|
|
|
10
10
|
# Bootstrap the Rails environment, frameworks, and default configuration
|
|
11
11
|
require File.join(File.dirname(__FILE__), 'boot')
|
|
@@ -27,7 +27,9 @@ Rails::Initializer.run do |config|
|
|
|
27
27
|
# config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
|
|
28
28
|
# config.gem "sqlite3-ruby", :lib => "sqlite3"
|
|
29
29
|
# config.gem "aws-s3", :lib => "aws/s3"
|
|
30
|
-
|
|
30
|
+
# config.gem "locale_rails"
|
|
31
|
+
# config.gem "gettext_activerecord"
|
|
32
|
+
# config.gem "gettext_rails"
|
|
31
33
|
|
|
32
34
|
# Only load the plugins named here, in the order given. By default, all plugins
|
|
33
35
|
# in vendor/plugins are loaded in alphabetical order.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module LdapTestHelper
|
|
2
|
+
def setup_ldap_data
|
|
3
|
+
@ldap_dumped_data = nil
|
|
4
|
+
begin
|
|
5
|
+
@ldap_dumped_data = ActiveLdap::Base.dump(:scope => :sub)
|
|
6
|
+
rescue ActiveLdap::ConnectionError
|
|
7
|
+
end
|
|
8
|
+
ActiveLdap::Base.delete_all(nil, :scope => :sub)
|
|
9
|
+
populate_ldap_data
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def teardown_ldap_data
|
|
13
|
+
if @ldap_dumped_data
|
|
14
|
+
ActiveLdap::Base.setup_connection
|
|
15
|
+
ActiveLdap::Base.delete_all(nil, :scope => :sub)
|
|
16
|
+
ActiveLdap::Base.load(@ldap_dumped_data)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def populate_ldap_data
|
|
21
|
+
populate_ldap_base
|
|
22
|
+
populate_ldap_ou
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def populate_ldap_base
|
|
26
|
+
ActiveLdap::Populate.ensure_base
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def populate_ldap_ou
|
|
30
|
+
%w(Users Groups).each do |name|
|
|
31
|
+
make_ou(name)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def make_ou(name)
|
|
36
|
+
ActiveLdap::Populate.ensure_ou(name)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -7,7 +7,8 @@ namespace :gettext do
|
|
|
7
7
|
namespace :environment do
|
|
8
8
|
desc "Setup environment for GetText"
|
|
9
9
|
task :setup => :environment do
|
|
10
|
-
require
|
|
10
|
+
require 'gettext_rails/tools'
|
|
11
|
+
Locale.module_eval("@@locale_driver_module = nil")
|
|
11
12
|
end
|
|
12
13
|
end
|
|
13
14
|
|
|
@@ -29,7 +30,7 @@ namespace :gettext do
|
|
|
29
30
|
namespace :mo do
|
|
30
31
|
desc "Create *.mo from *.po (GetText)"
|
|
31
32
|
task :create => "gettext:environment:setup" do
|
|
32
|
-
GetText.create_mofiles
|
|
33
|
+
GetText.create_mofiles
|
|
33
34
|
end
|
|
34
35
|
end
|
|
35
36
|
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# -*- ruby -*-
|
|
2
|
+
|
|
3
|
+
namespace :test do
|
|
4
|
+
Rake::TestTask.new(:all => "db:test:prepare") do |task|
|
|
5
|
+
task.libs << "test"
|
|
6
|
+
task.verbose = false
|
|
7
|
+
task.test_files = Dir.glob("test/{unit,functional,integration}/**/*_test.rb").uniq
|
|
8
|
+
end
|
|
9
|
+
Rake::Task["test:all"].comment = "Run all tests in a test run"
|
|
10
|
+
end
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# English translations for AL Admin package.
|
|
2
|
-
# Copyright (C) 2007
|
|
2
|
+
# Copyright (C) 2007-2009 Kouhei Sutou
|
|
3
3
|
# This file is distributed under the same license as the AL Admin package.
|
|
4
|
-
# Kouhei Sutou <kou@cozmixng.org>, 2007
|
|
4
|
+
# Kouhei Sutou <kou@cozmixng.org>, 2007.
|
|
5
5
|
#
|
|
6
6
|
msgid ""
|
|
7
7
|
msgstr ""
|
|
8
|
-
"Project-Id-Version: AL Admin 1.0
|
|
8
|
+
"Project-Id-Version: AL Admin 1.1.0\n"
|
|
9
9
|
"POT-Creation-Date: 2008-02-09 14:25+0900\n"
|
|
10
|
-
"PO-Revision-Date:
|
|
10
|
+
"PO-Revision-Date: 2009-02-25 08:41+0900\n"
|
|
11
11
|
"Last-Translator: Kouhei Sutou <kou@cozmixng.org>\n"
|
|
12
12
|
"Language-Team: English\n"
|
|
13
13
|
"MIME-Version: 1.0\n"
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# AL Admin's translated messages for Japanese.
|
|
2
|
-
# Copyright (C) 2007
|
|
2
|
+
# Copyright (C) 2007-2009 Kouhei Sutou
|
|
3
3
|
# This file is distributed under the same license as the AL Admin package.
|
|
4
|
-
# Kouhei Sutou <kou@cozmixng.org>, 2007
|
|
4
|
+
# Kouhei Sutou <kou@cozmixng.org>, 2007.
|
|
5
5
|
#
|
|
6
6
|
msgid ""
|
|
7
7
|
msgstr ""
|
|
8
|
-
"Project-Id-Version: AL Admin 1.0
|
|
8
|
+
"Project-Id-Version: AL Admin 1.1.0\n"
|
|
9
9
|
"POT-Creation-Date: 2008-02-09 14:25+0900\n"
|
|
10
|
-
"PO-Revision-Date:
|
|
10
|
+
"PO-Revision-Date: 2009-02-25 08:41+0900\n"
|
|
11
11
|
"Last-Translator: Kouhei Sutou <kou@cozmixng.org>\n"
|
|
12
12
|
"Language-Team: Japanese\n"
|
|
13
13
|
"MIME-Version: 1.0\n"
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
# Copyright (C) 2007,2008 Ace Suares
|
|
4
4
|
# This file is distributed under the same license as the AL Admin package.
|
|
5
5
|
#
|
|
6
|
-
# Ace Suares <ace@suares.an>, 2007
|
|
6
|
+
# Ace Suares <ace@suares.an>, 2007.
|
|
7
7
|
msgid ""
|
|
8
8
|
msgstr ""
|
|
9
|
-
"Project-Id-Version: AL Admin 1.0
|
|
9
|
+
"Project-Id-Version: AL Admin 1.1.0\n"
|
|
10
10
|
"POT-Creation-Date: 2008-02-09 14:25+0900\n"
|
|
11
|
-
"PO-Revision-Date:
|
|
11
|
+
"PO-Revision-Date: 2009-02-25 08:42+0900\n"
|
|
12
12
|
"Last-Translator: Ace Suares <ace@suares.an>\n"
|
|
13
13
|
"Language-Team: Nederlands <nl@li.org>\n"
|
|
14
14
|
"MIME-Version: 1.0\n"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
3
|
require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
|
|
4
4
|
|
|
@@ -7,4 +7,4 @@ require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_
|
|
|
7
7
|
require "dispatcher"
|
|
8
8
|
|
|
9
9
|
ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
|
|
10
|
-
Dispatcher.dispatch
|
|
10
|
+
Dispatcher.dispatch
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
3
|
require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
|
|
4
4
|
|
|
@@ -7,4 +7,4 @@ require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_
|
|
|
7
7
|
require "dispatcher"
|
|
8
8
|
|
|
9
9
|
ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
|
|
10
|
-
Dispatcher.dispatch
|
|
10
|
+
Dispatcher.dispatch
|
|
@@ -1,22 +1,10 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'account_controller'
|
|
1
|
+
require 'test_helper'
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
class AccountController; def rescue_action(e) raise e end; end
|
|
6
|
-
|
|
7
|
-
class AccountControllerTest < Test::Unit::TestCase
|
|
3
|
+
class AccountControllerTest < ActionController::TestCase
|
|
8
4
|
# Be sure to include AuthenticatedTestHelper in test/test_helper.rb instead
|
|
9
5
|
# Then, you can remove it from this and the units test.
|
|
10
6
|
include AuthenticatedTestHelper
|
|
11
7
|
|
|
12
|
-
fixtures :users
|
|
13
|
-
|
|
14
|
-
def setup
|
|
15
|
-
@controller = AccountController.new
|
|
16
|
-
@request = ActionController::TestRequest.new
|
|
17
|
-
@response = ActionController::TestResponse.new
|
|
18
|
-
end
|
|
19
|
-
|
|
20
8
|
# Replace this with your real tests.
|
|
21
9
|
def test_truth
|
|
22
10
|
assert true
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'attributes_controller'
|
|
3
|
-
|
|
4
|
-
# Re-raise errors caught by the controller.
|
|
5
|
-
class AttributesController; def rescue_action(e) raise e end; end
|
|
6
|
-
|
|
7
|
-
class AttributesControllerTest < Test::Unit::TestCase
|
|
8
|
-
def setup
|
|
9
|
-
@controller = AttributesController.new
|
|
10
|
-
@request = ActionController::TestRequest.new
|
|
11
|
-
@response = ActionController::TestResponse.new
|
|
12
|
-
end
|
|
1
|
+
require 'test_helper'
|
|
13
2
|
|
|
3
|
+
class AttributesControllerTest < ActionController::TestCase
|
|
14
4
|
# Replace this with your real tests.
|
|
15
5
|
def test_truth
|
|
16
6
|
assert true
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'directory_controller'
|
|
3
|
-
|
|
4
|
-
# Re-raise errors caught by the controller.
|
|
5
|
-
class DirectoryController; def rescue_action(e) raise e end; end
|
|
6
|
-
|
|
7
|
-
class DirectoryControllerTest < Test::Unit::TestCase
|
|
8
|
-
def setup
|
|
9
|
-
@controller = DirectoryController.new
|
|
10
|
-
@request = ActionController::TestRequest.new
|
|
11
|
-
@response = ActionController::TestResponse.new
|
|
12
|
-
end
|
|
1
|
+
require 'test_helper'
|
|
13
2
|
|
|
3
|
+
class DirectoryControllerTest < ActionController::TestCase
|
|
14
4
|
# Replace this with your real tests.
|
|
15
5
|
def test_truth
|
|
16
6
|
assert true
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'object_classes_controller'
|
|
3
|
-
|
|
4
|
-
# Re-raise errors caught by the controller.
|
|
5
|
-
class ObjectClassesController; def rescue_action(e) raise e end; end
|
|
6
|
-
|
|
7
|
-
class ObjectClassesControllerTest < Test::Unit::TestCase
|
|
8
|
-
def setup
|
|
9
|
-
@controller = ObjectClassesController.new
|
|
10
|
-
@request = ActionController::TestRequest.new
|
|
11
|
-
@response = ActionController::TestResponse.new
|
|
12
|
-
end
|
|
1
|
+
require 'test_helper'
|
|
13
2
|
|
|
3
|
+
class ObjectClassesControllerTest < ActionController::TestCase
|
|
14
4
|
# Replace this with your real tests.
|
|
15
5
|
def test_truth
|
|
16
6
|
assert true
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'syntaxes_controller'
|
|
3
|
-
|
|
4
|
-
# Re-raise errors caught by the controller.
|
|
5
|
-
class SyntaxesController; def rescue_action(e) raise e end; end
|
|
6
|
-
|
|
7
|
-
class SyntaxesControllerTest < Test::Unit::TestCase
|
|
8
|
-
def setup
|
|
9
|
-
@controller = SyntaxesController.new
|
|
10
|
-
@request = ActionController::TestRequest.new
|
|
11
|
-
@response = ActionController::TestResponse.new
|
|
12
|
-
end
|
|
1
|
+
require 'test_helper'
|
|
13
2
|
|
|
3
|
+
class SyntaxesControllerTest < ActionController::TestCase
|
|
14
4
|
# Replace this with your real tests.
|
|
15
5
|
def test_truth
|
|
16
6
|
assert true
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'users_controller'
|
|
3
|
-
|
|
4
|
-
# Re-raise errors caught by the controller.
|
|
5
|
-
class UsersController; def rescue_action(e) raise e end; end
|
|
6
|
-
|
|
7
|
-
class UsersControllerTest < Test::Unit::TestCase
|
|
8
|
-
def setup
|
|
9
|
-
@controller = UsersController.new
|
|
10
|
-
@request = ActionController::TestRequest.new
|
|
11
|
-
@response = ActionController::TestResponse.new
|
|
12
|
-
end
|
|
1
|
+
require 'test_helper'
|
|
13
2
|
|
|
3
|
+
class UsersControllerTest < ActionController::TestCase
|
|
14
4
|
# Replace this with your real tests.
|
|
15
5
|
def test_truth
|
|
16
6
|
assert true
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'welcome_controller'
|
|
3
|
-
|
|
4
|
-
# Re-raise errors caught by the controller.
|
|
5
|
-
class WelcomeController; def rescue_action(e) raise e end; end
|
|
6
|
-
|
|
7
|
-
class WelcomeControllerTest < Test::Unit::TestCase
|
|
8
|
-
def setup
|
|
9
|
-
@controller = WelcomeController.new
|
|
10
|
-
@request = ActionController::TestRequest.new
|
|
11
|
-
@response = ActionController::TestResponse.new
|
|
12
|
-
end
|
|
1
|
+
require 'test_helper'
|
|
13
2
|
|
|
3
|
+
class WelcomeControllerTest < ActionController::TestCase
|
|
14
4
|
# Replace this with your real tests.
|
|
15
5
|
def test_truth
|
|
16
6
|
assert true
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
class SignUpTest < ActionController::IntegrationTest
|
|
4
|
+
include LdapTestHelper
|
|
5
|
+
fixtures :all
|
|
6
|
+
|
|
7
|
+
def setup
|
|
8
|
+
setup_ldap_data
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def teardown
|
|
12
|
+
teardown_ldap_data
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_sign_up
|
|
16
|
+
visit("/")
|
|
17
|
+
click_link("Sign up")
|
|
18
|
+
|
|
19
|
+
fill_in("Login", :with => "test-user")
|
|
20
|
+
fill_in("Password", :with => "test password")
|
|
21
|
+
fill_in("Confirm Password", :with => "test password")
|
|
22
|
+
fill_in("user[sn]", :with => "ser")
|
|
23
|
+
assert_difference("User.count", 1) do
|
|
24
|
+
assert_difference("LdapUser.count", 1) do
|
|
25
|
+
click_button("Sign up")
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_sign_up_failure
|
|
31
|
+
visit("/")
|
|
32
|
+
click_link("Sign up")
|
|
33
|
+
|
|
34
|
+
fill_in("Login", :with => "test-user")
|
|
35
|
+
fill_in("Password", :with => "test password")
|
|
36
|
+
fill_in("Confirm Password", :with => "test password")
|
|
37
|
+
assert_no_difference("User.count") do
|
|
38
|
+
assert_no_difference("LdapUser.count") do
|
|
39
|
+
click_button("Sign up")
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
assert_have_selector("div.fieldWithErrors input#user_sn")
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -1,8 +1,22 @@
|
|
|
1
|
+
test_unit_dir = File.dirname(__FILE__) + "/../../../test-unit/lib"
|
|
2
|
+
if File.directory?(test_unit_dir)
|
|
3
|
+
$LOAD_PATH.unshift(test_unit_dir)
|
|
4
|
+
else
|
|
5
|
+
require 'rubygems'
|
|
6
|
+
gem 'test-unit'
|
|
7
|
+
end
|
|
8
|
+
require 'test/unit'
|
|
9
|
+
|
|
1
10
|
ENV["RAILS_ENV"] = "test"
|
|
2
11
|
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
|
|
3
12
|
require 'test_help'
|
|
4
13
|
|
|
5
|
-
|
|
14
|
+
require 'webrat'
|
|
15
|
+
Webrat.configure do |config|
|
|
16
|
+
config.mode = :rails
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
class ActiveSupport::TestCase
|
|
6
20
|
# Transactional fixtures accelerate your tests by wrapping each test method
|
|
7
21
|
# in a transaction that's rolled back on completion. This ensures that the
|
|
8
22
|
# test database remains unchanged so your fixtures don't have to be reloaded
|
|
@@ -15,6 +29,10 @@ class Test::Unit::TestCase
|
|
|
15
29
|
# in MySQL. Turn off transactional fixtures in this case; however, if you
|
|
16
30
|
# don't care one way or the other, switching from MyISAM to InnoDB tables
|
|
17
31
|
# is recommended.
|
|
32
|
+
#
|
|
33
|
+
# The only drawback to using transactional fixtures is when you actually
|
|
34
|
+
# need to test transactions. Since your test is bracketed by a transaction,
|
|
35
|
+
# any transactions started in your code will be automatically rolled back.
|
|
18
36
|
self.use_transactional_fixtures = true
|
|
19
37
|
|
|
20
38
|
# Instantiated fixtures are slow, but give you @david where otherwise you
|
|
@@ -24,5 +42,11 @@ class Test::Unit::TestCase
|
|
|
24
42
|
# then set this back to true.
|
|
25
43
|
self.use_instantiated_fixtures = false
|
|
26
44
|
|
|
45
|
+
# Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
|
|
46
|
+
#
|
|
47
|
+
# Note: You'll currently still have to declare fixtures explicitly in integration tests
|
|
48
|
+
# -- they do not yet inherit this setting
|
|
49
|
+
fixtures :all
|
|
50
|
+
|
|
27
51
|
# Add more helper methods to be used by all tests here...
|
|
28
52
|
end
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
require File.dirname(__FILE__) + '/../test_helper'
|
|
2
2
|
|
|
3
|
-
class UserTest <
|
|
3
|
+
class UserTest < ActiveSupport::TestCase
|
|
4
4
|
# Be sure to include AuthenticatedTestHelper in test/test_helper.rb instead.
|
|
5
5
|
# Then, you can remove it from this and the functional test.
|
|
6
6
|
include AuthenticatedTestHelper
|
|
7
|
-
fixtures :users
|
|
8
7
|
|
|
9
8
|
# Replace this with your real tests.
|
|
10
9
|
def test_truth
|
data/examples/groupadd
CHANGED
|
@@ -23,8 +23,8 @@ pwb = Proc.new do |user|
|
|
|
23
23
|
ActiveLdap::Command.read_password("[#{user}] Password: ")
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
ActiveLdap::Base.
|
|
27
|
-
|
|
26
|
+
ActiveLdap::Base.setup_connection(:password_block => pwb,
|
|
27
|
+
:allow_anonymous => false)
|
|
28
28
|
|
|
29
29
|
if Group.exists?(name)
|
|
30
30
|
$stderr.puts("Group #{name} already exists.")
|
data/examples/groupdel
CHANGED
|
@@ -23,8 +23,8 @@ pwb = Proc.new do |user|
|
|
|
23
23
|
ActiveLdap::Command.read_password("[#{user}] Password: ")
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
ActiveLdap::Base.
|
|
27
|
-
|
|
26
|
+
ActiveLdap::Base.setup_connection(:password_block => pwb,
|
|
27
|
+
:allow_anonymous => false)
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
unless Group.exists?(name)
|
data/examples/groupls
CHANGED
|
@@ -23,8 +23,8 @@ pwb = Proc.new do |user|
|
|
|
23
23
|
ActiveLdap::Command.read_password("[#{user}] Password: ")
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
ActiveLdap::Base.
|
|
27
|
-
|
|
26
|
+
ActiveLdap::Base.setup_connection(:password_block => pwb,
|
|
27
|
+
:allow_anonymous => false)
|
|
28
28
|
|
|
29
29
|
unless Group.exists?(name)
|
|
30
30
|
$stderr.puts("Group #{name} doesn't exist.")
|
data/examples/groupmod
CHANGED
|
@@ -23,8 +23,8 @@ pwb = Proc.new do |user|
|
|
|
23
23
|
ActiveLdap::Command.read_password("[#{user}] Password: ")
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
ActiveLdap::Base.
|
|
27
|
-
|
|
26
|
+
ActiveLdap::Base.setup_connection(:password_block => pwb,
|
|
27
|
+
:allow_anonymous => false)
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
unless Group.exists?(name)
|
data/examples/lpasswd
CHANGED
|
@@ -23,8 +23,8 @@ pwb = Proc.new do |user|
|
|
|
23
23
|
user ||= ENV["USER"]
|
|
24
24
|
ActiveLdap::Command.read_password("[#{user}] Password: ")
|
|
25
25
|
end
|
|
26
|
-
ActiveLdap::Base.
|
|
27
|
-
|
|
26
|
+
ActiveLdap::Base.setup_connection(:password_block => pwb,
|
|
27
|
+
:allow_anonymous => false)
|
|
28
28
|
|
|
29
29
|
unless User.exists?(name)
|
|
30
30
|
$stderr.puts("User #{name} doesn't exist.")
|
data/examples/objects/group.rb
CHANGED
|
@@ -6,8 +6,8 @@ class Group < ActiveLdap::Base
|
|
|
6
6
|
# some class |:class_name| where the attributes name is
|
|
7
7
|
# |:local_key|. This means that it will call
|
|
8
8
|
# :class_name.new(value_of(:local_key)) to create the objects.
|
|
9
|
-
has_many :members, :
|
|
10
|
-
has_many :primary_members, :
|
|
9
|
+
has_many :members, :class_name => "User", :wrap => "memberUid"
|
|
10
|
+
has_many :primary_members, :class_name => 'User',
|
|
11
11
|
:foreign_key => 'gidNumber',
|
|
12
12
|
:primary_key => 'gidNumber'
|
|
13
13
|
end # Group
|
data/examples/objects/user.rb
CHANGED
|
@@ -3,7 +3,7 @@ require 'objects/group'
|
|
|
3
3
|
class User < ActiveLdap::Base
|
|
4
4
|
ldap_mapping :dn_attribute => 'uid', :prefix => 'ou=People',
|
|
5
5
|
:classes => ['person', 'posixAccount']
|
|
6
|
-
belongs_to :primary_group, :
|
|
6
|
+
belongs_to :primary_group, :class_name => "Group",
|
|
7
7
|
:foreign_key => "gidNumber", :primary_key => "gidNumber"
|
|
8
8
|
belongs_to :groups, :many => 'memberUid'
|
|
9
9
|
|
data/examples/ouadd
CHANGED
|
@@ -22,8 +22,8 @@ pwb = Proc.new do |user|
|
|
|
22
22
|
ActiveLdap::Command.read_password("[#{user}] Password: ")
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
ActiveLdap::Base.
|
|
26
|
-
|
|
25
|
+
ActiveLdap::Base.setup_connection(:password_block => pwb,
|
|
26
|
+
:allow_anonymous => false)
|
|
27
27
|
|
|
28
28
|
if Ou.exists?(name)
|
|
29
29
|
$stderr.puts("Ou #{name} already exists.")
|