ladle 1.0.0 → 1.0.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/ladle/server.rb +5 -5
- data/lib/ladle/version.rb +1 -1
- data/spec/ladle/server_spec.rb +77 -78
- data/spec/ladle/version_spec.rb +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad18110ea93dd232ca300c7309251b5ba187d0ba
|
4
|
+
data.tar.gz: 822a0d244ee10817ac5af600ed6688a25a61d222
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a82d005b523b57c8e2c57359cba87dd5ba656a334294fcce93ee686640d852a78ecb192bb30e06e211e94fc45f6a0d384cbc21755eaa4eece4d778f7afc239b
|
7
|
+
data.tar.gz: aaf25e22714ec321985d575d70a3c23e828c9129fe95124f0eb765fd63a6427f82b5df35bbf36b0bb52871f58dcedd11ad4d053bf90aaf36237ae688cdc6db24
|
data/CHANGELOG.md
CHANGED
data/lib/ladle/server.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'ladle'
|
2
|
+
require 'tmpdir'
|
2
3
|
|
3
4
|
module Ladle
|
4
5
|
##
|
@@ -90,7 +91,7 @@ module Ladle
|
|
90
91
|
@quiet = opts[:quiet]
|
91
92
|
@verbose = opts[:verbose]
|
92
93
|
@timeout = opts[:timeout] || 60
|
93
|
-
@tmpdir = opts[:tmpdir] || ENV['
|
94
|
+
@tmpdir = opts[:tmpdir] || ENV['TEMPDIR'] || Dir.tmpdir
|
94
95
|
@java_bin = opts[:java_bin] ||
|
95
96
|
(ENV['JAVA_HOME'] ? File.join(ENV['JAVA_HOME'], "bin", "java") : "java")
|
96
97
|
@custom_schemas = opts[:custom_schemas] ? [*opts[:custom_schemas]] : []
|
@@ -105,9 +106,7 @@ module Ladle
|
|
105
106
|
raise "The domain component must start with 'dc='. '#{@domain}' does not."
|
106
107
|
end
|
107
108
|
|
108
|
-
|
109
|
-
raise "Cannot guess tmpdir from the environment. Please specify it."
|
110
|
-
elsif !File.directory?(tmpdir)
|
109
|
+
unless File.directory?(tmpdir)
|
111
110
|
raise "Tmpdir #{tmpdir.inspect} does not exist."
|
112
111
|
end
|
113
112
|
|
@@ -375,7 +374,8 @@ module Ladle
|
|
375
374
|
%r{attributeType w/ OID 2.5.4.16 not registered},
|
376
375
|
%r{default.*?cache size},
|
377
376
|
%r{change the admin password},
|
378
|
-
%r{Attribute \S+ does not have normalizer}
|
377
|
+
%r{Attribute \S+ does not have normalizer},
|
378
|
+
%r{attribute \S+ was not recognized as a valid attributeType}
|
379
379
|
].detect { |re| line =~ re }
|
380
380
|
end
|
381
381
|
end
|
data/lib/ladle/version.rb
CHANGED
data/spec/ladle/server_spec.rb
CHANGED
@@ -11,15 +11,15 @@ describe Ladle, "::Server" do
|
|
11
11
|
|
12
12
|
def should_be_running
|
13
13
|
s = nil
|
14
|
-
|
15
|
-
|
14
|
+
expect { s = TCPSocket.new('localhost', @server.port) }.
|
15
|
+
not_to raise_error
|
16
16
|
s.close if s
|
17
17
|
end
|
18
18
|
|
19
19
|
def should_not_be_running
|
20
20
|
s = nil
|
21
|
-
|
22
|
-
|
21
|
+
expect { s = TCPSocket.new('localhost', @server.port) }.
|
22
|
+
to raise_error(/Connection refused/)
|
23
23
|
s.close if s
|
24
24
|
end
|
25
25
|
|
@@ -37,7 +37,7 @@ describe Ladle, "::Server" do
|
|
37
37
|
$stderr.puts "Killing leftover process #{pid}"
|
38
38
|
Process.kill 15, pid
|
39
39
|
}
|
40
|
-
left_over_pids.
|
40
|
+
expect(left_over_pids).to be_empty
|
41
41
|
end
|
42
42
|
|
43
43
|
describe "initialization of" do
|
@@ -52,74 +52,74 @@ describe Ladle, "::Server" do
|
|
52
52
|
|
53
53
|
describe ":port" do
|
54
54
|
it "defaults to 3897" do
|
55
|
-
Ladle::Server.new.port.
|
55
|
+
expect(Ladle::Server.new.port).to eq(3897)
|
56
56
|
end
|
57
57
|
|
58
58
|
it "can be overridden" do
|
59
|
-
Ladle::Server.new(:port => 4200).port.
|
59
|
+
expect(Ladle::Server.new(:port => 4200).port).to eq(4200)
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
63
|
describe ":domain" do
|
64
64
|
it "defaults to dc=example,dc=org" do
|
65
|
-
Ladle::Server.new.domain.
|
65
|
+
expect(Ladle::Server.new.domain).to eq("dc=example,dc=org")
|
66
66
|
end
|
67
67
|
|
68
68
|
it "can be overridden" do
|
69
|
-
Ladle::Server.new(:domain => "dc=northwestern,dc=edu").domain.
|
70
|
-
|
69
|
+
expect(Ladle::Server.new(:domain => "dc=northwestern,dc=edu").domain).
|
70
|
+
to eq("dc=northwestern,dc=edu")
|
71
71
|
end
|
72
72
|
|
73
73
|
it "rejects a domain that doesn't start with 'dc='" do
|
74
|
-
|
75
|
-
|
74
|
+
expect { Ladle::Server.new(:domain => "foo") }.
|
75
|
+
to raise_error("The domain component must start with 'dc='. 'foo' does not.")
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
79
|
describe ":ldif" do
|
80
80
|
it "defaults to lib/ladle/default.ldif" do
|
81
|
-
Ladle::Server.new.ldif.
|
81
|
+
expect(Ladle::Server.new.ldif).to match(%r{lib/ladle/default.ldif$})
|
82
82
|
end
|
83
83
|
|
84
84
|
it "can be overridden" do
|
85
85
|
ldif_file = "#{tmpdir}/foo.ldif"
|
86
86
|
FileUtils.touch ldif_file
|
87
|
-
Ladle::Server.new(:ldif => ldif_file).ldif.
|
87
|
+
expect(Ladle::Server.new(:ldif => ldif_file).ldif).to eq(ldif_file)
|
88
88
|
end
|
89
89
|
|
90
90
|
it "fails if the file can't be read" do
|
91
|
-
|
92
|
-
|
91
|
+
expect { Ladle::Server.new(:ldif => "foo/bar.ldif") }.
|
92
|
+
to raise_error("Cannot read specified LDIF file foo/bar.ldif.")
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
96
|
describe ":verbose" do
|
97
97
|
it "defaults to false" do
|
98
|
-
Ladle::Server.new.verbose
|
98
|
+
expect(Ladle::Server.new.verbose?).to be_falsey
|
99
99
|
end
|
100
100
|
|
101
101
|
it "can be overridden" do
|
102
|
-
Ladle::Server.new(:verbose => true).verbose
|
102
|
+
expect(Ladle::Server.new(:verbose => true).verbose?).to be_truthy
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
106
106
|
describe ":quiet" do
|
107
107
|
it "defaults to false" do
|
108
|
-
Ladle::Server.new.quiet
|
108
|
+
expect(Ladle::Server.new.quiet?).to be_falsey
|
109
109
|
end
|
110
110
|
|
111
111
|
it "can be overridden" do
|
112
|
-
Ladle::Server.new(:quiet => true).quiet
|
112
|
+
expect(Ladle::Server.new(:quiet => true).quiet?).to be_truthy
|
113
113
|
end
|
114
114
|
end
|
115
115
|
|
116
116
|
describe ":timeout" do
|
117
117
|
it "defaults to 60 seconds" do
|
118
|
-
Ladle::Server.new.timeout.
|
118
|
+
expect(Ladle::Server.new.timeout).to eq(60)
|
119
119
|
end
|
120
120
|
|
121
121
|
it "can be overridden" do
|
122
|
-
Ladle::Server.new(:timeout => 87).timeout.
|
122
|
+
expect(Ladle::Server.new(:timeout => 87).timeout).to eq(87)
|
123
123
|
end
|
124
124
|
end
|
125
125
|
|
@@ -134,29 +134,28 @@ describe Ladle, "::Server" do
|
|
134
134
|
|
135
135
|
it "defaults to TMPDIR if set" do
|
136
136
|
ENV["TMPDIR"] = tmpdir('foo')
|
137
|
-
Ladle::Server.new.tmpdir.
|
137
|
+
expect(Ladle::Server.new.tmpdir).to eq(tmpdir('foo'))
|
138
138
|
end
|
139
139
|
|
140
140
|
it "defaults to TEMPDIR if set" do
|
141
141
|
ENV["TEMPDIR"] = tmpdir('baz')
|
142
|
-
Ladle::Server.new.tmpdir.
|
142
|
+
expect(Ladle::Server.new.tmpdir).to eq(tmpdir('baz'))
|
143
143
|
end
|
144
144
|
|
145
145
|
it "prefers the explicitly provided value" do
|
146
146
|
ENV["TMPDIR"] = tmpdir('quux')
|
147
147
|
ENV["TEMPDIR"] = tmpdir('bar')
|
148
|
-
Ladle::Server.new(:tmpdir => tmpdir('zap')).tmpdir.
|
149
|
-
|
148
|
+
expect(Ladle::Server.new(:tmpdir => tmpdir('zap')).tmpdir).
|
149
|
+
to eq(tmpdir('zap'))
|
150
150
|
end
|
151
151
|
|
152
|
-
it "must
|
153
|
-
|
154
|
-
should raise_error(/Tmpdir "whatever" does not exist./)
|
152
|
+
it "must be specified somehow" do
|
153
|
+
expect(Ladle::Server.new.tmpdir).to eq(Dir.tmpdir)
|
155
154
|
end
|
156
155
|
|
157
|
-
it "must
|
158
|
-
|
159
|
-
|
156
|
+
it "must exist" do
|
157
|
+
expect { Ladle::Server.new(:tmpdir => 'whatever') }.
|
158
|
+
to raise_error(/Tmpdir "whatever" does not exist./)
|
160
159
|
end
|
161
160
|
end
|
162
161
|
|
@@ -170,59 +169,59 @@ describe Ladle, "::Server" do
|
|
170
169
|
end
|
171
170
|
|
172
171
|
it "relies on the path with no JAVA_HOME" do
|
173
|
-
Ladle::Server.new.java_bin.
|
172
|
+
expect(Ladle::Server.new.java_bin).to eq("java")
|
174
173
|
end
|
175
174
|
|
176
175
|
it "defaults to JAVA_HOME/bin/java if available" do
|
177
176
|
ENV["JAVA_HOME"] = tmpdir('myjdk')
|
178
|
-
Ladle::Server.new.java_bin.
|
177
|
+
expect(Ladle::Server.new.java_bin).to eq("#{tmpdir}/myjdk/bin/java")
|
179
178
|
end
|
180
179
|
|
181
180
|
it "can be overridden" do
|
182
|
-
Ladle::Server.new(:java_bin => File.join(tmpdir('openjdk'), "jre")).java_bin.
|
183
|
-
|
181
|
+
expect(Ladle::Server.new(:java_bin => File.join(tmpdir('openjdk'), "jre")).java_bin).
|
182
|
+
to eq("#{tmpdir}/openjdk/jre")
|
184
183
|
end
|
185
184
|
end
|
186
185
|
|
187
186
|
describe ":allow_anonymous" do
|
188
187
|
it "defaults to true" do
|
189
|
-
Ladle::Server.new.allow_anonymous
|
188
|
+
expect(Ladle::Server.new.allow_anonymous?).to be_truthy
|
190
189
|
end
|
191
190
|
|
192
191
|
it "can be overridden" do
|
193
|
-
Ladle::Server.new(:allow_anonymous => false).allow_anonymous
|
192
|
+
expect(Ladle::Server.new(:allow_anonymous => false).allow_anonymous?).to be_falsey
|
194
193
|
end
|
195
194
|
end
|
196
195
|
|
197
196
|
describe ":custom_schemas" do
|
198
197
|
it "defaults to an empty list" do
|
199
|
-
Ladle::Server.new.custom_schemas.
|
198
|
+
expect(Ladle::Server.new.custom_schemas).to eq([])
|
200
199
|
end
|
201
200
|
|
202
201
|
it "can be set from one file name" do
|
203
|
-
Ladle::Server.new(:custom_schemas => "net.example.HappySchema").
|
204
|
-
custom_schemas.
|
202
|
+
expect(Ladle::Server.new(:custom_schemas => "net.example.HappySchema").
|
203
|
+
custom_schemas).to eq(%w(net.example.HappySchema))
|
205
204
|
end
|
206
205
|
|
207
206
|
it "can be set from a list" do
|
208
|
-
Ladle::Server.new(:custom_schemas => ["net.example.HappySchema", "net.example.SadSchema"]).
|
209
|
-
custom_schemas.
|
207
|
+
expect(Ladle::Server.new(:custom_schemas => ["net.example.HappySchema", "net.example.SadSchema"]).
|
208
|
+
custom_schemas).to eq(%w(net.example.HappySchema net.example.SadSchema))
|
210
209
|
end
|
211
210
|
end
|
212
211
|
|
213
212
|
describe ":additional_classpath" do
|
214
213
|
it "defaults to an empty list" do
|
215
|
-
Ladle::Server.new.additional_classpath.
|
214
|
+
expect(Ladle::Server.new.additional_classpath).to eq([])
|
216
215
|
end
|
217
216
|
|
218
217
|
it "can be set from one entry" do
|
219
|
-
Ladle::Server.new(:additional_classpath => "foo").
|
220
|
-
additional_classpath.
|
218
|
+
expect(Ladle::Server.new(:additional_classpath => "foo").
|
219
|
+
additional_classpath).to eq(%w(foo))
|
221
220
|
end
|
222
221
|
|
223
222
|
it "can be set from a list" do
|
224
|
-
Ladle::Server.new(:additional_classpath => ["bar", "baz"]).
|
225
|
-
additional_classpath.
|
223
|
+
expect(Ladle::Server.new(:additional_classpath => ["bar", "baz"]).
|
224
|
+
additional_classpath).to eq(%w(bar baz))
|
226
225
|
end
|
227
226
|
end
|
228
227
|
end
|
@@ -234,12 +233,12 @@ describe Ladle, "::Server" do
|
|
234
233
|
end
|
235
234
|
|
236
235
|
it "returns the server object" do
|
237
|
-
@server.start.
|
236
|
+
expect(@server.start).to be(@server)
|
238
237
|
end
|
239
238
|
|
240
239
|
it "is safe to invoke twice (in the same thread)" do
|
241
240
|
@server.start
|
242
|
-
|
241
|
+
expect { @server.start }.not_to raise_error
|
243
242
|
end
|
244
243
|
|
245
244
|
it "can be stopped then started again" do
|
@@ -253,16 +252,16 @@ describe Ladle, "::Server" do
|
|
253
252
|
old_stderr, $stderr = $stderr, StringIO.new
|
254
253
|
|
255
254
|
@server = create_server(:more_args => ["--fail", "before_start"])
|
256
|
-
|
257
|
-
$stderr.string.
|
255
|
+
expect { @server.start }.to raise_error(/LDAP server failed to start/)
|
256
|
+
expect($stderr.string).to eq("ApacheDS process failed: FATAL: Expected failure for testing\n")
|
258
257
|
|
259
258
|
$stderr = old_stderr
|
260
259
|
end
|
261
260
|
|
262
261
|
it "times out after the specified interval" do
|
263
262
|
@server = create_server(:timeout => 3, :more_args => %w(--fail hang))
|
264
|
-
|
265
|
-
|
263
|
+
expect { @server.start }.
|
264
|
+
to raise_error(/LDAP server startup did not complete within 3 seconds/)
|
266
265
|
end
|
267
266
|
|
268
267
|
it "should use the specified port" do
|
@@ -273,14 +272,14 @@ describe Ladle, "::Server" do
|
|
273
272
|
it "uses the specified tmpdir" do
|
274
273
|
target = tmpdir('baz')
|
275
274
|
@server = create_server(:tmpdir => target).start
|
276
|
-
Dir["#{target}/ladle-server-*"].size.
|
275
|
+
expect(Dir["#{target}/ladle-server-*"].size).to eq(1)
|
277
276
|
end
|
278
277
|
|
279
278
|
it "cleans up the tmpdir afterward" do
|
280
279
|
target = tmpdir('quux')
|
281
280
|
@server = create_server(:tmpdir => target).start
|
282
281
|
@server.stop
|
283
|
-
Dir["#{target}/ladle-server-*"].size.
|
282
|
+
expect(Dir["#{target}/ladle-server-*"].size).to eq(0)
|
284
283
|
end
|
285
284
|
end
|
286
285
|
|
@@ -302,7 +301,7 @@ describe Ladle, "::Server" do
|
|
302
301
|
:base => base || 'dc=example,dc=org',
|
303
302
|
:filter => filter
|
304
303
|
).tap {
|
305
|
-
ldap.get_operation_result.code.
|
304
|
+
expect(ldap.get_operation_result.code).to eq(0) # success
|
306
305
|
}
|
307
306
|
}
|
308
307
|
end
|
@@ -310,26 +309,26 @@ describe Ladle, "::Server" do
|
|
310
309
|
describe "data" do
|
311
310
|
describe "the default set" do
|
312
311
|
it "has 26 people" do
|
313
|
-
ldap_search(Net::LDAP::Filter.pres('uid')).
|
312
|
+
expect(ldap_search(Net::LDAP::Filter.pres('uid')).size).to eq(26)
|
314
313
|
end
|
315
314
|
|
316
315
|
it "has 1 group" do
|
317
|
-
ldap_search(Net::LDAP::Filter.pres('ou')).
|
316
|
+
expect(ldap_search(Net::LDAP::Filter.pres('ou')).size).to eq(1)
|
318
317
|
end
|
319
318
|
|
320
319
|
it "has given names" do
|
321
|
-
ldap_search(Net::LDAP::Filter.pres('uid')).
|
322
|
-
select { |res| !res[:givenname] || res[:givenname].empty? }.
|
320
|
+
expect(ldap_search(Net::LDAP::Filter.pres('uid')).
|
321
|
+
select { |res| !res[:givenname] || res[:givenname].empty? }).to eq([])
|
323
322
|
end
|
324
323
|
|
325
324
|
it "has e-mail addresses" do
|
326
|
-
ldap_search(Net::LDAP::Filter.pres('uid')).
|
327
|
-
select { |res| !res[:mail] || res[:mail].empty? }.
|
325
|
+
expect(ldap_search(Net::LDAP::Filter.pres('uid')).
|
326
|
+
select { |res| !res[:mail] || res[:mail].empty? }).to eq([])
|
328
327
|
end
|
329
328
|
|
330
329
|
it "can be searched by value" do
|
331
|
-
ldap_search(Net::LDAP::Filter.eq(:givenname, 'Josephine')).
|
332
|
-
collect { |res| res[:uid].first }.
|
330
|
+
expect(ldap_search(Net::LDAP::Filter.eq(:givenname, 'Josephine')).
|
331
|
+
collect { |res| res[:uid].first }).to eq(%w(jj243))
|
333
332
|
end
|
334
333
|
end
|
335
334
|
|
@@ -342,13 +341,13 @@ describe Ladle, "::Server" do
|
|
342
341
|
end
|
343
342
|
|
344
343
|
it "has the groups provided by the other LDIF" do
|
345
|
-
ldap_search(Net::LDAP::Filter.pres('ou'), 'dc=example,dc=net').
|
346
|
-
collect { |result| result[:ou].first }.
|
344
|
+
expect(ldap_search(Net::LDAP::Filter.pres('ou'), 'dc=example,dc=net').
|
345
|
+
collect { |result| result[:ou].first }).to eq(["animals"])
|
347
346
|
end
|
348
347
|
|
349
348
|
it "has the individuals provided by the other LDIF" do
|
350
|
-
ldap_search(Net::LDAP::Filter.pres('uid'), 'dc=example,dc=net').
|
351
|
-
collect { |result| result[:givenname].first }.sort.
|
349
|
+
expect(ldap_search(Net::LDAP::Filter.pres('uid'), 'dc=example,dc=net').
|
350
|
+
collect { |result| result[:givenname].first }.sort).to eq(%w(Ada Bob))
|
352
351
|
end
|
353
352
|
end
|
354
353
|
|
@@ -362,8 +361,8 @@ describe Ladle, "::Server" do
|
|
362
361
|
end
|
363
362
|
|
364
363
|
it "has the data defined in the schema" do
|
365
|
-
ldap_search(Net::LDAP::Filter.pres('species'), 'dc=example,dc=net').
|
366
|
-
collect { |r| r[:species].first }.sort.
|
364
|
+
expect(ldap_search(Net::LDAP::Filter.pres('species'), 'dc=example,dc=net').
|
365
|
+
collect { |r| r[:species].first }.sort).to eq(["Meles meles", "Orycteropus afer"])
|
367
366
|
end
|
368
367
|
end
|
369
368
|
end
|
@@ -372,14 +371,14 @@ describe Ladle, "::Server" do
|
|
372
371
|
it "works with a valid password" do
|
373
372
|
with_ldap do |ldap|
|
374
373
|
ldap.authenticate("uid=hh153,ou=people,dc=example,dc=org", "hatfield".reverse)
|
375
|
-
ldap.bind.
|
374
|
+
expect(ldap.bind).to be_truthy
|
376
375
|
end
|
377
376
|
end
|
378
377
|
|
379
378
|
it "does not work with an invalid password" do
|
380
379
|
with_ldap do |ldap|
|
381
380
|
ldap.authenticate("uid=hh153,ou=people,dc=example,dc=org", "mccoy".reverse)
|
382
|
-
ldap.bind.
|
381
|
+
expect(ldap.bind).to be_falsey
|
383
382
|
end
|
384
383
|
end
|
385
384
|
|
@@ -393,29 +392,29 @@ describe Ladle, "::Server" do
|
|
393
392
|
# anonymous bind is successful even with anonymous access
|
394
393
|
# off, but searches fail appropriately
|
395
394
|
ldap.search(:filter => Net::LDAP::Filter.pres('uid'), :base => 'dc=example,dc=org')
|
396
|
-
ldap.get_operation_result.code.
|
395
|
+
expect(ldap.get_operation_result.code).to eq(49) # invalid credentials
|
397
396
|
end
|
398
397
|
end
|
399
398
|
|
400
399
|
it "will bind with a username and valid password" do
|
401
400
|
with_ldap do |ldap|
|
402
401
|
ldap.authenticate("uid=kk891,ou=people,dc=example,dc=org", "enilk")
|
403
|
-
ldap.bind.
|
402
|
+
expect(ldap.bind).to be_truthy
|
404
403
|
end
|
405
404
|
end
|
406
405
|
|
407
406
|
it "will not bind with a username and invalid password" do
|
408
407
|
with_ldap do |ldap|
|
409
408
|
ldap.authenticate("uid=kk891,ou=people,dc=example,dc=org", "kevin")
|
410
|
-
ldap.bind.
|
409
|
+
expect(ldap.bind).to be_falsey
|
411
410
|
end
|
412
411
|
end
|
413
412
|
|
414
413
|
it "permits searches for authenticated users" do
|
415
414
|
with_ldap do |ldap|
|
416
415
|
ldap.authenticate("uid=kk891,ou=people,dc=example,dc=org", "enilk")
|
417
|
-
ldap.search(:filter => Net::LDAP::Filter.pres('uid'), :base => 'dc=example,dc=org').
|
418
|
-
|
416
|
+
expect(ldap.search(:filter => Net::LDAP::Filter.pres('uid'), :base => 'dc=example,dc=org').size).
|
417
|
+
to eq(26)
|
419
418
|
end
|
420
419
|
end
|
421
420
|
end
|
data/spec/ladle/version_spec.rb
CHANGED
@@ -2,10 +2,10 @@ require File.expand_path("../../spec_helper.rb", __FILE__)
|
|
2
2
|
|
3
3
|
describe Ladle, "::VERSION" do
|
4
4
|
it "exists" do
|
5
|
-
|
5
|
+
expect { Ladle::VERSION }.not_to raise_error
|
6
6
|
end
|
7
7
|
|
8
8
|
it "has 3 or 4 dot separated parts" do
|
9
|
-
Ladle::VERSION.split('.').size.
|
9
|
+
expect(Ladle::VERSION.split('.').size).to be_between(3, 4)
|
10
10
|
end
|
11
11
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ladle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rhett Sutphin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: open4
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '3.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '3.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: yard
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -175,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
175
|
version: '0'
|
176
176
|
requirements: []
|
177
177
|
rubyforge_project:
|
178
|
-
rubygems_version: 2.
|
178
|
+
rubygems_version: 2.4.3
|
179
179
|
signing_key:
|
180
180
|
specification_version: 4
|
181
181
|
summary: Dishes out steaming helpings of LDAP for fluid testing
|