treequel 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -167,8 +167,7 @@ module Treequel::TestConstants # :nodoc:all
167
167
  ],
168
168
  }
169
169
 
170
- TEST_OPERATIONAL_PEOPLE_ENTRY = {
171
- TEST_PEOPLE_DN_ATTR => [TEST_PEOPLE_DN_VALUE],
170
+ TEST_OPERATIONAL_PEOPLE_ENTRY = TEST_PEOPLE_ENTRY.merge(
172
171
  'structuralObjectClass' => ['organizationalUnit'],
173
172
  'entryUUID' => ['5035e674-bae3-102b-992e-e9e937d524d6'],
174
173
  'creatorsName' => ['cn=admin,dc=laika,dc=com'],
@@ -178,11 +177,21 @@ module Treequel::TestConstants # :nodoc:all
178
177
  'modifyTimestamp' => ['20070629232213Z'],
179
178
  'entryDN' => [TEST_PEOPLE_DN],
180
179
  'subschemaSubentry' => ['cn=Subschema'],
181
- 'hasSubordinates' => ['TRUE'],
182
- 'dn' => [TEST_PEOPLE_DN],
183
- 'objectClass' => ['top', 'organizationalUnit'],
184
- 'description' => ['Acme.com employees'],
185
- }
180
+ 'hasSubordinates' => ['TRUE']
181
+ )
182
+
183
+ TEST_OPERATIONAL_PERSON_ENTRY = TEST_PERSON_ENTRY.merge(
184
+ 'structuralObjectClass' => ['inetOrgPerson'],
185
+ 'entryUUID' => ['65acd5dc-b146-102f-8d60-c1597577de09'],
186
+ 'creatorsName' => ['cn=admin,dc=laika,dc=com'],
187
+ 'createTimestamp' => ['20110110204609Z'],
188
+ 'entryCSN' => ['20110224232421.753555Z#000000#000#000000'],
189
+ 'modifiersName' => ['cn=admin,dc=laika,dc=com'],
190
+ 'modifyTimestamp' => ['20110224232421Z'],
191
+ 'entryDN' => [TEST_PEOPLE_DN],
192
+ 'subschemaSubentry' => ['cn=Subschema'],
193
+ 'hasSubordinates' => ['FALSE']
194
+ )
186
195
 
187
196
 
188
197
  constants.each do |cname|
@@ -375,9 +375,14 @@ describe Treequel::Branch do
375
375
  end
376
376
 
377
377
  it "knows what the OIDs of its operational attributes are" do
378
- op_oids = @directory.schema.attribute_types.values.select do |attrtype|
378
+ op_numeric_oids = @directory.schema.attribute_types.values.select do |attrtype|
379
379
  attrtype.operational?
380
380
  end.uniq.map( &:oid )
381
+ op_names = @directory.schema.attribute_types.values.select do |attrtype|
382
+ attrtype.operational?
383
+ end.uniq.map( &:names ).flatten
384
+
385
+ op_oids = op_numeric_oids + op_names
381
386
 
382
387
  @branch.operational_attribute_oids.should have( op_oids.length ).members
383
388
  @branch.operational_attribute_oids.should include( *op_oids )
@@ -462,7 +467,7 @@ describe Treequel::Branch do
462
467
  "MUST and MAY attributes plus the directory's operational attributes" do
463
468
  all_attrs = @branch.valid_attribute_types
464
469
 
465
- all_attrs.should have( 54 ).members
470
+ all_attrs.should have( 57 ).members
466
471
  all_attrs.should include( @directory.schema.attribute_types[:ou] )
467
472
  all_attrs.should include( @directory.schema.attribute_types[:l] )
468
473
  end
@@ -68,23 +68,26 @@ describe Treequel::Model::SchemaValidations do
68
68
  end
69
69
 
70
70
  it "adds an error if the object has a value for an attribute that isn't in one of its MAY attributes" do
71
- # First set the object classes to include one which MAY have a 'displayName'
72
- entry = {
73
- 'objectClass' => ['person', 'inetOrgPerson'],
74
- 'cn' => ['J. Random'],
75
- 'sn' => ['Hacker'],
76
- 'displayName' => ['Trinket the Trivial']
77
- }
78
- @conn.stub( :search_ext2 ).and_return([ entry ])
71
+ @conn.stub( :search_ext2 ).and_return([ TEST_PERSON_ENTRY.dup ])
79
72
 
80
73
  # ..then remove the objectclass that grants it and validate
81
74
  @modelobj.object_class -= ['inetOrgPerson']
82
75
  @modelobj.should_not be_valid()
83
76
 
84
77
  @modelobj.errors.full_messages.
85
- should == [%{displayName is not allowed by entry's objectClasses}]
78
+ should include( "displayName is not allowed by entry's objectClasses" )
86
79
  end
87
80
 
81
+ it "doesn't add errors for operational attributes" do
82
+ @conn.stub( :search_ext2 ).and_return([ TEST_OPERATIONAL_PERSON_ENTRY.dup ])
83
+ @modelobj.l = ['Birmingham']
84
+ @modelobj.validate
85
+ # @modelobj.operational_attribute_oids.should == []
86
+ # @modelobj.should be_valid()
87
+ @modelobj.errors.full_messages.should == []
88
+ end
89
+
90
+
88
91
  # AuxiliaryObjectClass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount'
89
92
  # DESC 'Abstraction of an account with POSIX attributes'
90
93
  # SUP top AUXILIARY
@@ -51,13 +51,13 @@ describe Treequel::Schema do
51
51
 
52
52
  schema = Treequel::Schema.new( schemahash )
53
53
 
54
- schema.object_classes.should have( 298 ).members
55
- schema.attribute_types.should have( 1085 ).members
56
- schema.matching_rules.should have( 72 ).members
54
+ schema.object_classes.should have( 308 ).members
55
+ schema.attribute_types.should have( 1193 ).members
56
+ schema.matching_rules.should have( 74 ).members
57
57
  schema.matching_rule_uses.should have( 54 ).members
58
- schema.ldap_syntaxes.should have( 31 ).members
58
+ schema.ldap_syntaxes.should have( 32 ).members
59
59
 
60
- schema.operational_attribute_types.should have( 31 ).members
60
+ schema.operational_attribute_types.should have( 34 ).members
61
61
  end
62
62
 
63
63
 
@@ -73,13 +73,13 @@ describe Treequel::Schema do
73
73
  schema = Treequel::Schema.new( schemahash )
74
74
  end.join
75
75
 
76
- schema.object_classes.should have( 298 ).members
77
- schema.attribute_types.should have( 1085 ).members
78
- schema.matching_rules.should have( 72 ).members
76
+ schema.object_classes.should have( 308 ).members
77
+ schema.attribute_types.should have( 1193 ).members
78
+ schema.matching_rules.should have( 74 ).members
79
79
  schema.matching_rule_uses.should have( 54 ).members
80
- schema.ldap_syntaxes.should have( 31 ).members
80
+ schema.ldap_syntaxes.should have( 32 ).members
81
81
 
82
- schema.operational_attribute_types.should have( 31 ).members
82
+ schema.operational_attribute_types.should have( 34 ).members
83
83
  end
84
84
 
85
85
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: treequel
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
5
4
  prerelease:
6
- segments:
7
- - 1
8
- - 5
9
- - 0
10
- version: 1.5.0
5
+ version: 1.5.1
11
6
  platform: ruby
12
7
  authors:
13
8
  - Michael Granger
@@ -36,37 +31,29 @@ cert_chain:
36
31
  cmlhXe46pZNJgWKbxZah85jIjx95hR8vOI+NAM5iH9kOqK13DrxacTKPhqj5PjwF
37
32
  -----END CERTIFICATE-----
38
33
 
39
- date: 2011-02-24 00:00:00 -08:00
34
+ date: 2011-02-25 00:00:00 -08:00
40
35
  default_executable:
41
36
  dependencies:
42
37
  - !ruby/object:Gem::Dependency
43
- name: diff-lcs
38
+ name: ruby-ldap
44
39
  prerelease: false
45
40
  requirement: &id001 !ruby/object:Gem::Requirement
46
41
  none: false
47
42
  requirements:
48
43
  - - ~>
49
44
  - !ruby/object:Gem::Version
50
- hash: 13
51
- segments:
52
- - 1
53
- - 1
54
- version: "1.1"
45
+ version: "0.9"
55
46
  type: :runtime
56
47
  version_requirements: *id001
57
48
  - !ruby/object:Gem::Dependency
58
- name: ruby-ldap
49
+ name: diff-lcs
59
50
  prerelease: false
60
51
  requirement: &id002 !ruby/object:Gem::Requirement
61
52
  none: false
62
53
  requirements:
63
54
  - - ~>
64
55
  - !ruby/object:Gem::Version
65
- hash: 25
66
- segments:
67
- - 0
68
- - 9
69
- version: "0.9"
56
+ version: "1.1"
70
57
  type: :runtime
71
58
  version_requirements: *id002
72
59
  - !ruby/object:Gem::Dependency
@@ -77,11 +64,6 @@ dependencies:
77
64
  requirements:
78
65
  - - ~>
79
66
  - !ruby/object:Gem::Version
80
- hash: 29
81
- segments:
82
- - 1
83
- - 2
84
- - 1
85
67
  version: 1.2.1
86
68
  type: :development
87
69
  version_requirements: *id003
@@ -93,27 +75,18 @@ dependencies:
93
75
  requirements:
94
76
  - - ">="
95
77
  - !ruby/object:Gem::Version
96
- hash: 31
97
- segments:
98
- - 0
99
- - 1
100
- - 2
101
78
  version: 0.1.2
102
79
  type: :development
103
80
  version_requirements: *id004
104
81
  - !ruby/object:Gem::Dependency
105
- name: columnize
82
+ name: rspec
106
83
  prerelease: false
107
84
  requirement: &id005 !ruby/object:Gem::Requirement
108
85
  none: false
109
86
  requirements:
110
87
  - - ~>
111
88
  - !ruby/object:Gem::Version
112
- hash: 13
113
- segments:
114
- - 0
115
- - 3
116
- version: "0.3"
89
+ version: "2.4"
117
90
  type: :development
118
91
  version_requirements: *id005
119
92
  - !ruby/object:Gem::Dependency
@@ -124,10 +97,6 @@ dependencies:
124
97
  requirements:
125
98
  - - ~>
126
99
  - !ruby/object:Gem::Version
127
- hash: 25
128
- segments:
129
- - 0
130
- - 9
131
100
  version: "0.9"
132
101
  type: :development
133
102
  version_requirements: *id006
@@ -139,56 +108,40 @@ dependencies:
139
108
  requirements:
140
109
  - - ~>
141
110
  - !ruby/object:Gem::Version
142
- hash: 9
143
- segments:
144
- - 0
145
- - 1
146
111
  version: "0.1"
147
112
  type: :development
148
113
  version_requirements: *id007
149
114
  - !ruby/object:Gem::Dependency
150
- name: rspec
115
+ name: columnize
151
116
  prerelease: false
152
117
  requirement: &id008 !ruby/object:Gem::Requirement
153
118
  none: false
154
119
  requirements:
155
120
  - - ~>
156
121
  - !ruby/object:Gem::Version
157
- hash: 11
158
- segments:
159
- - 2
160
- - 4
161
- version: "2.4"
122
+ version: "0.3"
162
123
  type: :development
163
124
  version_requirements: *id008
164
125
  - !ruby/object:Gem::Dependency
165
- name: sequel
126
+ name: sysexits
166
127
  prerelease: false
167
128
  requirement: &id009 !ruby/object:Gem::Requirement
168
129
  none: false
169
130
  requirements:
170
131
  - - ~>
171
132
  - !ruby/object:Gem::Version
172
- hash: 47
173
- segments:
174
- - 3
175
- - 20
176
- version: "3.20"
133
+ version: "1.0"
177
134
  type: :development
178
135
  version_requirements: *id009
179
136
  - !ruby/object:Gem::Dependency
180
- name: sysexits
137
+ name: sequel
181
138
  prerelease: false
182
139
  requirement: &id010 !ruby/object:Gem::Requirement
183
140
  none: false
184
141
  requirements:
185
142
  - - ~>
186
143
  - !ruby/object:Gem::Version
187
- hash: 15
188
- segments:
189
- - 1
190
- - 0
191
- version: "1.0"
144
+ version: "3.20"
192
145
  type: :development
193
146
  version_requirements: *id010
194
147
  - !ruby/object:Gem::Dependency
@@ -199,11 +152,6 @@ dependencies:
199
152
  requirements:
200
153
  - - ">="
201
154
  - !ruby/object:Gem::Version
202
- hash: 41
203
- segments:
204
- - 2
205
- - 9
206
- - 1
207
155
  version: 2.9.1
208
156
  type: :development
209
157
  version_requirements: *id011
@@ -312,11 +260,9 @@ post_install_message: |-
312
260
  You can install them automatically if you use the --development flag when
313
261
  installing Treequel.
314
262
  rdoc_options:
315
- - --use-cache
316
- - --protected
317
- - --verbose
318
263
  - --title
319
264
  - Treequel Documentation
265
+ - --quiet
320
266
  require_paths:
321
267
  - lib
322
268
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -324,25 +270,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
324
270
  requirements:
325
271
  - - ">="
326
272
  - !ruby/object:Gem::Version
327
- hash: 57
328
- segments:
329
- - 1
330
- - 8
331
- - 7
332
273
  version: 1.8.7
333
274
  required_rubygems_version: !ruby/object:Gem::Requirement
334
275
  none: false
335
276
  requirements:
336
277
  - - ">="
337
278
  - !ruby/object:Gem::Version
338
- hash: 3
339
- segments:
340
- - 0
341
279
  version: "0"
342
280
  requirements: []
343
281
 
344
282
  rubyforge_project: treequel
345
- rubygems_version: 1.5.0
283
+ rubygems_version: 1.5.2
346
284
  signing_key:
347
285
  specification_version: 3
348
286
  summary: Treequel is an LDAP toolkit for Ruby
metadata.gz.sig CHANGED
Binary file