goz 0.0.3 → 0.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/.gitignore +1 -0
- data/HISTORY.rdoc +6 -0
- data/README.rdoc +2 -17
- data/TODO.md +16 -0
- data/goz.gemspec +5 -1
- data/lib/goz.rb +9 -25
- data/lib/goz/database.rb +10 -0
- data/lib/goz/database/migrations.rb +15 -9
- data/lib/goz/event.rb +78 -16
- data/lib/goz/event_type.rb +4 -4
- data/lib/goz/group.rb +121 -44
- data/lib/goz/group/base.rb +115 -0
- data/lib/goz/group/etc_group.rb +113 -0
- data/lib/goz/group/grouper.rb +153 -0
- data/lib/goz/group/grouper/stemmed_groups.rb +140 -0
- data/lib/goz/group/test_case.rb +200 -0
- data/lib/goz/group_service.rb +5 -10
- data/lib/goz/logger.rb +41 -72
- data/lib/goz/service.rb +50 -30
- data/lib/goz/service/base.rb +43 -0
- data/lib/goz/service/fake_service.rb +81 -0
- data/lib/goz/test_case.rb +26 -14
- data/lib/goz/user.rb +98 -37
- data/lib/goz/user/base.rb +81 -0
- data/lib/goz/user/etc_passwd.rb +56 -0
- data/lib/goz/user/ldap.rb +112 -0
- data/lib/goz/user/test_case.rb +55 -0
- data/lib/goz/version.rb +1 -1
- metadata +89 -45
- data/lib/goz/cache.rb +0 -136
- data/lib/goz/cache/hash_store.rb +0 -75
- data/test/test_admins.rb +0 -189
- data/test/test_cache.rb +0 -90
- data/test/test_event.rb +0 -576
- data/test/test_event_type.rb +0 -47
- data/test/test_goz.rb +0 -22
- data/test/test_group.rb +0 -180
- data/test/test_group_services.rb +0 -241
- data/test/test_hash_store_cash.rb +0 -42
- data/test/test_logger.rb +0 -93
- data/test/test_members.rb +0 -189
- data/test/test_service.rb +0 -150
- data/test/test_user.rb +0 -205
data/test/test_event.rb
DELETED
@@ -1,576 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'simplecov'
|
4
|
-
SimpleCov.start
|
5
|
-
|
6
|
-
require 'goz/event'
|
7
|
-
require 'goz/test_case'
|
8
|
-
require 'goz/user'
|
9
|
-
|
10
|
-
|
11
|
-
class TestEvent < Goz::TestCase
|
12
|
-
|
13
|
-
def setup
|
14
|
-
super
|
15
|
-
end
|
16
|
-
|
17
|
-
|
18
|
-
def test_no_events
|
19
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
20
|
-
end
|
21
|
-
|
22
|
-
def test_group_add
|
23
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
24
|
-
|
25
|
-
t = Time.now
|
26
|
-
g = Goz::Group.create( @groups[:a] )
|
27
|
-
|
28
|
-
Goz::Database.instance do |db|
|
29
|
-
assert_equal 1, db[:events].count
|
30
|
-
first = db[:events].first
|
31
|
-
assert_not_nil first
|
32
|
-
assert_not_nil first[:event_type_id]
|
33
|
-
assert_equal Goz::EventType::GROUP_ADD, first[:event_type_id]
|
34
|
-
assert_not_nil first[:created_at]
|
35
|
-
assert first[:created_at] > t
|
36
|
-
assert_not_nil first[:group_id]
|
37
|
-
assert_equal g.id, first[:group_id]
|
38
|
-
assert_nil first[:service_id]
|
39
|
-
assert_nil first[:user_id]
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def test_group_remove
|
44
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
45
|
-
|
46
|
-
g = Goz::Group.create( @groups[:a] )
|
47
|
-
t = Time.now
|
48
|
-
g.destroy
|
49
|
-
|
50
|
-
Goz::Database.instance do |db|
|
51
|
-
assert_equal 2, db[:events].order(:id).count
|
52
|
-
last = db[:events].order(:id).last
|
53
|
-
assert_not_nil last
|
54
|
-
assert_not_nil last[:event_type_id]
|
55
|
-
assert_equal Goz::EventType::GROUP_REMOVE, last[:event_type_id]
|
56
|
-
assert_not_nil last[:created_at]
|
57
|
-
assert last[:created_at] > t
|
58
|
-
assert_not_nil last[:group_id]
|
59
|
-
assert_equal g.id, last[:group_id]
|
60
|
-
assert_nil last[:service_id]
|
61
|
-
assert_nil last[:user_id]
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_group_sync
|
66
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
67
|
-
|
68
|
-
t = Time.now
|
69
|
-
g = Goz::Group.create( @groups[:a] )
|
70
|
-
g.sync(true)
|
71
|
-
|
72
|
-
Goz::Database.instance do |db|
|
73
|
-
assert_equal 2, db[:events].count
|
74
|
-
last = db[:events].order(:id).last
|
75
|
-
assert_not_nil last
|
76
|
-
assert_not_nil last[:event_type_id]
|
77
|
-
assert_equal Goz::EventType::GROUP_SYNC, last[:event_type_id]
|
78
|
-
assert_not_nil last[:created_at]
|
79
|
-
assert last[:created_at] > t
|
80
|
-
assert_not_nil last[:group_id]
|
81
|
-
assert_equal g.id, last[:group_id]
|
82
|
-
assert_nil last[:service_id]
|
83
|
-
assert_nil last[:user_id]
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def test_group_service_sync
|
88
|
-
#skip("TODO")
|
89
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
90
|
-
|
91
|
-
g = Goz::Group.create( @groups[:a] )
|
92
|
-
g.sync(true)
|
93
|
-
Goz::Database.instance { |db| assert_equal 2, db[:events].count }
|
94
|
-
|
95
|
-
t = Time.now
|
96
|
-
s = Goz::Service.create( @services[:a] )
|
97
|
-
g.add_service(s)
|
98
|
-
g.sync(true)
|
99
|
-
Goz::Database.instance do |db|
|
100
|
-
assert_equal 6, db[:events].count
|
101
|
-
last = db[:events].order(:id).all[-2]
|
102
|
-
assert_not_nil last
|
103
|
-
assert_not_nil last[:event_type_id]
|
104
|
-
assert_equal Goz::EventType::GROUP_SERVICE_SYNC, last[:event_type_id]
|
105
|
-
assert_not_nil last[:created_at]
|
106
|
-
assert last[:created_at] > t
|
107
|
-
assert_not_nil last[:group_id]
|
108
|
-
assert_equal g.id, last[:group_id]
|
109
|
-
assert_not_nil last[:service_id]
|
110
|
-
assert_equal s.id, last[:service_id]
|
111
|
-
assert_nil last[:user_id]
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
def test_service_add
|
116
|
-
Goz::Database.instance { |db| assert_equal 0, db[:services].count }
|
117
|
-
|
118
|
-
t = Time.now
|
119
|
-
s = Goz::Service.create( @services[:a] )
|
120
|
-
|
121
|
-
Goz::Database.instance do |db|
|
122
|
-
assert_equal 1, db[:services].count
|
123
|
-
first = db[:events].first
|
124
|
-
assert_not_nil first
|
125
|
-
assert_not_nil first[:event_type_id]
|
126
|
-
assert_equal Goz::EventType::SERVICE_ADD, first[:event_type_id]
|
127
|
-
assert_not_nil first[:created_at]
|
128
|
-
assert first[:created_at] > t
|
129
|
-
assert_nil first[:group_id]
|
130
|
-
assert_not_nil first[:service_id]
|
131
|
-
assert_equal s.id, first[:service_id]
|
132
|
-
assert_nil first[:user_id]
|
133
|
-
end
|
134
|
-
end
|
135
|
-
|
136
|
-
def test_service_remove
|
137
|
-
Goz::Database.instance { |db| assert_equal 0, db[:services].count }
|
138
|
-
|
139
|
-
s = Goz::Service.create( @services[:a] )
|
140
|
-
t = Time.now
|
141
|
-
s.destroy
|
142
|
-
|
143
|
-
Goz::Database.instance do |db|
|
144
|
-
assert_equal 2, db[:events].order(:id).count
|
145
|
-
last = db[:events].order(:id).last
|
146
|
-
assert_not_nil last
|
147
|
-
assert_not_nil last[:event_type_id]
|
148
|
-
assert_equal Goz::EventType::SERVICE_REMOVE, last[:event_type_id]
|
149
|
-
assert_not_nil last[:created_at]
|
150
|
-
assert last[:created_at] > t
|
151
|
-
assert_nil last[:group_id]
|
152
|
-
assert_not_nil last[:service_id]
|
153
|
-
assert_equal s.id, last[:service_id]
|
154
|
-
assert_nil last[:user_id]
|
155
|
-
end
|
156
|
-
end
|
157
|
-
|
158
|
-
def test_service_sync
|
159
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
160
|
-
|
161
|
-
t = Time.now
|
162
|
-
s = Goz::Service.create( @services[:a] )
|
163
|
-
s.sync(true)
|
164
|
-
|
165
|
-
Goz::Database.instance do |db|
|
166
|
-
assert_equal 2, db[:events].count
|
167
|
-
last = db[:events].order(:id).last
|
168
|
-
assert_not_nil last
|
169
|
-
assert_not_nil last[:event_type_id]
|
170
|
-
assert_equal Goz::EventType::SERVICE_SYNC, last[:event_type_id]
|
171
|
-
assert_not_nil last[:created_at]
|
172
|
-
assert last[:created_at] > t
|
173
|
-
assert_nil last[:group_id]
|
174
|
-
assert_not_nil last[:service_id]
|
175
|
-
assert_equal s.id, last[:service_id]
|
176
|
-
assert_nil last[:user_id]
|
177
|
-
end
|
178
|
-
end
|
179
|
-
|
180
|
-
def test_user_add
|
181
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
182
|
-
|
183
|
-
t = Time.now
|
184
|
-
u = Goz::User.create( @users[:a] )
|
185
|
-
|
186
|
-
Goz::Database.instance do |db|
|
187
|
-
assert_equal 1, db[:events].count
|
188
|
-
first = db[:events].first
|
189
|
-
assert_not_nil first
|
190
|
-
assert_not_nil first[:event_type_id]
|
191
|
-
assert_equal Goz::EventType::USER_ADD, first[:event_type_id]
|
192
|
-
assert_not_nil first[:created_at]
|
193
|
-
assert first[:created_at] > t
|
194
|
-
assert_nil first[:group_id]
|
195
|
-
assert_nil first[:service_id]
|
196
|
-
assert_not_nil first[:user_id]
|
197
|
-
assert_equal u.id, first[:user_id]
|
198
|
-
end
|
199
|
-
end
|
200
|
-
|
201
|
-
def test_user_sync
|
202
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
203
|
-
|
204
|
-
t = Time.now
|
205
|
-
u = Goz::User.create( @users[:a] )
|
206
|
-
u.sync(true)
|
207
|
-
|
208
|
-
Goz::Database.instance do |db|
|
209
|
-
assert_equal 2, db[:events].count
|
210
|
-
last = db[:events].order(:id).last
|
211
|
-
assert_not_nil last
|
212
|
-
assert_not_nil last[:event_type_id]
|
213
|
-
assert_equal Goz::EventType::USER_SYNC, last[:event_type_id]
|
214
|
-
assert_not_nil last[:created_at]
|
215
|
-
assert last[:created_at] > t
|
216
|
-
assert_nil last[:group_id]
|
217
|
-
assert_nil last[:service_id]
|
218
|
-
assert_not_nil last[:user_id]
|
219
|
-
assert_equal u.id, last[:user_id]
|
220
|
-
end
|
221
|
-
end
|
222
|
-
|
223
|
-
def test_user_remove
|
224
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
225
|
-
|
226
|
-
u = Goz::User.create( @users[:a] )
|
227
|
-
t = Time.now
|
228
|
-
u.destroy
|
229
|
-
|
230
|
-
Goz::Database.instance do |db|
|
231
|
-
assert_equal 2, db[:events].order(:id).count
|
232
|
-
last = db[:events].order(:id).last
|
233
|
-
assert_not_nil last
|
234
|
-
assert_not_nil last[:event_type_id]
|
235
|
-
assert_equal Goz::EventType::USER_REMOVE, last[:event_type_id]
|
236
|
-
assert_not_nil last[:created_at]
|
237
|
-
assert last[:created_at] > t
|
238
|
-
assert_nil last[:group_id]
|
239
|
-
assert_nil last[:service_id]
|
240
|
-
assert_not_nil last[:user_id]
|
241
|
-
assert_equal u.id, last[:user_id]
|
242
|
-
end
|
243
|
-
end
|
244
|
-
|
245
|
-
def test_add_admin_to_group
|
246
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
247
|
-
|
248
|
-
g = Goz::Group.create( @groups[:a] )
|
249
|
-
u = Goz::User.create( @users[:a] )
|
250
|
-
|
251
|
-
t = Time.now
|
252
|
-
g.add_admin(u)
|
253
|
-
g.save
|
254
|
-
|
255
|
-
Goz::Database.instance do |db|
|
256
|
-
assert_equal 3, db[:events].count
|
257
|
-
last = db[:events].order(:id).last
|
258
|
-
assert_not_nil last
|
259
|
-
assert_not_nil last[:event_type_id]
|
260
|
-
assert_equal Goz::EventType::ADMIN_ADD, last[:event_type_id]
|
261
|
-
assert_not_nil last[:created_at]
|
262
|
-
assert last[:created_at] > t
|
263
|
-
assert_not_nil last[:group_id]
|
264
|
-
assert_equal g.id, last[:group_id]
|
265
|
-
assert_nil last[:service_id]
|
266
|
-
assert_not_nil last[:user_id]
|
267
|
-
assert_equal u.id, last[:user_id]
|
268
|
-
end
|
269
|
-
end
|
270
|
-
|
271
|
-
def test_add_group_to_admin
|
272
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
273
|
-
|
274
|
-
g = Goz::Group.create( @groups[:a] )
|
275
|
-
u = Goz::User.create( @users[:a] )
|
276
|
-
|
277
|
-
t = Time.now
|
278
|
-
u.add_group(g)
|
279
|
-
u.save
|
280
|
-
|
281
|
-
Goz::Database.instance do |db|
|
282
|
-
assert_equal 3, db[:events].count
|
283
|
-
last = db[:events].order(:id).last
|
284
|
-
assert_not_nil last
|
285
|
-
assert_not_nil last[:event_type_id]
|
286
|
-
assert_equal Goz::EventType::ADMIN_ADD, last[:event_type_id]
|
287
|
-
assert_not_nil last[:created_at]
|
288
|
-
assert last[:created_at] > t
|
289
|
-
assert_not_nil last[:group_id]
|
290
|
-
assert_equal g.id, last[:group_id]
|
291
|
-
assert_nil last[:service_id]
|
292
|
-
assert_not_nil last[:user_id]
|
293
|
-
assert_equal u.id, last[:user_id]
|
294
|
-
end
|
295
|
-
end
|
296
|
-
|
297
|
-
def test_remove_admin_from_group
|
298
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
299
|
-
|
300
|
-
g = Goz::Group.create( @groups[:a] )
|
301
|
-
u = Goz::User.create( @users[:a] )
|
302
|
-
|
303
|
-
g.add_admin(u)
|
304
|
-
g.save
|
305
|
-
|
306
|
-
t = Time.now
|
307
|
-
g.remove_admin(u)
|
308
|
-
g.save
|
309
|
-
|
310
|
-
Goz::Database.instance do |db|
|
311
|
-
assert_equal 4, db[:events].count
|
312
|
-
last = db[:events].order(:id).last
|
313
|
-
assert_not_nil last
|
314
|
-
assert_not_nil last[:event_type_id]
|
315
|
-
assert_equal Goz::EventType::ADMIN_REMOVE, last[:event_type_id]
|
316
|
-
assert_not_nil last[:created_at]
|
317
|
-
assert last[:created_at] > t
|
318
|
-
assert_not_nil last[:group_id]
|
319
|
-
assert_equal g.id, last[:group_id]
|
320
|
-
assert_nil last[:service_id]
|
321
|
-
assert_not_nil last[:user_id]
|
322
|
-
assert_equal u.id, last[:user_id]
|
323
|
-
end
|
324
|
-
end
|
325
|
-
|
326
|
-
def test_remove_group_from_admin
|
327
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
328
|
-
|
329
|
-
g = Goz::Group.create( @groups[:a] )
|
330
|
-
u = Goz::User.create( @users[:a] )
|
331
|
-
|
332
|
-
u.add_group(g)
|
333
|
-
u.save
|
334
|
-
|
335
|
-
t = Time.now
|
336
|
-
u.remove_group(g)
|
337
|
-
u.save
|
338
|
-
|
339
|
-
Goz::Database.instance do |db|
|
340
|
-
assert_equal 4, db[:events].count
|
341
|
-
last = db[:events].order(:id).last
|
342
|
-
assert_not_nil last
|
343
|
-
assert_not_nil last[:event_type_id]
|
344
|
-
assert_equal Goz::EventType::ADMIN_REMOVE, last[:event_type_id]
|
345
|
-
assert_not_nil last[:created_at]
|
346
|
-
assert last[:created_at] > t
|
347
|
-
assert_not_nil last[:group_id]
|
348
|
-
assert_equal g.id, last[:group_id]
|
349
|
-
assert_nil last[:service_id]
|
350
|
-
assert_not_nil last[:user_id]
|
351
|
-
assert_equal u.id, last[:user_id]
|
352
|
-
end
|
353
|
-
end
|
354
|
-
|
355
|
-
def test_add_group_to_member
|
356
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
357
|
-
|
358
|
-
g = Goz::Group.create( @groups[:a] )
|
359
|
-
u = Goz::User.create( @users[:a] )
|
360
|
-
|
361
|
-
t = Time.now
|
362
|
-
u.add_membership(g)
|
363
|
-
u.save
|
364
|
-
|
365
|
-
Goz::Database.instance do |db|
|
366
|
-
assert_equal 3, db[:events].count
|
367
|
-
last = db[:events].order(:id).last
|
368
|
-
assert_not_nil last
|
369
|
-
assert_not_nil last[:event_type_id]
|
370
|
-
assert_equal Goz::EventType::MEMBER_ADD, last[:event_type_id]
|
371
|
-
assert_not_nil last[:created_at]
|
372
|
-
assert last[:created_at] > t
|
373
|
-
assert_not_nil last[:group_id]
|
374
|
-
assert_equal g.id, last[:group_id]
|
375
|
-
assert_nil last[:service_id]
|
376
|
-
assert_not_nil last[:user_id]
|
377
|
-
assert_equal u.id, last[:user_id]
|
378
|
-
end
|
379
|
-
end
|
380
|
-
|
381
|
-
def test_add_member_to_group
|
382
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
383
|
-
|
384
|
-
g = Goz::Group.create( @groups[:a] )
|
385
|
-
u = Goz::User.create( @users[:a] )
|
386
|
-
|
387
|
-
t = Time.now
|
388
|
-
g.add_member(u)
|
389
|
-
g.save
|
390
|
-
|
391
|
-
Goz::Database.instance do |db|
|
392
|
-
assert_equal 3, db[:events].count
|
393
|
-
last = db[:events].order(:id).last
|
394
|
-
assert_not_nil last
|
395
|
-
assert_not_nil last[:event_type_id]
|
396
|
-
assert_equal Goz::EventType::MEMBER_ADD, last[:event_type_id]
|
397
|
-
assert_not_nil last[:created_at]
|
398
|
-
assert last[:created_at] > t
|
399
|
-
assert_not_nil last[:group_id]
|
400
|
-
assert_equal g.id, last[:group_id]
|
401
|
-
assert_nil last[:service_id]
|
402
|
-
assert_not_nil last[:user_id]
|
403
|
-
assert_equal u.id, last[:user_id]
|
404
|
-
end
|
405
|
-
end
|
406
|
-
|
407
|
-
def test_remove_group_from_member
|
408
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
409
|
-
|
410
|
-
g = Goz::Group.create( @groups[:a] )
|
411
|
-
u = Goz::User.create( @users[:a] )
|
412
|
-
|
413
|
-
u.add_membership(g)
|
414
|
-
u.save
|
415
|
-
|
416
|
-
t = Time.now
|
417
|
-
u.remove_membership(g)
|
418
|
-
u.save
|
419
|
-
|
420
|
-
Goz::Database.instance do |db|
|
421
|
-
assert_equal 4, db[:events].count
|
422
|
-
last = db[:events].order(:id).last
|
423
|
-
assert_not_nil last
|
424
|
-
assert_not_nil last[:event_type_id]
|
425
|
-
assert_equal Goz::EventType::MEMBER_REMOVE, last[:event_type_id]
|
426
|
-
assert_not_nil last[:created_at]
|
427
|
-
assert last[:created_at] > t
|
428
|
-
assert_not_nil last[:group_id]
|
429
|
-
assert_equal g.id, last[:group_id]
|
430
|
-
assert_nil last[:service_id]
|
431
|
-
assert_not_nil last[:user_id]
|
432
|
-
assert_equal u.id, last[:user_id]
|
433
|
-
end
|
434
|
-
end
|
435
|
-
|
436
|
-
def test_remove_member_from_group
|
437
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
438
|
-
|
439
|
-
g = Goz::Group.create( @groups[:a] )
|
440
|
-
u = Goz::User.create( @users[:a] )
|
441
|
-
|
442
|
-
g.add_member(u)
|
443
|
-
g.save
|
444
|
-
|
445
|
-
t = Time.now
|
446
|
-
g.remove_member(u)
|
447
|
-
g.save
|
448
|
-
|
449
|
-
Goz::Database.instance do |db|
|
450
|
-
assert_equal 4, db[:events].count
|
451
|
-
last = db[:events].order(:id).last
|
452
|
-
assert_not_nil last
|
453
|
-
assert_not_nil last[:event_type_id]
|
454
|
-
assert_equal Goz::EventType::MEMBER_REMOVE, last[:event_type_id]
|
455
|
-
assert_not_nil last[:created_at]
|
456
|
-
assert last[:created_at] > t
|
457
|
-
assert_not_nil last[:group_id]
|
458
|
-
assert_equal g.id, last[:group_id]
|
459
|
-
assert_nil last[:service_id]
|
460
|
-
assert_not_nil last[:user_id]
|
461
|
-
assert_equal u.id, last[:user_id]
|
462
|
-
end
|
463
|
-
end
|
464
|
-
|
465
|
-
def test_add_group_to_service
|
466
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
467
|
-
|
468
|
-
g = Goz::Group.create( @groups[:a] )
|
469
|
-
s = Goz::Service.create( @services[:a] )
|
470
|
-
|
471
|
-
t = Time.now
|
472
|
-
s.add_group(g)
|
473
|
-
s.save
|
474
|
-
|
475
|
-
Goz::Database.instance do |db|
|
476
|
-
assert_equal 3, db[:events].count
|
477
|
-
last = db[:events].order(:id).last
|
478
|
-
assert_not_nil last
|
479
|
-
assert_not_nil last[:event_type_id]
|
480
|
-
assert_equal Goz::EventType::GROUP_SERVICE_ADD, last[:event_type_id]
|
481
|
-
assert_not_nil last[:created_at]
|
482
|
-
assert last[:created_at] > t
|
483
|
-
assert_not_nil last[:group_id]
|
484
|
-
assert_equal g.id, last[:group_id]
|
485
|
-
assert_not_nil last[:service_id]
|
486
|
-
assert_equal s.id, last[:service_id]
|
487
|
-
assert_nil last[:user_id]
|
488
|
-
end
|
489
|
-
end
|
490
|
-
|
491
|
-
def test_add_service_to_group
|
492
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
493
|
-
|
494
|
-
g = Goz::Group.create( @groups[:a] )
|
495
|
-
s = Goz::Service.create( @services[:a] )
|
496
|
-
|
497
|
-
t = Time.now
|
498
|
-
g.add_service(s)
|
499
|
-
g.save
|
500
|
-
|
501
|
-
Goz::Database.instance do |db|
|
502
|
-
assert_equal 3, db[:events].count
|
503
|
-
last = db[:events].order(:id).last
|
504
|
-
assert_not_nil last
|
505
|
-
assert_not_nil last[:event_type_id]
|
506
|
-
assert_equal Goz::EventType::GROUP_SERVICE_ADD, last[:event_type_id]
|
507
|
-
assert_not_nil last[:created_at]
|
508
|
-
assert last[:created_at] > t
|
509
|
-
assert_not_nil last[:group_id]
|
510
|
-
assert_equal g.id, last[:group_id]
|
511
|
-
assert_not_nil last[:service_id]
|
512
|
-
assert_equal s.id, last[:service_id]
|
513
|
-
assert_nil last[:user_id]
|
514
|
-
end
|
515
|
-
end
|
516
|
-
|
517
|
-
def test_remove_group_from_service
|
518
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
519
|
-
|
520
|
-
g = Goz::Group.create( @groups[:a] )
|
521
|
-
s = Goz::Service.create( @services[:a] )
|
522
|
-
|
523
|
-
s.add_group(g)
|
524
|
-
s.save
|
525
|
-
|
526
|
-
t = Time.now
|
527
|
-
s.remove_group(g)
|
528
|
-
s.save
|
529
|
-
|
530
|
-
Goz::Database.instance do |db|
|
531
|
-
assert_equal 4, db[:events].count
|
532
|
-
last = db[:events].order(:id).last
|
533
|
-
assert_not_nil last
|
534
|
-
assert_not_nil last[:event_type_id]
|
535
|
-
assert_equal Goz::EventType::GROUP_SERVICE_REMOVE, last[:event_type_id]
|
536
|
-
assert_not_nil last[:created_at]
|
537
|
-
assert last[:created_at] > t
|
538
|
-
assert_not_nil last[:group_id]
|
539
|
-
assert_equal g.id, last[:group_id]
|
540
|
-
assert_not_nil last[:service_id]
|
541
|
-
assert_equal s.id, last[:service_id]
|
542
|
-
assert_nil last[:user_id]
|
543
|
-
end
|
544
|
-
end
|
545
|
-
|
546
|
-
def test_remove_service_from_group
|
547
|
-
Goz::Database.instance { |db| assert_equal 0, db[:events].count }
|
548
|
-
|
549
|
-
g = Goz::Group.create( @groups[:a] )
|
550
|
-
s = Goz::Service.create( @services[:a] )
|
551
|
-
|
552
|
-
g.add_service(s)
|
553
|
-
g.save
|
554
|
-
|
555
|
-
t = Time.now
|
556
|
-
g.remove_service(s)
|
557
|
-
g.save
|
558
|
-
|
559
|
-
Goz::Database.instance do |db|
|
560
|
-
assert_equal 4, db[:events].count
|
561
|
-
last = db[:events].order(:id).last
|
562
|
-
assert_not_nil last
|
563
|
-
assert_not_nil last[:event_type_id]
|
564
|
-
assert_equal Goz::EventType::GROUP_SERVICE_REMOVE, last[:event_type_id]
|
565
|
-
assert_not_nil last[:created_at]
|
566
|
-
assert last[:created_at] > t
|
567
|
-
assert_not_nil last[:group_id]
|
568
|
-
assert_equal g.id, last[:group_id]
|
569
|
-
assert_not_nil last[:service_id]
|
570
|
-
assert_equal s.id, last[:service_id]
|
571
|
-
assert_nil last[:user_id]
|
572
|
-
end
|
573
|
-
end
|
574
|
-
|
575
|
-
end
|
576
|
-
|