treequel 1.0.4 → 1.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.
- data/ChangeLog +130 -1
- data/Rakefile +8 -3
- data/Rakefile.local +2 -0
- data/bin/treeirb +6 -2
- data/bin/treequel +5 -4
- data/lib/treequel/branch.rb +133 -72
- data/lib/treequel/branchcollection.rb +16 -5
- data/lib/treequel/branchset.rb +37 -6
- data/lib/treequel/constants.rb +12 -0
- data/lib/treequel/directory.rb +96 -41
- data/lib/treequel/filter.rb +42 -1
- data/lib/treequel/model/objectclass.rb +111 -0
- data/lib/treequel/model.rb +363 -0
- data/lib/treequel/monkeypatches.rb +65 -0
- data/lib/treequel/schema/attributetype.rb +108 -18
- data/lib/treequel/schema/ldapsyntax.rb +15 -0
- data/lib/treequel/schema/matchingrule.rb +24 -0
- data/lib/treequel/schema/matchingruleuse.rb +24 -0
- data/lib/treequel/schema/objectclass.rb +70 -5
- data/lib/treequel/schema/table.rb +5 -15
- data/lib/treequel/schema.rb +64 -1
- data/lib/treequel.rb +5 -5
- data/rake/documentation.rb +27 -0
- data/rake/hg.rb +14 -2
- data/rake/manual.rb +1 -1
- data/spec/lib/constants.rb +9 -7
- data/spec/lib/control_behavior.rb +1 -0
- data/spec/lib/matchers.rb +1 -0
- data/spec/treequel/branch_spec.rb +229 -20
- data/spec/treequel/branchcollection_spec.rb +73 -39
- data/spec/treequel/branchset_spec.rb +59 -8
- data/spec/treequel/control_spec.rb +1 -0
- data/spec/treequel/controls/contentsync_spec.rb +1 -0
- data/spec/treequel/controls/pagedresults_spec.rb +1 -0
- data/spec/treequel/controls/sortedresults_spec.rb +1 -0
- data/spec/treequel/directory_spec.rb +46 -10
- data/spec/treequel/filter_spec.rb +28 -5
- data/spec/treequel/mixins_spec.rb +7 -14
- data/spec/treequel/model/objectclass_spec.rb +330 -0
- data/spec/treequel/model_spec.rb +433 -0
- data/spec/treequel/monkeypatches_spec.rb +118 -0
- data/spec/treequel/schema/attributetype_spec.rb +116 -0
- data/spec/treequel/schema/ldapsyntax_spec.rb +8 -0
- data/spec/treequel/schema/matchingrule_spec.rb +6 -1
- data/spec/treequel/schema/matchingruleuse_spec.rb +5 -0
- data/spec/treequel/schema/objectclass_spec.rb +41 -3
- data/spec/treequel/schema/table_spec.rb +31 -18
- data/spec/treequel/schema_spec.rb +13 -16
- data/spec/treequel_spec.rb +22 -0
- data.tar.gz.sig +1 -0
- metadata +40 -7
- metadata.gz.sig +0 -0
- data/spec/treequel/utils_spec.rb +0 -49
@@ -6,6 +6,7 @@ BEGIN {
|
|
6
6
|
|
7
7
|
libdir = basedir + "lib"
|
8
8
|
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
9
10
|
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
10
11
|
}
|
11
12
|
|
@@ -58,6 +59,9 @@ describe Treequel::Schema::LDAPSyntax do
|
|
58
59
|
@syntax.desc.should == 'Boolean'
|
59
60
|
end
|
60
61
|
|
62
|
+
it "can remake its own schema description" do
|
63
|
+
@syntax.to_s.should == BOOLEAN_SYNTAX
|
64
|
+
end
|
61
65
|
end
|
62
66
|
|
63
67
|
|
@@ -75,6 +79,10 @@ describe Treequel::Schema::LDAPSyntax do
|
|
75
79
|
it "knows that it doesn't have a DESC attribute" do
|
76
80
|
@syntax.desc.should be_nil()
|
77
81
|
end
|
82
|
+
|
83
|
+
it "can remake its own schema description" do
|
84
|
+
@syntax.to_s.should == NODESC_SYNTAX
|
85
|
+
end
|
78
86
|
end
|
79
87
|
|
80
88
|
end
|
@@ -6,6 +6,7 @@ BEGIN {
|
|
6
6
|
|
7
7
|
libdir = basedir + "lib"
|
8
8
|
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
9
10
|
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
10
11
|
}
|
11
12
|
|
@@ -46,7 +47,8 @@ describe Treequel::Schema::MatchingRule do
|
|
46
47
|
|
47
48
|
describe "parsed from the 'octetStringMatch' matchingRule" do
|
48
49
|
|
49
|
-
OCTETSTRINGMATCH_RULE = %{( 2.5.13.17 NAME 'octetStringMatch'
|
50
|
+
OCTETSTRINGMATCH_RULE = %{( 2.5.13.17 NAME 'octetStringMatch' } +
|
51
|
+
%{SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )}
|
50
52
|
|
51
53
|
before( :each ) do
|
52
54
|
@rule = Treequel::Schema::MatchingRule.parse( @schema, OCTETSTRINGMATCH_RULE )
|
@@ -74,6 +76,9 @@ describe Treequel::Schema::MatchingRule do
|
|
74
76
|
@rule.should_not be_obsolete()
|
75
77
|
end
|
76
78
|
|
79
|
+
it "can remake its own schema description" do
|
80
|
+
@rule.to_s.should == OCTETSTRINGMATCH_RULE
|
81
|
+
end
|
77
82
|
end
|
78
83
|
|
79
84
|
describe "parsed from an matchingRule that has a DESC attribute" do
|
@@ -6,6 +6,7 @@ BEGIN {
|
|
6
6
|
|
7
7
|
libdir = basedir + "lib"
|
8
8
|
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
9
10
|
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
10
11
|
}
|
11
12
|
|
@@ -73,6 +74,10 @@ describe Treequel::Schema::MatchingRuleUse do
|
|
73
74
|
and_return({ :uniqueMember => :a_attrtype_object })
|
74
75
|
@ruleuse.attribute_types.should == [ :a_attrtype_object ]
|
75
76
|
end
|
77
|
+
|
78
|
+
it "can remake its own schema description" do
|
79
|
+
@ruleuse.to_s.should == UNIQUE_MEMBER_MATCH_DESC
|
80
|
+
end
|
76
81
|
end
|
77
82
|
|
78
83
|
|
@@ -6,6 +6,7 @@ BEGIN {
|
|
6
6
|
|
7
7
|
libdir = basedir + "lib"
|
8
8
|
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
9
10
|
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
10
11
|
}
|
11
12
|
|
@@ -53,7 +54,7 @@ describe Treequel::Schema::ObjectClass do
|
|
53
54
|
|
54
55
|
|
55
56
|
before( :all ) do
|
56
|
-
setup_logging( :
|
57
|
+
setup_logging( :fatal )
|
57
58
|
@datadir = Pathname( __FILE__ ).dirname.parent.parent + 'data'
|
58
59
|
end
|
59
60
|
|
@@ -125,6 +126,9 @@ describe Treequel::Schema::ObjectClass do
|
|
125
126
|
@oc.sup.should be_nil()
|
126
127
|
end
|
127
128
|
|
129
|
+
it "can remake its own schema description" do
|
130
|
+
@oc.to_s.should == TOP_OBJECTCLASS
|
131
|
+
end
|
128
132
|
end
|
129
133
|
|
130
134
|
|
@@ -180,6 +184,13 @@ describe Treequel::Schema::ObjectClass do
|
|
180
184
|
:physicalDeliveryOfficeName, :ou, :st, :l )
|
181
185
|
end
|
182
186
|
|
187
|
+
it "can remake its own schema description" do
|
188
|
+
@oc.to_s.should == ORGPERSON_OBJECTCLASS.squeeze(' ')
|
189
|
+
end
|
190
|
+
|
191
|
+
it "can fetch all of its ancestors" do
|
192
|
+
@oc.ancestors.should == @schema.object_classes.values_at( :orgPerson, :person, :top )
|
193
|
+
end
|
183
194
|
end
|
184
195
|
|
185
196
|
|
@@ -195,11 +206,15 @@ describe Treequel::Schema::ObjectClass do
|
|
195
206
|
@oc.should be_an_instance_of( Treequel::Schema::StructuralObjectClass )
|
196
207
|
end
|
197
208
|
|
209
|
+
it "can remake its own schema description" do
|
210
|
+
# STRUCTURAL is implied...
|
211
|
+
@oc.to_s.sub( / STRUCTURAL/, '' ).should == KINDLESS_OBJECTCLASS
|
212
|
+
end
|
198
213
|
end
|
199
214
|
|
200
215
|
describe "parsed from an objectClass that has a list as the value of its NAME attribute" do
|
201
216
|
|
202
|
-
MULTINAME_OBJECTCLASS = %{( 1.1.1.1 NAME ('firstname' 'secondname') )}
|
217
|
+
MULTINAME_OBJECTCLASS = %{( 1.1.1.1 NAME ( 'firstname' 'secondname' ) )}
|
203
218
|
|
204
219
|
before( :each ) do
|
205
220
|
@oc = Treequel::Schema::ObjectClass.parse( @schema, MULTINAME_OBJECTCLASS )
|
@@ -214,6 +229,10 @@ describe Treequel::Schema::ObjectClass do
|
|
214
229
|
@oc.name.should == :firstname
|
215
230
|
end
|
216
231
|
|
232
|
+
it "can remake its own schema description" do
|
233
|
+
# STRUCTURAL is implied...
|
234
|
+
@oc.to_s.sub( / STRUCTURAL/, '' ).should == MULTINAME_OBJECTCLASS
|
235
|
+
end
|
217
236
|
end
|
218
237
|
|
219
238
|
describe "parsed from an objectClass that has escaped characters in its DESC attribute" do
|
@@ -225,10 +244,14 @@ describe Treequel::Schema::ObjectClass do
|
|
225
244
|
@oc = Treequel::Schema::ObjectClass.parse( @schema, ESCAPED_DESC_OBJECTCLASS )
|
226
245
|
end
|
227
246
|
|
228
|
-
it "
|
247
|
+
it "unescapes the escaped characters" do
|
229
248
|
@oc.desc.should == %{This spec's example, which includes a \\ character.}
|
230
249
|
end
|
231
250
|
|
251
|
+
it "can remake its own schema description" do
|
252
|
+
# STRUCTURAL is implied...
|
253
|
+
@oc.to_s.sub( / STRUCTURAL/, '' ).should == ESCAPED_DESC_OBJECTCLASS
|
254
|
+
end
|
232
255
|
end
|
233
256
|
|
234
257
|
describe "parsed from an objectClass that has the OBSOLETE attribute" do
|
@@ -243,6 +266,10 @@ describe Treequel::Schema::ObjectClass do
|
|
243
266
|
@oc.should be_obsolete()
|
244
267
|
end
|
245
268
|
|
269
|
+
it "can remake its own schema description" do
|
270
|
+
# STRUCTURAL is implied...
|
271
|
+
@oc.to_s.sub( / STRUCTURAL/, '' ).should == OBSOLETE_OBJECTCLASS
|
272
|
+
end
|
246
273
|
end
|
247
274
|
|
248
275
|
describe "parsed from an objectClass that has organizationalPerson as its SUP" do
|
@@ -250,6 +277,8 @@ describe Treequel::Schema::ObjectClass do
|
|
250
277
|
SUB_OBJECTCLASS = %{( 1.1.1.1 SUP organizationalPerson )}
|
251
278
|
|
252
279
|
before( :each ) do
|
280
|
+
@top = Treequel::Schema::ObjectClass.parse( @schema, TOP_OBJECTCLASS )
|
281
|
+
@op = Treequel::Schema::ObjectClass.parse( @schema, ORGPERSON_OBJECTCLASS )
|
253
282
|
@oc = Treequel::Schema::ObjectClass.parse( @schema, SUB_OBJECTCLASS )
|
254
283
|
end
|
255
284
|
|
@@ -259,6 +288,11 @@ describe Treequel::Schema::ObjectClass do
|
|
259
288
|
@oc.sup.should == :organizationalPerson_objectclass
|
260
289
|
end
|
261
290
|
|
291
|
+
it "can remake its own schema description" do
|
292
|
+
# STRUCTURAL is implied...
|
293
|
+
@oc.to_s.sub( / STRUCTURAL/, '' ).should == SUB_OBJECTCLASS
|
294
|
+
end
|
295
|
+
|
262
296
|
end
|
263
297
|
|
264
298
|
describe "parsed from an objectClass that has no explicit SUP" do
|
@@ -275,6 +309,10 @@ describe Treequel::Schema::ObjectClass do
|
|
275
309
|
@oc.sup.should == :top_objectclass
|
276
310
|
end
|
277
311
|
|
312
|
+
it "can remake its own schema description" do
|
313
|
+
# STRUCTURAL is implied...
|
314
|
+
@oc.to_s.sub( / STRUCTURAL/, '' ).should == ORPHAN_OBJECTCLASS
|
315
|
+
end
|
278
316
|
end
|
279
317
|
|
280
318
|
end
|
@@ -6,25 +6,18 @@ BEGIN {
|
|
6
6
|
|
7
7
|
libdir = basedir + "lib"
|
8
8
|
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
9
10
|
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
10
11
|
}
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
require 'treequel/schema'
|
21
|
-
rescue LoadError
|
22
|
-
unless Object.const_defined?( :Gem )
|
23
|
-
require 'rubygems'
|
24
|
-
retry
|
25
|
-
end
|
26
|
-
raise
|
27
|
-
end
|
13
|
+
require 'spec'
|
14
|
+
require 'spec/lib/constants'
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'yaml'
|
18
|
+
require 'ldap'
|
19
|
+
require 'ldap/schema'
|
20
|
+
require 'treequel/schema'
|
28
21
|
|
29
22
|
|
30
23
|
include Treequel::TestConstants
|
@@ -119,8 +112,8 @@ describe Treequel::Schema::Table do
|
|
119
112
|
|
120
113
|
|
121
114
|
it "provides a case-insensitive version of #values_at" do
|
122
|
-
@table[:cn]
|
123
|
-
@table[:d]
|
115
|
+
@table[:cn] = 'contra_rules'
|
116
|
+
@table[:d] = 'ghosty'
|
124
117
|
@table[:porntipsGuzzardo] = 'cha-ching'
|
125
118
|
|
126
119
|
results = @table.values_at( :CN, 'PornTipsGuzzARDO' )
|
@@ -129,6 +122,26 @@ describe Treequel::Schema::Table do
|
|
129
122
|
results.should_not include( 'ghosty' )
|
130
123
|
end
|
131
124
|
|
125
|
+
it "can iterate over its members" do
|
126
|
+
@table[:cn] = 'contra_rules'
|
127
|
+
@table[:d] = 'ghosty'
|
128
|
+
@table[:porntipsGuzzardo] = 'cha-ching'
|
129
|
+
|
130
|
+
collection = []
|
131
|
+
@table.each {|k,v| collection << [k,v] }
|
132
|
+
collection.transpose[0].should include( :cn, :d, :porntipsguzzardo )
|
133
|
+
collection.transpose[1].should include( 'contra_rules', 'ghosty', 'cha-ching' )
|
134
|
+
end
|
135
|
+
|
136
|
+
it "is Enumerable" do
|
137
|
+
@table[:cn] = 'contra_rules'
|
138
|
+
@table[:d] = 'ghosty'
|
139
|
+
@table[:porntipsGuzzardo] = 'cha-ching'
|
140
|
+
|
141
|
+
collection = []
|
142
|
+
@table.any? {|k,v| v.index('o') }.should == true
|
143
|
+
end
|
144
|
+
|
132
145
|
end
|
133
146
|
|
134
147
|
|
@@ -6,25 +6,18 @@ BEGIN {
|
|
6
6
|
|
7
7
|
libdir = basedir + "lib"
|
8
8
|
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
9
10
|
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
10
11
|
}
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
require 'treequel/schema'
|
21
|
-
rescue LoadError
|
22
|
-
unless Object.const_defined?( :Gem )
|
23
|
-
require 'rubygems'
|
24
|
-
retry
|
25
|
-
end
|
26
|
-
raise
|
27
|
-
end
|
13
|
+
require 'spec'
|
14
|
+
require 'spec/lib/constants'
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'yaml'
|
18
|
+
require 'ldap'
|
19
|
+
require 'ldap/schema'
|
20
|
+
require 'treequel/schema'
|
28
21
|
|
29
22
|
|
30
23
|
include Treequel::TestConstants
|
@@ -62,6 +55,8 @@ describe Treequel::Schema do
|
|
62
55
|
schema.matching_rules.should have( 72 ).members
|
63
56
|
schema.matching_rule_uses.should have( 54 ).members
|
64
57
|
schema.ldap_syntaxes.should have( 31 ).members
|
58
|
+
|
59
|
+
schema.operational_attribute_types.should have( 31 ).members
|
65
60
|
end
|
66
61
|
|
67
62
|
|
@@ -82,6 +77,8 @@ describe Treequel::Schema do
|
|
82
77
|
schema.matching_rules.should have( 72 ).members
|
83
78
|
schema.matching_rule_uses.should have( 54 ).members
|
84
79
|
schema.ldap_syntaxes.should have( 31 ).members
|
80
|
+
|
81
|
+
schema.operational_attribute_types.should have( 31 ).members
|
85
82
|
end
|
86
83
|
|
87
84
|
|
data/spec/treequel_spec.rb
CHANGED
@@ -6,6 +6,7 @@ BEGIN {
|
|
6
6
|
|
7
7
|
libdir = basedir + "lib"
|
8
8
|
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
9
10
|
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
10
11
|
}
|
11
12
|
|
@@ -92,6 +93,11 @@ describe Treequel do
|
|
92
93
|
{ :base_dn => 'dc=example,dc=com', :port => 389 }
|
93
94
|
end
|
94
95
|
|
96
|
+
it "uses the LDAPS port for ldaps:// URIs" do
|
97
|
+
Treequel.make_options_from_uri( 'ldaps:///dc=example,dc=com' ).should ==
|
98
|
+
{ :base_dn => 'dc=example,dc=com', :connect_type => :ssl, :port => 636 }
|
99
|
+
end
|
100
|
+
|
95
101
|
# [?<attrs>[?<scope>[?<filter>[?<extensions>]]]]
|
96
102
|
it "can build an options hash from an LDAP URL with extra stuff" do
|
97
103
|
uri = 'ldap:///dc=example,dc=com?uid=jrandom,ou=People?l?one?!bindname=cn=auth'
|
@@ -120,6 +126,12 @@ describe Treequel do
|
|
120
126
|
Treequel.directory( uri, :bind_dn => user_dn, :pass => pass, :connect_type => :plain )
|
121
127
|
end
|
122
128
|
|
129
|
+
it "raises an exception when ::directory is called with something other than a Hash, " +
|
130
|
+
"String, or URI" do
|
131
|
+
expect {
|
132
|
+
Treequel.directory( 2 )
|
133
|
+
}.to raise_exception( ArgumentError, /unknown directory option/i )
|
134
|
+
end
|
123
135
|
|
124
136
|
it "provides a convenience method for creating directory objects from the system LDAP config" do
|
125
137
|
Treequel.should_receive( :find_configfile ).and_return( :a_configfile_path )
|
@@ -344,6 +356,16 @@ describe Treequel do
|
|
344
356
|
{ :port => 636, :connect_type => :ssl }
|
345
357
|
end
|
346
358
|
|
359
|
+
it "ignores nss-style 'ssl' option if it is set to something other than " +
|
360
|
+
"'on', 'off', or 'start_tls'" do
|
361
|
+
IO.should_receive( :foreach ).with( :a_configfile ).
|
362
|
+
and_yield( "\n# Use alien-invasion protocol\nssl aliens\n" )
|
363
|
+
|
364
|
+
expect {
|
365
|
+
Treequel.read_opts_from_config( :a_configfile )
|
366
|
+
}.to_not raise_exception()
|
367
|
+
end
|
368
|
+
|
347
369
|
#
|
348
370
|
# Environment
|
349
371
|
#
|
data.tar.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
�c ��\EQ�}L�m��%L���4HL�jѱ���E��.C�c�fσ�a���Napv�2�Ku�4A�y�: ��j�;RHC�X��?���M���r�$7?�3�-���G�P����@�]�6KcP�%u�7�yND��X8���y� !�l��]=I�����������ڕ����Bo����9>A���/�O]������e��o��O���6��v7H?f6E�O#Oe�PN��14������=f��0���w/�
|
metadata
CHANGED
@@ -1,29 +1,52 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: treequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 19
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 1
|
8
|
+
- 1
|
7
9
|
- 0
|
8
|
-
|
9
|
-
version: 1.0.4
|
10
|
+
version: 1.1.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Michael Granger, Mahlon E. Smith
|
13
14
|
autorequire:
|
14
15
|
bindir: bin
|
15
|
-
cert_chain:
|
16
|
+
cert_chain:
|
17
|
+
- |
|
18
|
+
-----BEGIN CERTIFICATE-----
|
19
|
+
MIIDLDCCAhSgAwIBAgIBADANBgkqhkiG9w0BAQUFADA8MQwwCgYDVQQDDANnZWQx
|
20
|
+
FzAVBgoJkiaJk/IsZAEZFgdfYWVyaWVfMRMwEQYKCZImiZPyLGQBGRYDb3JnMB4X
|
21
|
+
DTEwMDkxNjE0NDg1MVoXDTExMDkxNjE0NDg1MVowPDEMMAoGA1UEAwwDZ2VkMRcw
|
22
|
+
FQYKCZImiZPyLGQBGRYHX2FlcmllXzETMBEGCgmSJomT8ixkARkWA29yZzCCASIw
|
23
|
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALy//BFxC1f/cPSnwtJBWoFiFrir
|
24
|
+
h7RicI+joq/ocVXQqI4TDWPyF/8tqkvt+rD99X9qs2YeR8CU/YiIpLWrQOYST70J
|
25
|
+
vDn7Uvhb2muFVqq6+vobeTkILBEO6pionWDG8jSbo3qKm1RjKJDwg9p4wNKhPuu8
|
26
|
+
KGue/BFb67KflqyApPmPeb3Vdd9clspzqeFqp7cUBMEpFS6LWxy4Gk+qvFFJBJLB
|
27
|
+
BUHE/LZVJMVzfpC5Uq+QmY7B+FH/QqNndn3tOHgsPadLTNimuB1sCuL1a4z3Pepd
|
28
|
+
TeLBEFmEao5Dk3K/Q8o8vlbIB/jBDTUx6Djbgxw77909x6gI9doU4LD5XMcCAwEA
|
29
|
+
AaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJeoGkOr9l4B
|
30
|
+
+saMkW/ZXT4UeSvVMA0GCSqGSIb3DQEBBQUAA4IBAQBG2KObvYI2eHyyBUJSJ3jN
|
31
|
+
vEnU3d60znAXbrSd2qb3r1lY1EPDD3bcy0MggCfGdg3Xu54z21oqyIdk8uGtWBPL
|
32
|
+
HIa9EgfFGSUEgvcIvaYqiN4jTUtidfEFw+Ltjs8AP9gWgSIYS6Gr38V0WGFFNzIH
|
33
|
+
aOD2wmu9oo/RffW4hS/8GuvfMzcw7CQ355wFR4KB/nyze+EsZ1Y5DerCAagMVuDQ
|
34
|
+
U0BLmWDFzPGGWlPeQCrYHCr+AcJz+NRnaHCKLZdSKj/RHuTOt+gblRex8FAh8NeA
|
35
|
+
cmlhXe46pZNJgWKbxZah85jIjx95hR8vOI+NAM5iH9kOqK13DrxacTKPhqj5PjwF
|
36
|
+
-----END CERTIFICATE-----
|
16
37
|
|
17
|
-
date: 2010-
|
38
|
+
date: 2010-09-20 00:00:00 -07:00
|
18
39
|
default_executable:
|
19
40
|
dependencies:
|
20
41
|
- !ruby/object:Gem::Dependency
|
21
42
|
name: ruby-ldap
|
22
43
|
prerelease: false
|
23
44
|
requirement: &id001 !ruby/object:Gem::Requirement
|
45
|
+
none: false
|
24
46
|
requirements:
|
25
47
|
- - ">="
|
26
48
|
- !ruby/object:Gem::Version
|
49
|
+
hash: 41
|
27
50
|
segments:
|
28
51
|
- 0
|
29
52
|
- 9
|
@@ -62,6 +85,9 @@ files:
|
|
62
85
|
- spec/treequel/directory_spec.rb
|
63
86
|
- spec/treequel/filter_spec.rb
|
64
87
|
- spec/treequel/mixins_spec.rb
|
88
|
+
- spec/treequel/model/objectclass_spec.rb
|
89
|
+
- spec/treequel/model_spec.rb
|
90
|
+
- spec/treequel/monkeypatches_spec.rb
|
65
91
|
- spec/treequel/schema/attributetype_spec.rb
|
66
92
|
- spec/treequel/schema/ldapsyntax_spec.rb
|
67
93
|
- spec/treequel/schema/matchingrule_spec.rb
|
@@ -69,7 +95,6 @@ files:
|
|
69
95
|
- spec/treequel/schema/objectclass_spec.rb
|
70
96
|
- spec/treequel/schema/table_spec.rb
|
71
97
|
- spec/treequel/schema_spec.rb
|
72
|
-
- spec/treequel/utils_spec.rb
|
73
98
|
- spec/treequel_spec.rb
|
74
99
|
- spec/lib/constants.rb
|
75
100
|
- spec/lib/control_behavior.rb
|
@@ -89,6 +114,8 @@ files:
|
|
89
114
|
- lib/treequel/exceptions.rb
|
90
115
|
- lib/treequel/filter.rb
|
91
116
|
- lib/treequel/mixins.rb
|
117
|
+
- lib/treequel/model/objectclass.rb
|
118
|
+
- lib/treequel/model.rb
|
92
119
|
- lib/treequel/monkeypatches.rb
|
93
120
|
- lib/treequel/schema/attributetype.rb
|
94
121
|
- lib/treequel/schema/ldapsyntax.rb
|
@@ -137,23 +164,27 @@ rdoc_options:
|
|
137
164
|
require_paths:
|
138
165
|
- lib
|
139
166
|
required_ruby_version: !ruby/object:Gem::Requirement
|
167
|
+
none: false
|
140
168
|
requirements:
|
141
169
|
- - ">="
|
142
170
|
- !ruby/object:Gem::Version
|
171
|
+
hash: 3
|
143
172
|
segments:
|
144
173
|
- 0
|
145
174
|
version: "0"
|
146
175
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
|
+
none: false
|
147
177
|
requirements:
|
148
178
|
- - ">="
|
149
179
|
- !ruby/object:Gem::Version
|
180
|
+
hash: 3
|
150
181
|
segments:
|
151
182
|
- 0
|
152
183
|
version: "0"
|
153
184
|
requirements:
|
154
185
|
- ldap >=0
|
155
186
|
rubyforge_project:
|
156
|
-
rubygems_version: 1.3.
|
187
|
+
rubygems_version: 1.3.7
|
157
188
|
signing_key:
|
158
189
|
specification_version: 3
|
159
190
|
summary: An honest LDAP library
|
@@ -168,6 +199,9 @@ test_files:
|
|
168
199
|
- spec/treequel/directory_spec.rb
|
169
200
|
- spec/treequel/filter_spec.rb
|
170
201
|
- spec/treequel/mixins_spec.rb
|
202
|
+
- spec/treequel/model/objectclass_spec.rb
|
203
|
+
- spec/treequel/model_spec.rb
|
204
|
+
- spec/treequel/monkeypatches_spec.rb
|
171
205
|
- spec/treequel/schema/attributetype_spec.rb
|
172
206
|
- spec/treequel/schema/ldapsyntax_spec.rb
|
173
207
|
- spec/treequel/schema/matchingrule_spec.rb
|
@@ -175,7 +209,6 @@ test_files:
|
|
175
209
|
- spec/treequel/schema/objectclass_spec.rb
|
176
210
|
- spec/treequel/schema/table_spec.rb
|
177
211
|
- spec/treequel/schema_spec.rb
|
178
|
-
- spec/treequel/utils_spec.rb
|
179
212
|
- spec/treequel_spec.rb
|
180
213
|
- spec/lib/constants.rb
|
181
214
|
- spec/lib/control_behavior.rb
|
metadata.gz.sig
ADDED
Binary file
|
data/spec/treequel/utils_spec.rb
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
BEGIN {
|
4
|
-
require 'pathname'
|
5
|
-
basedir = Pathname.new( __FILE__ ).dirname.parent.parent
|
6
|
-
|
7
|
-
libdir = basedir + "lib"
|
8
|
-
|
9
|
-
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
10
|
-
}
|
11
|
-
|
12
|
-
begin
|
13
|
-
require 'spec'
|
14
|
-
require 'spec/lib/constants'
|
15
|
-
require 'spec/lib/helpers'
|
16
|
-
|
17
|
-
require 'treequel'
|
18
|
-
require 'treequel/utils'
|
19
|
-
rescue LoadError
|
20
|
-
unless Object.const_defined?( :Gem )
|
21
|
-
require 'rubygems'
|
22
|
-
retry
|
23
|
-
end
|
24
|
-
raise
|
25
|
-
end
|
26
|
-
|
27
|
-
|
28
|
-
include Treequel::TestConstants
|
29
|
-
# include Treequel::Constants
|
30
|
-
|
31
|
-
#####################################################################
|
32
|
-
### C O N T E X T S
|
33
|
-
#####################################################################
|
34
|
-
|
35
|
-
describe Treequel, "utilities" do
|
36
|
-
include Treequel::SpecHelpers
|
37
|
-
|
38
|
-
before( :all ) do
|
39
|
-
setup_logging( :fatal )
|
40
|
-
end
|
41
|
-
|
42
|
-
after( :all ) do
|
43
|
-
reset_logging()
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
|
48
|
-
|
49
|
-
# vim: set nosta noet ts=4 sw=4:
|