activeldap 5.2.4 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.