flapjack 1.4.0 → 1.5.0rc1

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.
@@ -353,4 +353,71 @@ Pact.provider_states_for "flapjack-diner" do
353
353
  end
354
354
  end
355
355
 
356
- end
356
+ provider_state "flapjack has a simplistic check freshness distribution" do
357
+ set_up do
358
+ redis = Flapjack::Gateways::JSONAPI.instance_variable_get('@redis')
359
+ check_freshness_data = {
360
+ :from_0_to_60 => 0,
361
+ :from_60_to_300 => 1,
362
+ :from_300_to_900 => 2,
363
+ :from_900_to_3600 => 3,
364
+ :from_3600_to_∞ => 4
365
+ }
366
+ entity = Flapjack::Data::Entity.find_by_name('sally', :create => true, :redis => redis)
367
+
368
+ checks = {
369
+ "check 1" => 61,
370
+ "check 2" => 301,
371
+ "check 3" => 301,
372
+ "check 4" => 901,
373
+ "check 5" => 901,
374
+ "check 6" => 901,
375
+ "check 7" => 3601,
376
+ "check 8" => 3601,
377
+ "check 9" => 3601,
378
+ "check 10" => 3601,
379
+ }
380
+ checks.each_pair {|check_name, age|
381
+ check = Flapjack::Data::EntityCheck.new(entity, check_name, :redis => redis)
382
+ check.update_state(Flapjack::Data::EntityCheck::STATE_OK, :timestamp => Time.new.to_i - age)
383
+ }
384
+ end
385
+
386
+ tear_down do
387
+ Flapjack::Gateways::JSONAPI.instance_variable_get('@logger').messages.clear
388
+ redis = Flapjack::Gateways::JSONAPI.instance_variable_get('@redis')
389
+ redis.flushdb
390
+ end
391
+ end
392
+
393
+ provider_state "flapjack has processed 0 ok, 1 failure, 2 ack, and 3 invalid events with 4 on the queue" do
394
+ set_up do
395
+ redis = Flapjack::Gateways::JSONAPI.instance_variable_get('@redis')
396
+ failure_event = {
397
+ 'type' => 'service',
398
+ 'state' => 'critical',
399
+ 'summary' => '50% packet loss',
400
+ 'entity' => 'foo-app-01.example',
401
+ 'check' => 'ping'
402
+ }
403
+
404
+ # fake out the metrics
405
+ redis.hmset('event_counters',
406
+ 'all' , 6,
407
+ 'ok' , 0,
408
+ 'failure' , 1,
409
+ 'action' , 2,
410
+ 'invalid' , 3
411
+ )
412
+
413
+ 4.times{ redis.lpush('events', Flapjack.dump_json(failure_event)) }
414
+ end
415
+
416
+ tear_down do
417
+ Flapjack::Gateways::JSONAPI.instance_variable_get('@logger').messages.clear
418
+ redis = Flapjack::Gateways::JSONAPI.instance_variable_get('@redis')
419
+ redis.flushdb
420
+ end
421
+ end
422
+
423
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flapjack
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lindsay Holmwood
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-03-13 00:00:00.000000000 Z
14
+ date: 2015-03-30 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: dante
@@ -635,9 +635,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
635
635
  version: '0'
636
636
  required_rubygems_version: !ruby/object:Gem::Requirement
637
637
  requirements:
638
- - - ">="
638
+ - - ">"
639
639
  - !ruby/object:Gem::Version
640
- version: '0'
640
+ version: 1.3.1
641
641
  requirements: []
642
642
  rubyforge_project:
643
643
  rubygems_version: 2.4.5