batsir 0.3.7.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES.md +9 -0
  3. data/README.md +1 -1
  4. data/lib/batsir/compiler/stage_worker_compiler.rb +42 -27
  5. data/lib/batsir/dsl/conditional_notifier_declaration.rb +7 -7
  6. data/lib/batsir/version.rb +3 -3
  7. metadata +81 -151
  8. data/.document +0 -5
  9. data/.rspec +0 -3
  10. data/.travis.yml +0 -18
  11. data/Gemfile +0 -19
  12. data/Rakefile +0 -62
  13. data/batsir.gemspec +0 -132
  14. data/batsir.png +0 -0
  15. data/spec/batsir/acceptors/acceptor_spec.rb +0 -65
  16. data/spec/batsir/acceptors/amqp_acceptor_spec.rb +0 -158
  17. data/spec/batsir/acceptors/shared_examples.rb +0 -102
  18. data/spec/batsir/amqp_spec.rb +0 -58
  19. data/spec/batsir/chain_spec.rb +0 -31
  20. data/spec/batsir/config_spec.rb +0 -97
  21. data/spec/batsir/dsl/chain_mapping_spec.rb +0 -116
  22. data/spec/batsir/dsl/conditional_notifier_mapping_spec.rb +0 -80
  23. data/spec/batsir/dsl/stage_mapping_spec.rb +0 -453
  24. data/spec/batsir/filter_queue_spec.rb +0 -68
  25. data/spec/batsir/filter_spec.rb +0 -11
  26. data/spec/batsir/log_spec.rb +0 -10
  27. data/spec/batsir/logger_spec.rb +0 -46
  28. data/spec/batsir/notifiers/amqp_notifier_spec.rb +0 -138
  29. data/spec/batsir/notifiers/conditional_notifier_spec.rb +0 -62
  30. data/spec/batsir/notifiers/notifier_spec.rb +0 -11
  31. data/spec/batsir/notifiers/shared_examples.rb +0 -100
  32. data/spec/batsir/registry_spec.rb +0 -48
  33. data/spec/batsir/stage_spec.rb +0 -684
  34. data/spec/batsir/stage_worker_spec.rb +0 -128
  35. data/spec/batsir/strategies/retry_strategy_spec.rb +0 -58
  36. data/spec/batsir/strategies/strategy_spec.rb +0 -28
  37. data/spec/batsir/support/bunny_mocks.rb +0 -135
  38. data/spec/batsir/support/mock_filters.rb +0 -43
  39. data/spec/batsir/transformers/field_transformer_spec.rb +0 -73
  40. data/spec/batsir/transformers/json_input_transformer_spec.rb +0 -27
  41. data/spec/batsir/transformers/json_output_transformer_spec.rb +0 -18
  42. data/spec/batsir/transformers/transformer_spec.rb +0 -36
  43. data/spec/spec_helper.rb +0 -26
@@ -1,684 +0,0 @@
1
- require File.join( File.dirname(__FILE__), "..", "spec_helper" )
2
-
3
- describe Batsir::Stage do
4
- def create_stage(options = {})
5
- defaults = {
6
- :name => "Test Stage",
7
- :chain => Batsir::Chain.new
8
- }
9
- Batsir::Stage.new(defaults.merge(options))
10
- end
11
-
12
- before :all do
13
- class StubFilter < Batsir::Filter
14
- end
15
-
16
- class AnotherFilter < Batsir::Filter
17
- end
18
-
19
- @object_type = "SomeResource"
20
- end
21
-
22
- it "is a Celluloid Actor" do
23
- Batsir::Stage.ancestors.should include Celluloid
24
- end
25
-
26
- it "can name the stage" do
27
- stage = Batsir::Stage.new
28
- name = "StageName"
29
- stage.name = name
30
- stage.name.should == name
31
- end
32
-
33
- it "can set the name in the constructor" do
34
- name = "StageName"
35
- stage = Batsir::Stage.new(:name => name)
36
- stage.name.should == name
37
- end
38
-
39
- it "can set the aggregator chain to which the stage belongs" do
40
- chain = "Chain"
41
- stage = Batsir::Stage.new(:chain => chain)
42
- stage.chain.should == chain
43
- end
44
-
45
- context "with respect to filters" do
46
- it "cannot set the filters directly" do
47
- stage = Batsir::Stage.new
48
- lambda { stage.filters = {} }.should raise_error(NoMethodError)
49
- end
50
-
51
- it "stores filters using filter declarations" do
52
- filter = "Filter"
53
- stage = Batsir::Stage.new
54
- stage.add_filter(filter)
55
- stage.filter_declarations.should_not be_nil
56
- stage.filter_declarations.size.should == 1
57
- declaration = stage.filter_declarations.first
58
- declaration.filter.should == filter
59
- declaration.options.should == {}
60
- end
61
-
62
- it "returns an empty array when the #filters method is called without any declared filters" do
63
- stage = Batsir::Stage.new
64
- stage.filters.should_not be_nil
65
- stage.filters.should == []
66
- end
67
-
68
- it "returns all filters when the #filters method is called" do
69
- filter1 = "Filter"
70
- filter2 = "Filter2"
71
- filter3 = "Filter"
72
- stage = Batsir::Stage.new
73
- stage.add_filter(filter1)
74
- stage.add_filter(filter2)
75
- stage.add_filter(filter3)
76
-
77
- stage.filters.should_not be_nil
78
- stage.filters.size.should == 3
79
- stage.filters[0].should == filter1
80
- stage.filters[1].should == filter2
81
- stage.filters[2].should == filter3
82
- end
83
-
84
- it "adds a filter to its filters" do
85
- filter = "Filter"
86
- stage = Batsir::Stage.new
87
- stage.add_filter(filter)
88
- stage.filters.should_not be_nil
89
- stage.filters.should include filter
90
- end
91
-
92
- it "can have multiple filters of the same class but with different options" do
93
- stage = Batsir::Stage.new
94
- stage.add_filter(:filter)
95
- stage.add_filter(:filter, :foo => :bar)
96
-
97
- stage.filters.should include :filter
98
- stage.filters.size.should == 2
99
- end
100
-
101
- it "can add filters with on options hash" do
102
- filter = :filter
103
- options = {:foo => :bar}
104
-
105
- stage = Batsir::Stage.new
106
- stage.add_filter(filter, options)
107
-
108
- stage.filters.should_not be_nil
109
- stage.filters.should_not be_empty
110
- stage.filters.should include filter
111
- stage.filter_declarations.first.options.should == options
112
- end
113
-
114
- it "can add multiple filters with option hashes" do
115
- filter1 = :filter1
116
- filter2 = :filter2
117
- options1 = {:foo1 => :bar1}
118
- options2 = {:foo2 => :bar2}
119
-
120
- stage = Batsir::Stage.new
121
- stage.add_filter(filter1, options1)
122
- stage.add_filter(filter2, options2)
123
-
124
- stage.filters.should include filter1
125
- stage.filters.should include filter2
126
- stage.filter_declarations[0].options.should == options1
127
- stage.filter_declarations[1].options.should == options2
128
- end
129
-
130
- it "adds empty options hashes to filters when no option hash is given" do
131
- filter = :filter
132
-
133
- stage = Batsir::Stage.new
134
- stage.add_filter(filter)
135
-
136
- stage.filters.should_not be_nil
137
- stage.filters.should_not be_empty
138
- stage.filters.should include filter
139
- stage.filter_declarations.first.options.should == {}
140
- end
141
-
142
- it "can add a filter more than once" do
143
- filter = :filter
144
- stage = Batsir::Stage.new
145
- stage.add_filter(filter)
146
- stage.add_filter(filter)
147
- stage.filters.should_not be_nil
148
- stage.filters.should_not be_empty
149
- stage.filters.size.should == 2
150
- end
151
-
152
- it "can add filter with different options and respect the order" do
153
- filter = :filter
154
- other_filter = :other_filter
155
-
156
- stage = Batsir::Stage.new
157
- stage.add_filter(filter)
158
- stage.add_filter(other_filter)
159
- stage.add_filter(filter, :foo => :bar)
160
- stage.filters.size.should == 3
161
- end
162
- end
163
-
164
- context "with respect to acceptors" do
165
- it "initially has an empty list of acceptors" do
166
- stage = Batsir::Stage.new
167
- stage.acceptors.should_not be_nil
168
- stage.acceptors.should be_empty
169
- end
170
-
171
- it "cannot set the acceptors directly" do
172
- stage = Batsir::Stage.new
173
- lambda { stage.acceptors = {} }.should raise_error(NoMethodError)
174
- end
175
-
176
- it "can add new acceptors" do
177
- stage = Batsir::Stage.new
178
- stage.add_acceptor(:acceptor)
179
- stage.acceptors.should_not be_nil
180
- stage.acceptors.should_not be_empty
181
- stage.acceptors.keys.should include :acceptor
182
- end
183
-
184
- it "stores a set of different options for each acceptor" do
185
- stage = Batsir::Stage.new
186
- stage.add_acceptor(:acceptor)
187
- stage.acceptors[:acceptor].should be_a Set
188
- end
189
-
190
- it "can have multiple acceptors of the same class but with different options" do
191
- stage = Batsir::Stage.new
192
- stage.add_acceptor(:acceptor_class)
193
- stage.add_acceptor(:acceptor_class, :foo => :bar)
194
-
195
- stage.acceptors.should_not be_nil
196
- stage.acceptors.should_not be_empty
197
- stage.acceptors.keys.should include :acceptor_class
198
- stage.acceptors[:acceptor_class].size.should == 2
199
- end
200
-
201
- it "can add an acceptor with an options hash" do
202
- stage = Batsir::Stage.new
203
- options = {:foo => :bar}
204
- stage.add_acceptor(:acceptor, options)
205
-
206
- stage.acceptors.should_not be_nil
207
- stage.acceptors.should_not be_empty
208
- stage.acceptors.keys.should include :acceptor
209
- stage.acceptors[:acceptor].first.should == options
210
- end
211
-
212
- it "adds an empty options hash for added acceptors without options" do
213
- stage = Batsir::Stage.new
214
- stage.add_acceptor(:acceptor)
215
-
216
- stage.acceptors.should_not be_nil
217
- stage.acceptors.should_not be_empty
218
- stage.acceptors.keys.should include :acceptor
219
- stage.acceptors[:acceptor].first.should == {}
220
- end
221
-
222
- it "initially has an empty list of cancellators" do
223
- stage = Batsir::Stage.new
224
- stage.cancellators.should_not be_nil
225
- stage.cancellators.should be_empty
226
- end
227
-
228
- context "with respect to acceptor transformers" do
229
- it "has an empty acceptor transformers queue by default" do
230
- stage = Batsir::Stage.new
231
-
232
- stage.acceptor_transformers.should_not be_nil
233
- stage.acceptor_transformers.should be_empty
234
- end
235
-
236
- it "can add a transformer to the acceptors" do
237
- stage = Batsir::Stage.new
238
-
239
- transformer = :transformer
240
-
241
- stage.add_acceptor_transformer(transformer)
242
- stage.acceptor_transformers.should_not be_empty
243
-
244
- stage.acceptor_transformers.first.transformer.should == transformer
245
- end
246
-
247
- it "adds an empty options hash by default" do
248
- stage = Batsir::Stage.new
249
-
250
- transformer = :transformer
251
- stage.add_acceptor_transformer(transformer)
252
- stage.acceptor_transformers.should_not be_empty
253
-
254
- stage.acceptor_transformers.first.options.should == {}
255
- end
256
-
257
- it "can add options to a transformer" do
258
- stage = Batsir::Stage.new
259
-
260
- transformer = :transformer
261
- options = {:foo => :bar}
262
-
263
- stage.add_acceptor_transformer(transformer, options)
264
- stage.acceptor_transformers.should_not be_empty
265
-
266
- stage.acceptor_transformers.first.transformer.should == transformer
267
- stage.acceptor_transformers.first.options.should == options
268
- end
269
-
270
- it "can add multiple transformers" do
271
- stage = Batsir::Stage.new
272
-
273
- transformer1 = :transformer1
274
- transformer2 = :transformer2
275
-
276
- stage.add_acceptor_transformer(transformer1)
277
- stage.add_acceptor_transformer(transformer2)
278
- stage.acceptor_transformers.should_not be_empty
279
- stage.acceptor_transformers.size.should == 2
280
-
281
- transformers = stage.acceptor_transformers.map{|td| td.transformer}
282
- transformers.should include transformer1
283
- transformers.should include transformer2
284
- end
285
-
286
- it "keeps the transformers in the order of declaration" do
287
- stage = Batsir::Stage.new
288
-
289
- transformer1 = :transformer1
290
- transformer2 = :transformer2
291
-
292
- stage.add_acceptor_transformer(transformer1)
293
- stage.add_acceptor_transformer(transformer2)
294
- stage.acceptor_transformers.should_not be_empty
295
- stage.acceptor_transformers.size.should == 2
296
-
297
- stage.acceptor_transformers.first.transformer.should == transformer1
298
- stage.acceptor_transformers.last.transformer.should == transformer2
299
- end
300
-
301
- it "can add a transformer more than once" do
302
- stage = Batsir::Stage.new
303
-
304
- transformer = :transformer
305
-
306
- stage.add_acceptor_transformer(transformer)
307
- stage.add_acceptor_transformer(transformer)
308
- stage.acceptor_transformers.should_not be_empty
309
- stage.acceptor_transformers.size.should == 2
310
-
311
- stage.acceptor_transformers.first.transformer.should == transformer
312
- stage.acceptor_transformers.last.transformer.should == transformer
313
- end
314
- end
315
- end
316
-
317
-
318
- context "with respect to notifiers" do
319
- it "initially has an empty notifiers queue" do
320
- stage = Batsir::Stage.new
321
- stage.notifiers.should_not be_nil
322
- stage.notifiers.should be_empty
323
- end
324
-
325
- it "cannot set the notifiers directly" do
326
- stage = Batsir::Stage.new
327
- lambda { stage.notifiers = {} }.should raise_error(NoMethodError)
328
- end
329
-
330
- it "can add new notifiers" do
331
- stage = Batsir::Stage.new
332
-
333
- stage.add_notifier(:notifier)
334
- stage.notifiers.should_not be_nil
335
- stage.notifiers.should_not be_empty
336
- stage.notifiers.keys.should include :notifier
337
- end
338
-
339
- it "stores a set of different options for each notifier" do
340
- stage = Batsir::Stage.new
341
- stage.add_notifier(:notifier)
342
- stage.notifiers[:notifier].should be_a Set
343
- end
344
-
345
- it "can have multiple notifiers of the same class but with different options" do
346
- stage = Batsir::Stage.new
347
- stage.add_notifier(:notifier_class)
348
- stage.add_notifier(:notifier_class, :foo => :bar)
349
-
350
- stage.notifiers.should_not be_nil
351
- stage.notifiers.keys.should include :notifier_class
352
- stage.notifiers[:notifier_class].size.should == 2
353
- end
354
-
355
- it "can set a notifier with an options hash" do
356
- stage = Batsir::Stage.new
357
-
358
- options = {:foo => :bar}
359
-
360
- stage.add_notifier(:notifier, options)
361
- stage.notifiers.should_not be_nil
362
- stage.notifiers.should_not be_empty
363
- stage.notifiers.keys.should include :notifier
364
- stage.notifiers[:notifier].first.should == options
365
- end
366
-
367
- it "adds an empty options hash for added notifiers without options" do
368
- stage = Batsir::Stage.new
369
-
370
- stage.add_notifier(:notifier)
371
- stage.notifiers.should_not be_nil
372
- stage.notifiers.should_not be_empty
373
- stage.notifiers.keys.should include :notifier
374
- stage.notifiers[:notifier].first.should == {}
375
- end
376
-
377
- context "with respect to notifier transformers" do
378
- it "has an empty notifier transformers queue by default" do
379
- stage = Batsir::Stage.new
380
-
381
- stage.notifier_transformers.should_not be_nil
382
- stage.notifier_transformers.should be_empty
383
- end
384
-
385
- it "can add a transformer to the notifiers" do
386
- stage = Batsir::Stage.new
387
-
388
- transformer = :transformer
389
-
390
- stage.add_notifier_transformer(transformer)
391
- stage.notifier_transformers.should_not be_empty
392
-
393
- stage.notifier_transformers.first.transformer.should == transformer
394
- end
395
-
396
- it "adds an empty options hash by default" do
397
- stage = Batsir::Stage.new
398
-
399
- transformer = :transformer
400
- stage.add_notifier_transformer(transformer)
401
- stage.notifier_transformers.should_not be_empty
402
-
403
- stage.notifier_transformers.first.options.should == {}
404
- end
405
-
406
- it "can add options to a transformer" do
407
- stage = Batsir::Stage.new
408
-
409
- transformer = :transformer
410
- options = {:foo => :bar}
411
-
412
- stage.add_notifier_transformer(transformer, options)
413
- stage.notifier_transformers.should_not be_empty
414
-
415
- stage.notifier_transformers.first.transformer.should == transformer
416
- stage.notifier_transformers.first.options.should == options
417
- end
418
-
419
- it "can add multiple transformers" do
420
- stage = Batsir::Stage.new
421
-
422
- transformer1 = :transformer1
423
- transformer2 = :transformer2
424
-
425
- stage.add_notifier_transformer(transformer1)
426
- stage.add_notifier_transformer(transformer2)
427
- stage.notifier_transformers.should_not be_empty
428
- stage.notifier_transformers.size.should == 2
429
-
430
- transformers = stage.notifier_transformers.map{|td| td.transformer}
431
- transformers.should include transformer1
432
- transformers.should include transformer2
433
- end
434
-
435
- it "keeps the transformers in the order of declaration" do
436
- stage = Batsir::Stage.new
437
-
438
- transformer1 = :transformer1
439
- transformer2 = :transformer2
440
-
441
- stage.add_notifier_transformer(transformer1)
442
- stage.add_notifier_transformer(transformer2)
443
- stage.notifier_transformers.should_not be_empty
444
- stage.notifier_transformers.size.should == 2
445
-
446
- stage.notifier_transformers.first.transformer.should == transformer1
447
- stage.notifier_transformers.last.transformer.should == transformer2
448
- end
449
-
450
- it "can add a transformer more than once" do
451
- stage = Batsir::Stage.new
452
-
453
- transformer = :transformer
454
-
455
- stage.add_notifier_transformer(transformer)
456
- stage.add_notifier_transformer(transformer)
457
- stage.notifier_transformers.should_not be_empty
458
- stage.notifier_transformers.size.should == 2
459
-
460
- stage.notifier_transformers.first.transformer.should == transformer
461
- stage.notifier_transformers.last.transformer.should == transformer
462
- end
463
- end
464
- end
465
-
466
- context "with respect to conditional notifiers" do
467
- it "initially has an empty conditional notifiers queue" do
468
- stage = Batsir::Stage.new
469
- stage.conditional_notifiers.should_not be_nil
470
- stage.conditional_notifiers.should be_empty
471
- end
472
-
473
- it "cannot set the conditional notifiers directly" do
474
- stage = Batsir::Stage.new
475
- lambda { stage.conditional_notifiers = {} }.should raise_error(NoMethodError)
476
- end
477
-
478
- it "can add new conditional notifiers" do
479
- stage = Batsir::Stage.new
480
-
481
- stage.add_conditional_notifier(:notifier)
482
- stage.conditional_notifiers.should_not be_nil
483
- stage.conditional_notifiers.should_not be_empty
484
- end
485
- end
486
-
487
- context "with respect to compiling the stage" do
488
- before :all do
489
- @stage_name = "Stage 1"
490
-
491
- Celluloid.boot
492
-
493
- stage = Batsir::Stage.new(:name => @stage_name)
494
-
495
- stage.add_notifier_transformer(Batsir::Transformers::Transformer)
496
- stage.add_notifier(Batsir::Notifiers::Notifier)
497
- stage.add_filter(Batsir::Filter)
498
- stage.add_filter(Batsir::Filter)
499
-
500
- @created_class = eval( stage.compile )
501
- end
502
-
503
- it "creates a class named after the stage name" do
504
- @created_class.to_s.should == "Stage1Worker"
505
- end
506
-
507
- it "creates a Batsir::StageWorker class" do
508
- @created_class.ancestors.should include Batsir::StageWorker
509
- end
510
-
511
- it "creates a class that includes Sidekiq::Worker" do
512
- @created_class.ancestors.should include Sidekiq::Worker
513
- end
514
-
515
- it "creates a worker class named after the stage name" do
516
- @created_class.stage_name.should == @stage_name
517
- end
518
-
519
- it "adds the notifier during compilation" do
520
- instance = @created_class.new
521
- instance.filter_queue.notifiers.should_not be_nil
522
- instance.filter_queue.notifiers.should_not be_empty
523
- instance.filter_queue.notifiers.size.should == 1
524
- instance.filter_queue.notifiers.first.should be_a Batsir::Notifiers::Notifier
525
- end
526
-
527
- it "adds a transformer to the notifier during compilation" do
528
- instance = @created_class.new
529
-
530
- instance.filter_queue.notifiers.first.transformer_queue.should_not be_empty
531
- instance.filter_queue.notifiers.first.transformer_queue.first.should be_a Batsir::Transformers::Transformer
532
- end
533
-
534
- it "adds a JSONOutputTransformer by default when no transformers are defined" do
535
- stage = Batsir::Stage.new(:name => "SomeName")
536
-
537
- stage.add_notifier(Batsir::Notifiers::Notifier)
538
-
539
- created_class = eval( stage.compile )
540
- instance = created_class.new
541
-
542
- instance.filter_queue.notifiers.should_not be_nil
543
- instance.filter_queue.notifiers.should_not be_empty
544
- instance.filter_queue.notifiers.first.transformer_queue.should_not be_empty
545
- instance.filter_queue.notifiers.first.transformer_queue.first.should be_a Batsir::Transformers::JSONOutputTransformer
546
- end
547
-
548
- it "initialises a class local filter queue" do
549
- @created_class.filter_queue.should_not be_nil
550
- @created_class.filter_queue.should_not be_empty
551
- end
552
-
553
- it "has intitialized the filters" do
554
- @created_class.filter_queue.map{|filter| filter.class.to_s}.should include "Batsir::Filter"
555
- end
556
-
557
- it "can add a filter multiple times" do
558
- @created_class.filter_queue.select{ |filter| filter.class == Batsir::Filter }.size.should == 2
559
- end
560
-
561
- it "uses the class local filter queue once an instance is initialized" do
562
- instance = @created_class.new
563
- instance.filter_queue.should == @created_class.filter_queue
564
- end
565
-
566
- it "initialises all filters in the filter queue" do
567
- @created_class.filter_queue.each do |filter|
568
- filter.should_not be_a Class
569
- end
570
- end
571
- end
572
-
573
- context "with respect to starting the stage" do
574
- before :all do
575
- class MockAcceptor < Batsir::Acceptors::Acceptor
576
-
577
- def foo=(bar)
578
- end
579
-
580
- def stage_name=(name)
581
- @@stage_name = name
582
- end
583
-
584
- def self.stage_name
585
- @@stage_name
586
- end
587
-
588
- def start
589
- @@start_count ||= 0
590
- @@start_count += 1
591
- end
592
-
593
- def add_transformer(transformer)
594
- @@added_transformers ||= []
595
- @@added_transformers << transformer
596
- end
597
-
598
- def self.added_transformers
599
- @@added_transformers ||= []
600
- end
601
-
602
- def self.start_count
603
- @@start_count ||= 0
604
- end
605
-
606
- def self.reset
607
- @@start_count = 0
608
- @@stage_name = nil
609
- @@added_transformers = []
610
- end
611
-
612
- end
613
-
614
- class Celluloid::ActorProxy
615
- def start!
616
- Celluloid::Actor.call @mailbox, :start
617
- end
618
- end
619
- end
620
-
621
- before :each do
622
- MockAcceptor.reset
623
- end
624
-
625
- it "sets the stage name on acceptors when they are started" do
626
- stage = create_stage
627
- stage.add_acceptor MockAcceptor
628
- stage.add_acceptor MockAcceptor, :foo => :bar
629
-
630
- stage.start
631
- MockAcceptor.stage_name.should == stage.name
632
- end
633
-
634
- it "initially has an empty list of running acceptors" do
635
- stage = create_stage
636
- stage.add_acceptor MockAcceptor
637
-
638
- stage.running_acceptors.should_not be_nil
639
- stage.running_acceptors.should be_empty
640
- end
641
-
642
- it "keeps track of running acceptors" do
643
- stage = create_stage
644
- stage.add_acceptor MockAcceptor
645
-
646
- stage.start
647
- stage.running_acceptors.size.should == 1
648
- end
649
-
650
- it "starts all acceptors" do
651
- stage = create_stage
652
- stage.add_acceptor MockAcceptor
653
- stage.add_acceptor MockAcceptor, :foo => :bar
654
-
655
- MockAcceptor.start_count.should == 0
656
-
657
- stage.start
658
- sleep(0.05)
659
-
660
- MockAcceptor.start_count.should == 2
661
- end
662
-
663
- it "adds a Batsir::Transformers::JSONInputTransformer to acceptors when no transformers are defined" do
664
- stage = create_stage
665
- stage.add_acceptor MockAcceptor
666
-
667
- stage.start
668
-
669
- MockAcceptor.added_transformers.size.should == 1
670
- MockAcceptor.added_transformers.first.should be_a Batsir::Transformers::JSONInputTransformer
671
- end
672
-
673
- it "adds defined transformers to the acceptors" do
674
- stage = create_stage
675
- stage.add_acceptor_transformer Batsir::Transformers::Transformer
676
- stage.add_acceptor MockAcceptor
677
-
678
- stage.start
679
-
680
- MockAcceptor.added_transformers.size.should == 1
681
- MockAcceptor.added_transformers.first.should be_a Batsir::Transformers::Transformer
682
- end
683
- end
684
- end