net-ldap 0.16.1 → 0.16.2
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 +5 -5
- data/.gitignore +1 -0
- data/.travis.yml +23 -1
- data/History.rdoc +7 -0
- data/README.rdoc +8 -3
- data/lib/net/ldap.rb +1 -1
- data/lib/net/ldap/connection.rb +4 -0
- data/lib/net/ldap/filter.rb +8 -1
- data/lib/net/ldap/version.rb +1 -1
- data/script/ldap-docker +12 -0
- data/test/fixtures/ca/docker-ca.pem +18 -0
- data/test/fixtures/{openldap/retcode.ldif → ldif/06-retcode.ldif} +7 -8
- data/test/fixtures/ldif/50-seed.ldif +374 -0
- data/test/integration/test_add.rb +1 -3
- data/test/integration/test_ber.rb +1 -1
- data/test/integration/test_bind.rb +12 -34
- data/test/integration/test_delete.rb +1 -3
- data/test/integration/test_open.rb +10 -11
- data/test/integration/test_password_modify.rb +10 -10
- data/test/integration/test_return_codes.rb +12 -4
- data/test/integration/test_search.rb +8 -8
- data/test/test_helper.rb +5 -6
- metadata +27 -41
- data/script/generate-fixture-ca +0 -48
- data/script/install-openldap +0 -134
- data/test/fixtures/ca/ca.info +0 -4
- data/test/fixtures/ca/cacert.pem +0 -24
- data/test/fixtures/ca/cakey.pem +0 -190
- data/test/fixtures/openldap/memberof.ldif +0 -33
- data/test/fixtures/openldap/slapd.conf.ldif +0 -67
- data/test/fixtures/seed.ldif +0 -374
- data/test/support/vm/openldap/README.md +0 -64
- data/test/support/vm/openldap/Vagrantfile +0 -34
data/test/fixtures/seed.ldif
DELETED
@@ -1,374 +0,0 @@
|
|
1
|
-
dn: ou=People,dc=rubyldap,dc=com
|
2
|
-
objectClass: top
|
3
|
-
objectClass: organizationalUnit
|
4
|
-
ou: People
|
5
|
-
|
6
|
-
dn: ou=Groups,dc=rubyldap,dc=com
|
7
|
-
objectClass: top
|
8
|
-
objectClass: organizationalUnit
|
9
|
-
ou: Groups
|
10
|
-
|
11
|
-
# Directory Superuser
|
12
|
-
dn: uid=admin,dc=rubyldap,dc=com
|
13
|
-
uid: admin
|
14
|
-
cn: system administrator
|
15
|
-
sn: administrator
|
16
|
-
objectClass: top
|
17
|
-
objectClass: person
|
18
|
-
objectClass: organizationalPerson
|
19
|
-
objectClass: inetOrgPerson
|
20
|
-
displayName: Directory Superuser
|
21
|
-
userPassword: passworD1
|
22
|
-
|
23
|
-
# Users 1-10
|
24
|
-
|
25
|
-
dn: uid=user1,ou=People,dc=rubyldap,dc=com
|
26
|
-
uid: user1
|
27
|
-
cn: user1
|
28
|
-
sn: user1
|
29
|
-
objectClass: top
|
30
|
-
objectClass: person
|
31
|
-
objectClass: organizationalPerson
|
32
|
-
objectClass: inetOrgPerson
|
33
|
-
userPassword: passworD1
|
34
|
-
mail: user1@rubyldap.com
|
35
|
-
|
36
|
-
dn: uid=user2,ou=People,dc=rubyldap,dc=com
|
37
|
-
uid: user2
|
38
|
-
cn: user2
|
39
|
-
sn: user2
|
40
|
-
objectClass: top
|
41
|
-
objectClass: person
|
42
|
-
objectClass: organizationalPerson
|
43
|
-
objectClass: inetOrgPerson
|
44
|
-
userPassword: passworD1
|
45
|
-
mail: user2@rubyldap.com
|
46
|
-
|
47
|
-
dn: uid=user3,ou=People,dc=rubyldap,dc=com
|
48
|
-
uid: user3
|
49
|
-
cn: user3
|
50
|
-
sn: user3
|
51
|
-
objectClass: top
|
52
|
-
objectClass: person
|
53
|
-
objectClass: organizationalPerson
|
54
|
-
objectClass: inetOrgPerson
|
55
|
-
userPassword: passworD1
|
56
|
-
mail: user3@rubyldap.com
|
57
|
-
|
58
|
-
dn: uid=user4,ou=People,dc=rubyldap,dc=com
|
59
|
-
uid: user4
|
60
|
-
cn: user4
|
61
|
-
sn: user4
|
62
|
-
objectClass: top
|
63
|
-
objectClass: person
|
64
|
-
objectClass: organizationalPerson
|
65
|
-
objectClass: inetOrgPerson
|
66
|
-
userPassword: passworD1
|
67
|
-
mail: user4@rubyldap.com
|
68
|
-
|
69
|
-
dn: uid=user5,ou=People,dc=rubyldap,dc=com
|
70
|
-
uid: user5
|
71
|
-
cn: user5
|
72
|
-
sn: user5
|
73
|
-
objectClass: top
|
74
|
-
objectClass: person
|
75
|
-
objectClass: organizationalPerson
|
76
|
-
objectClass: inetOrgPerson
|
77
|
-
userPassword: passworD1
|
78
|
-
mail: user5@rubyldap.com
|
79
|
-
|
80
|
-
dn: uid=user6,ou=People,dc=rubyldap,dc=com
|
81
|
-
uid: user6
|
82
|
-
cn: user6
|
83
|
-
sn: user6
|
84
|
-
objectClass: top
|
85
|
-
objectClass: person
|
86
|
-
objectClass: organizationalPerson
|
87
|
-
objectClass: inetOrgPerson
|
88
|
-
userPassword: passworD1
|
89
|
-
mail: user6@rubyldap.com
|
90
|
-
|
91
|
-
dn: uid=user7,ou=People,dc=rubyldap,dc=com
|
92
|
-
uid: user7
|
93
|
-
cn: user7
|
94
|
-
sn: user7
|
95
|
-
objectClass: top
|
96
|
-
objectClass: person
|
97
|
-
objectClass: organizationalPerson
|
98
|
-
objectClass: inetOrgPerson
|
99
|
-
userPassword: passworD1
|
100
|
-
mail: user7@rubyldap.com
|
101
|
-
|
102
|
-
dn: uid=user8,ou=People,dc=rubyldap,dc=com
|
103
|
-
uid: user8
|
104
|
-
cn: user8
|
105
|
-
sn: user8
|
106
|
-
objectClass: top
|
107
|
-
objectClass: person
|
108
|
-
objectClass: organizationalPerson
|
109
|
-
objectClass: inetOrgPerson
|
110
|
-
userPassword: passworD1
|
111
|
-
mail: user8@rubyldap.com
|
112
|
-
|
113
|
-
dn: uid=user9,ou=People,dc=rubyldap,dc=com
|
114
|
-
uid: user9
|
115
|
-
cn: user9
|
116
|
-
sn: user9
|
117
|
-
objectClass: top
|
118
|
-
objectClass: person
|
119
|
-
objectClass: organizationalPerson
|
120
|
-
objectClass: inetOrgPerson
|
121
|
-
userPassword: passworD1
|
122
|
-
mail: user9@rubyldap.com
|
123
|
-
|
124
|
-
dn: uid=user10,ou=People,dc=rubyldap,dc=com
|
125
|
-
uid: user10
|
126
|
-
cn: user10
|
127
|
-
sn: user10
|
128
|
-
objectClass: top
|
129
|
-
objectClass: person
|
130
|
-
objectClass: organizationalPerson
|
131
|
-
objectClass: inetOrgPerson
|
132
|
-
userPassword: passworD1
|
133
|
-
mail: user10@rubyldap.com
|
134
|
-
|
135
|
-
# Emailless User
|
136
|
-
|
137
|
-
dn: uid=emailless-user1,ou=People,dc=rubyldap,dc=com
|
138
|
-
uid: emailless-user1
|
139
|
-
cn: emailless-user1
|
140
|
-
sn: emailless-user1
|
141
|
-
objectClass: top
|
142
|
-
objectClass: person
|
143
|
-
objectClass: organizationalPerson
|
144
|
-
objectClass: inetOrgPerson
|
145
|
-
userPassword: passworD1
|
146
|
-
|
147
|
-
# Groupless User
|
148
|
-
|
149
|
-
dn: uid=groupless-user1,ou=People,dc=rubyldap,dc=com
|
150
|
-
uid: groupless-user1
|
151
|
-
cn: groupless-user1
|
152
|
-
sn: groupless-user1
|
153
|
-
objectClass: top
|
154
|
-
objectClass: person
|
155
|
-
objectClass: organizationalPerson
|
156
|
-
objectClass: inetOrgPerson
|
157
|
-
userPassword: passworD1
|
158
|
-
|
159
|
-
# Admin User
|
160
|
-
|
161
|
-
dn: uid=admin1,ou=People,dc=rubyldap,dc=com
|
162
|
-
uid: admin1
|
163
|
-
cn: admin1
|
164
|
-
sn: admin1
|
165
|
-
objectClass: top
|
166
|
-
objectClass: person
|
167
|
-
objectClass: organizationalPerson
|
168
|
-
objectClass: inetOrgPerson
|
169
|
-
userPassword: passworD1
|
170
|
-
mail: admin1@rubyldap.com
|
171
|
-
|
172
|
-
# Groups
|
173
|
-
|
174
|
-
dn: cn=ghe-users,ou=Groups,dc=rubyldap,dc=com
|
175
|
-
cn: ghe-users
|
176
|
-
objectClass: groupOfNames
|
177
|
-
member: uid=user1,ou=People,dc=rubyldap,dc=com
|
178
|
-
member: uid=emailless-user1,ou=People,dc=rubyldap,dc=com
|
179
|
-
|
180
|
-
dn: cn=all-users,ou=Groups,dc=rubyldap,dc=com
|
181
|
-
cn: all-users
|
182
|
-
objectClass: groupOfNames
|
183
|
-
member: cn=ghe-users,ou=Groups,dc=rubyldap,dc=com
|
184
|
-
member: uid=user1,ou=People,dc=rubyldap,dc=com
|
185
|
-
member: uid=user2,ou=People,dc=rubyldap,dc=com
|
186
|
-
member: uid=user3,ou=People,dc=rubyldap,dc=com
|
187
|
-
member: uid=user4,ou=People,dc=rubyldap,dc=com
|
188
|
-
member: uid=user5,ou=People,dc=rubyldap,dc=com
|
189
|
-
member: uid=user6,ou=People,dc=rubyldap,dc=com
|
190
|
-
member: uid=user7,ou=People,dc=rubyldap,dc=com
|
191
|
-
member: uid=user8,ou=People,dc=rubyldap,dc=com
|
192
|
-
member: uid=user9,ou=People,dc=rubyldap,dc=com
|
193
|
-
member: uid=user10,ou=People,dc=rubyldap,dc=com
|
194
|
-
member: uid=emailless-user1,ou=People,dc=rubyldap,dc=com
|
195
|
-
|
196
|
-
dn: cn=ghe-admins,ou=Groups,dc=rubyldap,dc=com
|
197
|
-
cn: ghe-admins
|
198
|
-
objectClass: groupOfNames
|
199
|
-
member: uid=admin1,ou=People,dc=rubyldap,dc=com
|
200
|
-
|
201
|
-
dn: cn=all-admins,ou=Groups,dc=rubyldap,dc=com
|
202
|
-
cn: all-admins
|
203
|
-
objectClass: groupOfNames
|
204
|
-
member: cn=ghe-admins,ou=Groups,dc=rubyldap,dc=com
|
205
|
-
member: uid=admin1,ou=People,dc=rubyldap,dc=com
|
206
|
-
|
207
|
-
dn: cn=n-member-group10,ou=Groups,dc=rubyldap,dc=com
|
208
|
-
cn: n-member-group10
|
209
|
-
objectClass: groupOfNames
|
210
|
-
member: uid=user1,ou=People,dc=rubyldap,dc=com
|
211
|
-
member: uid=user2,ou=People,dc=rubyldap,dc=com
|
212
|
-
member: uid=user3,ou=People,dc=rubyldap,dc=com
|
213
|
-
member: uid=user4,ou=People,dc=rubyldap,dc=com
|
214
|
-
member: uid=user5,ou=People,dc=rubyldap,dc=com
|
215
|
-
member: uid=user6,ou=People,dc=rubyldap,dc=com
|
216
|
-
member: uid=user7,ou=People,dc=rubyldap,dc=com
|
217
|
-
member: uid=user8,ou=People,dc=rubyldap,dc=com
|
218
|
-
member: uid=user9,ou=People,dc=rubyldap,dc=com
|
219
|
-
member: uid=user10,ou=People,dc=rubyldap,dc=com
|
220
|
-
|
221
|
-
dn: cn=nested-group1,ou=Groups,dc=rubyldap,dc=com
|
222
|
-
cn: nested-group1
|
223
|
-
objectClass: groupOfNames
|
224
|
-
member: uid=user1,ou=People,dc=rubyldap,dc=com
|
225
|
-
member: uid=user2,ou=People,dc=rubyldap,dc=com
|
226
|
-
member: uid=user3,ou=People,dc=rubyldap,dc=com
|
227
|
-
member: uid=user4,ou=People,dc=rubyldap,dc=com
|
228
|
-
member: uid=user5,ou=People,dc=rubyldap,dc=com
|
229
|
-
|
230
|
-
dn: cn=nested-group2,ou=Groups,dc=rubyldap,dc=com
|
231
|
-
cn: nested-group2
|
232
|
-
objectClass: groupOfNames
|
233
|
-
member: uid=user6,ou=People,dc=rubyldap,dc=com
|
234
|
-
member: uid=user7,ou=People,dc=rubyldap,dc=com
|
235
|
-
member: uid=user8,ou=People,dc=rubyldap,dc=com
|
236
|
-
member: uid=user9,ou=People,dc=rubyldap,dc=com
|
237
|
-
member: uid=user10,ou=People,dc=rubyldap,dc=com
|
238
|
-
|
239
|
-
dn: cn=nested-groups,ou=Groups,dc=rubyldap,dc=com
|
240
|
-
cn: nested-groups
|
241
|
-
objectClass: groupOfNames
|
242
|
-
member: cn=nested-group1,ou=Groups,dc=rubyldap,dc=com
|
243
|
-
member: cn=nested-group2,ou=Groups,dc=rubyldap,dc=com
|
244
|
-
|
245
|
-
dn: cn=n-member-nested-group1,ou=Groups,dc=rubyldap,dc=com
|
246
|
-
cn: n-member-nested-group1
|
247
|
-
objectClass: groupOfNames
|
248
|
-
member: cn=nested-group1,ou=Groups,dc=rubyldap,dc=com
|
249
|
-
|
250
|
-
dn: cn=deeply-nested-group0.0.0,ou=Groups,dc=rubyldap,dc=com
|
251
|
-
cn: deeply-nested-group0.0.0
|
252
|
-
objectClass: groupOfNames
|
253
|
-
member: uid=user1,ou=People,dc=rubyldap,dc=com
|
254
|
-
member: uid=user2,ou=People,dc=rubyldap,dc=com
|
255
|
-
member: uid=user3,ou=People,dc=rubyldap,dc=com
|
256
|
-
member: uid=user4,ou=People,dc=rubyldap,dc=com
|
257
|
-
member: uid=user5,ou=People,dc=rubyldap,dc=com
|
258
|
-
|
259
|
-
dn: cn=deeply-nested-group0.0.1,ou=Groups,dc=rubyldap,dc=com
|
260
|
-
cn: deeply-nested-group0.0.1
|
261
|
-
objectClass: groupOfNames
|
262
|
-
member: uid=user6,ou=People,dc=rubyldap,dc=com
|
263
|
-
member: uid=user7,ou=People,dc=rubyldap,dc=com
|
264
|
-
member: uid=user8,ou=People,dc=rubyldap,dc=com
|
265
|
-
member: uid=user9,ou=People,dc=rubyldap,dc=com
|
266
|
-
member: uid=user10,ou=People,dc=rubyldap,dc=com
|
267
|
-
|
268
|
-
dn: cn=deeply-nested-group0.0,ou=Groups,dc=rubyldap,dc=com
|
269
|
-
cn: deeply-nested-group0.0
|
270
|
-
objectClass: groupOfNames
|
271
|
-
member: cn=deeply-nested-group0.0.0,ou=Groups,dc=rubyldap,dc=com
|
272
|
-
member: cn=deeply-nested-group0.0.1,ou=Groups,dc=rubyldap,dc=com
|
273
|
-
|
274
|
-
dn: cn=deeply-nested-group0,ou=Groups,dc=rubyldap,dc=com
|
275
|
-
cn: deeply-nested-group0
|
276
|
-
objectClass: groupOfNames
|
277
|
-
member: cn=deeply-nested-group0.0,ou=Groups,dc=rubyldap,dc=com
|
278
|
-
|
279
|
-
dn: cn=deeply-nested-groups,ou=Groups,dc=rubyldap,dc=com
|
280
|
-
cn: deeply-nested-groups
|
281
|
-
objectClass: groupOfNames
|
282
|
-
member: cn=deeply-nested-group0,ou=Groups,dc=rubyldap,dc=com
|
283
|
-
|
284
|
-
dn: cn=n-depth-nested-group1,ou=Groups,dc=rubyldap,dc=com
|
285
|
-
cn: n-depth-nested-group1
|
286
|
-
objectClass: groupOfNames
|
287
|
-
member: cn=nested-group1,ou=Groups,dc=rubyldap,dc=com
|
288
|
-
|
289
|
-
dn: cn=n-depth-nested-group2,ou=Groups,dc=rubyldap,dc=com
|
290
|
-
cn: n-depth-nested-group2
|
291
|
-
objectClass: groupOfNames
|
292
|
-
member: cn=n-depth-nested-group1,ou=Groups,dc=rubyldap,dc=com
|
293
|
-
|
294
|
-
dn: cn=n-depth-nested-group3,ou=Groups,dc=rubyldap,dc=com
|
295
|
-
cn: n-depth-nested-group3
|
296
|
-
objectClass: groupOfNames
|
297
|
-
member: cn=n-depth-nested-group2,ou=Groups,dc=rubyldap,dc=com
|
298
|
-
|
299
|
-
dn: cn=n-depth-nested-group4,ou=Groups,dc=rubyldap,dc=com
|
300
|
-
cn: n-depth-nested-group4
|
301
|
-
objectClass: groupOfNames
|
302
|
-
member: cn=n-depth-nested-group3,ou=Groups,dc=rubyldap,dc=com
|
303
|
-
|
304
|
-
dn: cn=n-depth-nested-group5,ou=Groups,dc=rubyldap,dc=com
|
305
|
-
cn: n-depth-nested-group5
|
306
|
-
objectClass: groupOfNames
|
307
|
-
member: cn=n-depth-nested-group4,ou=Groups,dc=rubyldap,dc=com
|
308
|
-
|
309
|
-
dn: cn=n-depth-nested-group6,ou=Groups,dc=rubyldap,dc=com
|
310
|
-
cn: n-depth-nested-group6
|
311
|
-
objectClass: groupOfNames
|
312
|
-
member: cn=n-depth-nested-group5,ou=Groups,dc=rubyldap,dc=com
|
313
|
-
|
314
|
-
dn: cn=n-depth-nested-group7,ou=Groups,dc=rubyldap,dc=com
|
315
|
-
cn: n-depth-nested-group7
|
316
|
-
objectClass: groupOfNames
|
317
|
-
member: cn=n-depth-nested-group6,ou=Groups,dc=rubyldap,dc=com
|
318
|
-
|
319
|
-
dn: cn=n-depth-nested-group8,ou=Groups,dc=rubyldap,dc=com
|
320
|
-
cn: n-depth-nested-group8
|
321
|
-
objectClass: groupOfNames
|
322
|
-
member: cn=n-depth-nested-group7,ou=Groups,dc=rubyldap,dc=com
|
323
|
-
|
324
|
-
dn: cn=n-depth-nested-group9,ou=Groups,dc=rubyldap,dc=com
|
325
|
-
cn: n-depth-nested-group9
|
326
|
-
objectClass: groupOfNames
|
327
|
-
member: cn=n-depth-nested-group8,ou=Groups,dc=rubyldap,dc=com
|
328
|
-
|
329
|
-
dn: cn=head-group,ou=Groups,dc=rubyldap,dc=com
|
330
|
-
cn: head-group
|
331
|
-
objectClass: groupOfNames
|
332
|
-
member: cn=tail-group,ou=Groups,dc=rubyldap,dc=com
|
333
|
-
member: uid=user1,ou=People,dc=rubyldap,dc=com
|
334
|
-
member: uid=user2,ou=People,dc=rubyldap,dc=com
|
335
|
-
member: uid=user3,ou=People,dc=rubyldap,dc=com
|
336
|
-
member: uid=user4,ou=People,dc=rubyldap,dc=com
|
337
|
-
member: uid=user5,ou=People,dc=rubyldap,dc=com
|
338
|
-
|
339
|
-
dn: cn=tail-group,ou=Groups,dc=rubyldap,dc=com
|
340
|
-
cn: tail-group
|
341
|
-
objectClass: groupOfNames
|
342
|
-
member: cn=head-group,ou=Groups,dc=rubyldap,dc=com
|
343
|
-
member: uid=user6,ou=People,dc=rubyldap,dc=com
|
344
|
-
member: uid=user7,ou=People,dc=rubyldap,dc=com
|
345
|
-
member: uid=user8,ou=People,dc=rubyldap,dc=com
|
346
|
-
member: uid=user9,ou=People,dc=rubyldap,dc=com
|
347
|
-
member: uid=user10,ou=People,dc=rubyldap,dc=com
|
348
|
-
|
349
|
-
dn: cn=recursively-nested-groups,ou=Groups,dc=rubyldap,dc=com
|
350
|
-
cn: recursively-nested-groups
|
351
|
-
objectClass: groupOfNames
|
352
|
-
member: cn=head-group,ou=Groups,dc=rubyldap,dc=com
|
353
|
-
member: cn=tail-group,ou=Groups,dc=rubyldap,dc=com
|
354
|
-
|
355
|
-
# posixGroup
|
356
|
-
|
357
|
-
dn: cn=posix-group1,ou=Groups,dc=rubyldap,dc=com
|
358
|
-
cn: posix-group1
|
359
|
-
objectClass: posixGroup
|
360
|
-
gidNumber: 1001
|
361
|
-
memberUid: user1
|
362
|
-
memberUid: user2
|
363
|
-
memberUid: user3
|
364
|
-
memberUid: user4
|
365
|
-
memberUid: user5
|
366
|
-
|
367
|
-
# missing members
|
368
|
-
|
369
|
-
dn: cn=missing-users,ou=Groups,dc=rubyldap,dc=com
|
370
|
-
cn: missing-users
|
371
|
-
objectClass: groupOfNames
|
372
|
-
member: uid=user1,ou=People,dc=rubyldap,dc=com
|
373
|
-
member: uid=user2,ou=People,dc=rubyldap,dc=com
|
374
|
-
member: uid=nonexistent-user,ou=People,dc=rubyldap,dc=com
|
@@ -1,64 +0,0 @@
|
|
1
|
-
# Local OpenLDAP Integration Testing
|
2
|
-
|
3
|
-
Set up a [Vagrant](http://www.vagrantup.com/) VM to run integration
|
4
|
-
tests against OpenLDAP locally. *NOTE*: To support some of the SSL tests,
|
5
|
-
Vagrant forwards localhost port 9389 to VM host port 9389. The port mapping
|
6
|
-
goes away when you run `vagrant destroy`.
|
7
|
-
|
8
|
-
## Install Vagrant
|
9
|
-
|
10
|
-
*NOTE*: The Vagrant gem (`gem install vagrant`) is
|
11
|
-
[no longer supported](https://www.vagrantup.com/docs/installation/). If you've
|
12
|
-
previously installed it, run `gem uninstall vagrant`. If you're an rbenv
|
13
|
-
user, you probably want to follow that up with `rbenv rehash; hash -r`.
|
14
|
-
|
15
|
-
If you use Homebrew on macOS:
|
16
|
-
``` bash
|
17
|
-
$ brew update
|
18
|
-
$ brew cask install virtualbox
|
19
|
-
$ brew cask install vagrant
|
20
|
-
$ brew cask install vagrant-manager
|
21
|
-
$ vagrant plugin install vagrant-vbguest
|
22
|
-
```
|
23
|
-
|
24
|
-
Installing Vagrant and virtualbox on other operating systems is left
|
25
|
-
as an exercise to the reader. Note the `vagrant-vbguest` plugin is required
|
26
|
-
to update the VirtualBox guest extensions in the guest VM image.
|
27
|
-
|
28
|
-
## Run the tests
|
29
|
-
|
30
|
-
``` bash
|
31
|
-
# start VM (from the correct directory)
|
32
|
-
$ cd test/support/vm/openldap/
|
33
|
-
$ vagrant up
|
34
|
-
|
35
|
-
# get the IP address of the VM
|
36
|
-
$ ip=$(vagrant ssh -- "ifconfig eth1 | grep -o -E '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n1")
|
37
|
-
|
38
|
-
# change back to root project directory
|
39
|
-
$ cd ../../../..
|
40
|
-
|
41
|
-
# set the TCP port for testing
|
42
|
-
$ export INTEGRATION_PORT=9389
|
43
|
-
|
44
|
-
# run all tests, including integration tests
|
45
|
-
$ time INTEGRATION=openldap INTEGRATION_HOST=$ip bundle exec rake
|
46
|
-
|
47
|
-
# run a specific integration test file
|
48
|
-
$ time INTEGRATION=openldap INTEGRATION_HOST=$ip bundle exec ruby test/integration/test_search.rb
|
49
|
-
|
50
|
-
# run integration tests by default
|
51
|
-
$ export INTEGRATION=openldap
|
52
|
-
$ export INTEGRATION_HOST=$ip
|
53
|
-
|
54
|
-
# now run tests without having to set ENV variables
|
55
|
-
$ time bundle exec rake
|
56
|
-
|
57
|
-
# Once you're all done
|
58
|
-
$ cd test/support/vm/openldap
|
59
|
-
$ vagrant destroy
|
60
|
-
```
|
61
|
-
|
62
|
-
If at any point your VM appears to have broken itself, `vagrant destroy`
|
63
|
-
from the `test/support/vm/openldap` directory will blow it away. You can
|
64
|
-
then do `vagrant up` and start over.
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# -*- mode: ruby -*-
|
2
|
-
# vi: set ft=ruby :
|
3
|
-
|
4
|
-
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
5
|
-
VAGRANTFILE_API_VERSION = "2"
|
6
|
-
|
7
|
-
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
8
|
-
config.vm.hostname = "rubyldap.com"
|
9
|
-
|
10
|
-
config.vm.box = "hashicorp/precise64"
|
11
|
-
|
12
|
-
config.vm.network "private_network", type: :dhcp
|
13
|
-
config.vm.network "forwarded_port", guest: 389, host: 9389
|
14
|
-
|
15
|
-
config.ssh.forward_agent = true
|
16
|
-
|
17
|
-
config.vm.provision "shell", inline: "apt-get update; exec env /vagrant_data/script/install-openldap"
|
18
|
-
|
19
|
-
config.vm.synced_folder "../../../..", "/vagrant_data"
|
20
|
-
|
21
|
-
config.vm.provider "vmware_fusion" do |vb, override|
|
22
|
-
override.vm.box = "hashicorp/precise64"
|
23
|
-
vb.memory = 4596
|
24
|
-
vb.vmx["displayname"] = "integration tests vm"
|
25
|
-
vb.vmx["numvcpus"] = "2"
|
26
|
-
end
|
27
|
-
|
28
|
-
config.vm.provider "virtualbox" do |vb, override|
|
29
|
-
vb.memory = 4096
|
30
|
-
vb.customize ["modifyvm", :id, "--nicpromisc2", "allow-all"]
|
31
|
-
vb.customize ["modifyvm", :id, "--chipset", "ich9"]
|
32
|
-
vb.customize ["modifyvm", :id, "--vram", "16"]
|
33
|
-
end
|
34
|
-
end
|