activeldap 5.2.4 → 6.1.0

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.
@@ -37,6 +37,15 @@ class TestValidation < Test::Unit::TestCase
37
37
  priority :must
38
38
 
39
39
  priority :normal
40
+ def test_validate_false
41
+ make_temporary_user(:simple => true) do |user,|
42
+ user.sn = nil
43
+ assert_raise(ActiveLdap::RequiredAttributeMissed) do
44
+ user.save(validate: false)
45
+ end
46
+ end
47
+ end
48
+
40
49
  def test_octet_string
41
50
  make_temporary_user(:simple => true) do |user,|
42
51
  utf8_encoded_binary_value = "\xff".force_encoding("UTF-8")
@@ -52,8 +61,8 @@ class TestValidation < Test::Unit::TestCase
52
61
  user1.id = user2.id
53
62
  assert_false(user1.save)
54
63
 
55
- format = la_('distinguishedName').humanize
56
- format << ' ' << _("is duplicated: %s")
64
+ format = human_attribute_name("distinguishedName")
65
+ format << " " << _("is duplicated: %s")
57
66
  assert_equal([format % [user2.dn.to_s]],
58
67
  user1.errors.full_messages)
59
68
  end
@@ -66,8 +75,8 @@ class TestValidation < Test::Unit::TestCase
66
75
  user.jpeg_photo = "XXX"
67
76
  assert_not_predicate(user, :save)
68
77
 
69
- format = la_('jpegPhoto').humanize
70
- format << ' ' << _("has invalid format: %s: required syntax: %s: %s")
78
+ format = human_attribute_name('jpegPhoto')
79
+ format << " " << _("has invalid format: %s: required syntax: %s: %s")
71
80
  arguments = [_("<binary-value>"),
72
81
  lsd_("1.3.6.1.4.1.1466.115.121.1.28"),
73
82
  _("invalid JPEG format")]
@@ -112,8 +121,8 @@ class TestValidation < Test::Unit::TestCase
112
121
  reason = _("attribute value is missing")
113
122
  invalid_format = _("%s is invalid distinguished name (DN): %s")
114
123
  invalid_message = invalid_format % ["uid==,#{user.class.base}", reason]
115
- format = la_('distinguishedName').humanize
116
- format << ' ' << _("is invalid: %s")
124
+ format = human_attribute_name("distinguishedName")
125
+ format << " " << _("is invalid: %s")
117
126
  message = format % invalid_message
118
127
  assert_equal([message],
119
128
  user.errors.full_messages.find_all {|m| /DN/ =~ m})
@@ -126,8 +135,8 @@ class TestValidation < Test::Unit::TestCase
126
135
  reason = _("attribute value is missing")
127
136
  invalid_format = _("%s is invalid distinguished name (DN): %s")
128
137
  invalid_message = invalid_format % ["uid==,#{user.class.base}", reason]
129
- format = la_('distinguishedName').humanize
130
- format << ' ' << _("is invalid: %s")
138
+ format = human_attribute_name("distinguishedName")
139
+ format << " " << _("is invalid: %s")
131
140
  message = format % invalid_message
132
141
  assert_equal([message], user.errors.full_messages)
133
142
  end
@@ -138,8 +147,8 @@ class TestValidation < Test::Unit::TestCase
138
147
  assert(user.valid?)
139
148
  user.uid_number = ""
140
149
  assert(!user.valid?)
141
- format = la_('uidNumber').humanize
142
- format << ' ' << _("is required attribute by objectClass '%s'")
150
+ format = human_attribute_name("uidNumber")
151
+ format << " " << _("is required attribute by objectClass '%s'")
143
152
  blank_message = format % loc_("posixAccount")
144
153
  assert_equal([blank_message], user.errors.full_messages)
145
154
  end
@@ -150,8 +159,8 @@ class TestValidation < Test::Unit::TestCase
150
159
  assert(user.save)
151
160
  user.class.excluded_classes = ['person']
152
161
  assert(!user.save)
153
- format = la_("objectClass").humanize
154
- format << ' ' << n_("has excluded value: %s",
162
+ format = human_attribute_name("objectClass")
163
+ format << " " << n_("has excluded value: %s",
155
164
  "has excluded values: %s",
156
165
  1)
157
166
  message = format % loc_("person")
@@ -222,8 +231,8 @@ class TestValidation < Test::Unit::TestCase
222
231
  assert(ou_class.new("YYY").save)
223
232
  ou = ou_class.new("YYY")
224
233
  assert(!ou.save)
225
- format = la_("distinguishedName").humanize
226
- format << ' ' << _("is duplicated: %s")
234
+ format = human_attribute_name("distinguishedName")
235
+ format << " " << _("is duplicated: %s")
227
236
  message = format % ou.dn
228
237
  assert_equal([message], ou.errors.full_messages)
229
238
  end
@@ -259,12 +268,16 @@ class TestValidation < Test::Unit::TestCase
259
268
  end
260
269
 
261
270
  private
271
+ def human_attribute_name(name)
272
+ la_(name).dup
273
+ end
274
+
262
275
  def assert_invalid_value(name, formatted_value, syntax, reason, model, option)
263
276
  syntax_description = lsd_(syntax)
264
277
  assert_not_nil(syntax_description)
265
278
  params = [formatted_value, syntax_description, reason]
266
279
  params.unshift(option) if option
267
- localized_name = la_(name).humanize
280
+ localized_name = human_attribute_name(name)
268
281
  format = localized_name << ' '
269
282
  if option
270
283
  format << _("(%s) has invalid format: %s: required syntax: %s: %s")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeldap
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.4
4
+ version: 6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Will Drewry
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-04-26 00:00:00.000000000 Z
12
+ date: 2020-12-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '4.2'
20
+ version: '5.2'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '4.2'
27
+ version: '5.2'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: locale
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -96,7 +96,7 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
- name: rake
99
+ name: kramdown
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ">="
@@ -110,21 +110,7 @@ dependencies:
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
- name: test-unit
114
- requirement: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: '0'
119
- type: :development
120
- prerelease: false
121
- version_requirements: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: test-unit-notify
113
+ name: packnga
128
114
  requirement: !ruby/object:Gem::Requirement
129
115
  requirements:
130
116
  - - ">="
@@ -138,7 +124,7 @@ dependencies:
138
124
  - !ruby/object:Gem::Version
139
125
  version: '0'
140
126
  - !ruby/object:Gem::Dependency
141
- name: yard
127
+ name: rake
142
128
  requirement: !ruby/object:Gem::Requirement
143
129
  requirements:
144
130
  - - ">="
@@ -152,7 +138,7 @@ dependencies:
152
138
  - !ruby/object:Gem::Version
153
139
  version: '0'
154
140
  - !ruby/object:Gem::Dependency
155
- name: RedCloth
141
+ name: test-unit
156
142
  requirement: !ruby/object:Gem::Requirement
157
143
  requirements:
158
144
  - - ">="
@@ -166,7 +152,7 @@ dependencies:
166
152
  - !ruby/object:Gem::Version
167
153
  version: '0'
168
154
  - !ruby/object:Gem::Dependency
169
- name: packnga
155
+ name: yard
170
156
  requirement: !ruby/object:Gem::Requirement
171
157
  requirements:
172
158
  - - ">="
@@ -196,16 +182,15 @@ files:
196
182
  - COPYING
197
183
  - Gemfile
198
184
  - LICENSE
199
- - README.textile
200
185
  - TODO
201
186
  - benchmark/README.md
202
187
  - benchmark/bench-backend.rb
203
188
  - benchmark/bench-instantiate.rb
204
189
  - benchmark/config.yaml.sample
205
- - doc/text/development.textile
206
- - doc/text/news.textile
207
- - doc/text/rails.textile
208
- - doc/text/tutorial.textile
190
+ - doc/text/development.md
191
+ - doc/text/news.md
192
+ - doc/text/rails.md
193
+ - doc/text/tutorial.md
209
194
  - examples/config.yaml.example
210
195
  - examples/example.der
211
196
  - examples/example.jpg
@@ -294,6 +279,7 @@ files:
294
279
  - test/al-test-utils.rb
295
280
  - test/command.rb
296
281
  - test/config.yaml.sample
282
+ - test/enable-dynamic-groups.ldif
297
283
  - test/enable-start-tls.ldif
298
284
  - test/fixtures/lower_case_object_class_schema.rb
299
285
  - test/run-test.rb
@@ -359,8 +345,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
359
345
  - !ruby/object:Gem::Version
360
346
  version: '0'
361
347
  requirements: []
362
- rubyforge_project: ruby-activeldap
363
- rubygems_version: 2.7.6.2
348
+ rubygems_version: 3.2.0.rc.2
364
349
  signing_key:
365
350
  specification_version: 4
366
351
  summary: ActiveLdap is a object-oriented API to LDAP
@@ -369,6 +354,7 @@ test_files:
369
354
  - test/al-test-utils.rb
370
355
  - test/command.rb
371
356
  - test/config.yaml.sample
357
+ - test/enable-dynamic-groups.ldif
372
358
  - test/enable-start-tls.ldif
373
359
  - test/fixtures/lower_case_object_class_schema.rb
374
360
  - test/run-test.rb
data/README.textile DELETED
@@ -1,141 +0,0 @@
1
- h1. ActiveLdap
2
-
3
- A ruby library for object-oriented LDAP interface.
4
-
5
- * Copyright (C) 2004-2006 Will Drewry _<will@alum.bu.edu>_
6
- * Copyright (C) 2006-2013 Kouhei Sutou _<kou@clear-code.com>_
7
-
8
- h2. Description
9
-
10
- 'ActiveLdap' is a ruby library which provides a clean
11
- objected oriented interface to LDAP library. It was
12
- inspired by ActiveRecord. This is not nearly as clean or as
13
- flexible as ActiveRecord, but it is still trivial to define
14
- new objects and manipulate them with minimal difficulty.
15
-
16
- For example and usage - read the
17
- "document":http://activeldap.github.io/.
18
-
19
- h2. Prerequisites
20
-
21
- - Ruby intepreter :=
22
- One of them:
23
- * "Ruby":http://www.ruby-lang.org (1.9.3, 2.0.x, 2.1.x, 2.2.x, 2.3.0)
24
- * "JRuby":http://www.jruby.org/
25
-
26
- See the above links for installation.
27
- =:
28
- - LDAP client :=
29
- JRuby doesn't need to install new library because JRuby
30
- has builtin LDAP support. Ruby users need one of them:
31
-
32
- * "Ruby/LDAP":http://ruby-ldap.sourceforge.net/
33
- * "Net::LDAP":http://rubyldap.com/
34
-
35
- See the above links for installation.
36
- =:
37
- - ActiveModel :=
38
- A toolkit for building modeling frameworks like Active
39
- Record and Active Resource.
40
- =:
41
-
42
- h2. Notes
43
-
44
- * Only GSSAPI SASL support exists due to Ruby/LDAP limitations
45
-
46
- h2. Rails
47
-
48
- See "Rails":file.rails.html ("doc/text/rails.textile":doc/text/rails.textile
49
- in the repository and on GitHub) page for Rails integration.
50
-
51
- h2. Licence
52
-
53
- This program is free software; you can redistribute it and/or modify it. It is
54
- dual licensed under Ruby's license and under the terms of the GNU General
55
- Public License as published by the Free Software Foundation; either version 2,
56
- or (at your option) any later version.
57
-
58
- Please see the file LICENSE for the terms of the licence.
59
-
60
- h2. Thanks
61
-
62
- This list may not be correct. If you notice mistakes of this
63
- list, please point out.
64
-
65
- * Dick Davies
66
- * Nathan Kinder
67
- * Patrick Cole
68
- * Google Inc.
69
- * Nobody: Bug reports and API improveent ideas.
70
- * James Hughes: Bug reports and advices and documentations.
71
- * Buzz Chopra: Documentations.
72
- * Christoph Lipp:
73
- ** Bug reports.
74
- ** Tell us character escape syntax.
75
- * Jeff Hall: Bug reports.
76
- * Ernie Miller: Bug reports and advices.
77
- * Daniel Pfile: Patches.
78
- * Jacob Wilkins: Bug reports.
79
- * Ace Suares:
80
- ** Bug reports.
81
- ** Nederlands translations.
82
- * Iain Pople: Bug reports and API improvement ideas.
83
- * Kevin McCarthy: Patches.
84
- * Perry Smith: Patches, bug reports and indications.
85
- * Marc Dequènes: API suggestions.
86
- * Jeremy Pruitt: Bug reports.
87
- * Bodaniel Jeanes:
88
- ** A suggestion for behavior on simple bind with empty password.
89
- ** Bug reports.
90
- * Naoto Morishima: Bug reports.
91
- * David Morton:
92
- ** An API improvement idea.
93
- ** Bug reports.
94
- * Lennon Day-Reynolds: Bug reports.
95
- * Tilo: A bug report.
96
- * Matt Mencel: Bug reports.
97
- * CultureSpy:
98
- ** Bug reports.
99
- ** Bug fixes.
100
- * gwarf12: A bug report.
101
- * Baptiste Grenier: API improvement ideas.
102
- * Richard 3 Nicholas: API improvement ideas.
103
- * Kazuhiro NISHIYAMA: A bug report.
104
- * Grzegorz Marszałek: A bug report.
105
- * しまさわらさん: A suggesetion.
106
- * Ted Lepich: A suggestion.
107
- * danger1986: A suggestion.
108
- * michael.j.konopka: Bug reports.
109
- * ingersoll: A suggestion.
110
- * Alexey.Chebotar: Bug reports.
111
- * ery.lee: A bug report.
112
- * id:dicdak: A bug report.
113
- * Raiko Mitsu: A bug report.
114
- * Kazuaki Takase: Documents in Japanese.
115
- * Tim Hermans: A bug report.
116
- * Joe Francis: A suggestion.
117
- * Tiago Fernandes: Bug reports.
118
- * achemze: A suggestion.
119
- * George Montana Harkin: A suggestion.
120
- * Marc Dequènes: Bug reports.
121
- * brad@lucky-dip.net: A bug report.
122
- * Hideyuki Yasuda: Bug reports.
123
- * zachwily: A bug report.
124
- * syrius.ml@no-log.org: A bug report.
125
- * Tim Hermans: A bug report.
126
- * Anthony M. Martinez: Helped SASL options support
127
- * ilusi0n.x: A bug report.
128
- * projekttabla: A suggestion.
129
- * christian.pennaforte: A bug report.
130
- * planetmcd: A bug report.
131
- * spoidar: Rails 3 support.
132
- * Kris Wehner: Rails 2.3.8 support.
133
- * Ryan Tandy:
134
- ** A test bug fix.
135
- ** Rails 3 support.
136
- * rbq: A bug report.
137
- * Narihiro Nakamura: Rails 3 support.
138
- * Hidetoshi Yoshimoto: Rails 3 support.
139
- * warden: A bug report.
140
- * bklier: A bug fix.
141
- * Craig White: Bug reports.
@@ -1,54 +0,0 @@
1
- h1. Development
2
-
3
- Here is information for developers.
4
-
5
- h2. Repository
6
-
7
- ActiveLdap uses ["git repository on
8
- GitHub":https://github.com/activeldap]. Here is a
9
- list to get each source code.
10
-
11
- - "activeldap":https://github.com/activeldap/activeldap :=
12
- <pre class="command">
13
- % git clone https://github.com/activeldap/activeldap.git
14
- </pre>
15
- =:
16
- - "al-admin":https://github.com/activeldap/al-admin :=
17
- <pre class="command">
18
- % git clone https://github.com/activeldap/al-admin.git
19
- </pre>
20
- =:
21
-
22
- h2. Issues
23
-
24
- ActiveLdap uses "Issues on
25
- GitHub":https://github.com/activeldap/activeldap/issues for
26
- issue tracking. Please submit a issue when you find an
27
- issue.
28
-
29
- h2. Rails 3 support
30
-
31
- Here is design about Rails 3 support.
32
-
33
- h3. must
34
-
35
- * We add active_ldap/test_help.rb to support ActiveLdap fixture.
36
- We don't write same codes into test_helper.rb like
37
- http://ruby-activeldap.rubyforge.org/activeldap-fabrication/en/#Install
38
-
39
- h3. may
40
-
41
- * We support Warden.
42
- * We support Devise
43
- * We support OmniAuth. (instead of Warden)
44
-
45
- h3. DONE
46
-
47
- * We don't support Rails 3.0.x.
48
- * We provide active_ldap/railtie to initialize ActiveLdap.
49
- * We remove ActiveRecord dependency.
50
- * We depend on ActiveModel instead of ActiveRecord.
51
- * We target to Rails 3.1.0. (Yes, it's not released yet
52
- but it will be released before we support Rails 3.x.)
53
- * We update the documentation and ensure that the procedure
54
- for including ActiveLdap in a Rails 3 project is correct.