flapjack 0.7.2 → 0.7.3

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.
@@ -393,7 +393,7 @@ describe 'Flapjack::Gateways::API', :sinatra => true, :logger => true, :json =>
393
393
  Flapjack::Data::Entity.should_receive(:add).twice
394
394
 
395
395
  post "/entities", entities.to_json, {'CONTENT_TYPE' => 'application/json'}
396
- last_response.status.should == 200
396
+ last_response.status.should == 204
397
397
  end
398
398
 
399
399
  it "does not create entities if the data is improperly formatted" do
@@ -419,7 +419,7 @@ describe 'Flapjack::Gateways::API', :sinatra => true, :logger => true, :json =>
419
419
  Flapjack::Data::Entity.should_receive(:add)
420
420
 
421
421
  post "/entities", entities.to_json, {'CONTENT_TYPE' => 'application/json'}
422
- last_response.status.should == 200
422
+ last_response.status.should == 403
423
423
  end
424
424
 
425
425
  it "creates contacts from a submitted list" do
@@ -442,7 +442,7 @@ describe 'Flapjack::Gateways::API', :sinatra => true, :logger => true, :json =>
442
442
  Flapjack::Data::Contact.should_receive(:add).twice
443
443
 
444
444
  post "/contacts", contacts.to_json, {'CONTENT_TYPE' => 'application/json'}
445
- last_response.status.should == 200
445
+ last_response.status.should == 204
446
446
  end
447
447
 
448
448
  it "does not create contacts if the data is improperly formatted" do
@@ -472,7 +472,7 @@ describe 'Flapjack::Gateways::API', :sinatra => true, :logger => true, :json =>
472
472
  Flapjack::Data::Contact.should_receive(:add)
473
473
 
474
474
  post "/contacts", contacts.to_json, {'CONTENT_TYPE' => 'application/json'}
475
- last_response.status.should == 200
475
+ last_response.status.should == 204
476
476
  end
477
477
 
478
478
  it "updates a contact if it is already present" do
@@ -499,7 +499,7 @@ describe 'Flapjack::Gateways::API', :sinatra => true, :logger => true, :json =>
499
499
  Flapjack::Data::Contact.should_receive(:add).with(contacts['contacts'][0], :redis => redis)
500
500
 
501
501
  post "/contacts", contacts.to_json, {'CONTENT_TYPE' => 'application/json'}
502
- last_response.status.should == 200
502
+ last_response.status.should == 204
503
503
  end
504
504
 
505
505
  it "deletes a contact not found in a bulk update list" do
@@ -520,7 +520,7 @@ describe 'Flapjack::Gateways::API', :sinatra => true, :logger => true, :json =>
520
520
  Flapjack::Data::Contact.should_receive(:add).with(contacts['contacts'][0], :redis => redis)
521
521
 
522
522
  post "/contacts", contacts.to_json, {'CONTENT_TYPE' => 'application/json'}
523
- last_response.status.should == 200
523
+ last_response.status.should == 204
524
524
  end
525
525
 
526
526
  it "returns all the contacts" do
@@ -624,8 +624,6 @@ describe 'Flapjack::Gateways::API', :sinatra => true, :logger => true, :json =>
624
624
 
625
625
  it "does not create a notification_rule if a rule id is provided" do
626
626
  contact.should_not_receive(:add_notification_rule)
627
- Flapjack::Data::Contact.should_receive(:find_by_id).
628
- with(contact.id, :redis => redis).and_return(contact)
629
627
 
630
628
  post "/notification_rules", notification_rule_data.merge(:id => 1).to_json,
631
629
  {'CONTENT_TYPE' => 'application/json'}
@@ -646,7 +644,7 @@ describe 'Flapjack::Gateways::API', :sinatra => true, :logger => true, :json =>
646
644
  }
647
645
  notification_rule_data_sym.delete(:contact_id)
648
646
 
649
- notification_rule.should_receive(:update).with(notification_rule_data_sym)
647
+ notification_rule.should_receive(:update).with(notification_rule_data_sym).and_return(true)
650
648
 
651
649
  put "/notification_rules/#{notification_rule.id}", notification_rule_data.to_json,
652
650
  {'CONTENT_TYPE' => 'application/json'}
@@ -655,8 +653,6 @@ describe 'Flapjack::Gateways::API', :sinatra => true, :logger => true, :json =>
655
653
  end
656
654
 
657
655
  it "does not update a notification rule that's not present" do
658
- Flapjack::Data::Contact.should_receive(:find_by_id).
659
- with(contact.id, :redis => redis).and_return(contact)
660
656
  Flapjack::Data::NotificationRule.should_receive(:find_by_id).
661
657
  with(notification_rule.id, :redis => redis).and_return(nil)
662
658
 
@@ -665,6 +661,8 @@ describe 'Flapjack::Gateways::API', :sinatra => true, :logger => true, :json =>
665
661
  end
666
662
 
667
663
  it "does not update a notification_rule for a contact that's not present" do
664
+ Flapjack::Data::NotificationRule.should_receive(:find_by_id).
665
+ with(notification_rule.id, :redis => redis).and_return(notification_rule)
668
666
  Flapjack::Data::Contact.should_receive(:find_by_id).
669
667
  with(contact.id, :redis => redis).and_return(nil)
670
668
 
@@ -34,9 +34,7 @@ describe Flapjack::Gateways::Web, :sinatra => true, :logger => true do
34
34
  end
35
35
 
36
36
  def expect_stats
37
- redis.should_receive(:keys).with('*').and_return(['a', 'b', 'c'])
38
- redis.should_receive(:keys).with('check:*:*').and_return([])
39
- redis.should_receive(:zcard).with('failed_checks')
37
+ redis.should_receive(:dbsize).and_return(3)
40
38
  redis.should_receive(:keys).with('executive_instance:*').and_return(["executive_instance:foo-app-01"])
41
39
  redis.should_receive(:hget).twice.and_return(Time.now.to_i - 60)
42
40
  redis.should_receive(:hgetall).twice.and_return({'all' => '8001', 'ok' => '8002'},
@@ -44,6 +42,14 @@ describe Flapjack::Gateways::Web, :sinatra => true, :logger => true do
44
42
  redis.should_receive(:llen).with('events')
45
43
  end
46
44
 
45
+ def expect_check_stats
46
+ redis.should_receive(:keys).with('check:*:*').and_return([])
47
+ redis.should_receive(:zcard).with('failed_checks')
48
+ end
49
+
50
+ def expect_entity_stats
51
+ end
52
+
47
53
  def expect_entity_check_status(ec)
48
54
  time = Time.now.to_i
49
55
 
@@ -62,11 +68,8 @@ describe Flapjack::Gateways::Web, :sinatra => true, :logger => true do
62
68
 
63
69
  it "shows a page listing all checks" do
64
70
  redis.should_receive(:keys).with('*:*:states').and_return(["#{entity_name}:#{check}:states"])
65
- redis.should_receive(:keys).with('check:*').and_return(["#{entity_name}:#{check}:states"])
66
-
67
- expect_stats
68
71
 
69
- redis.should_receive(:zrange).with("failed_checks", 0, -1).and_return([])
72
+ expect_check_stats
70
73
 
71
74
  expect_entity_check_status(entity_check)
72
75
 
@@ -81,10 +84,9 @@ describe Flapjack::Gateways::Web, :sinatra => true, :logger => true do
81
84
  end
82
85
 
83
86
  it "shows a page listing failing checks" do
84
- redis.should_receive(:zrange).with('failed_checks', 0, -1).twice.and_return(["#{entity_name}:#{check}:states"])
85
- redis.should_receive(:keys).with('check:*').and_return(["#{entity_name}:#{check}:states"])
87
+ redis.should_receive(:zrange).with('failed_checks', 0, -1).and_return(["#{entity_name}:#{check}:states"])
86
88
 
87
- expect_stats
89
+ expect_check_stats
88
90
 
89
91
  expect_entity_check_status(entity_check)
90
92
 
@@ -101,6 +103,8 @@ describe Flapjack::Gateways::Web, :sinatra => true, :logger => true do
101
103
  redis.should_receive(:keys).with('check:*').and_return([])
102
104
  redis.should_receive(:zrange).with('failed_checks', 0, -1).and_return(["#{entity_name}:#{check}:states"])
103
105
  expect_stats
106
+ expect_check_stats
107
+ expect_entity_stats
104
108
 
105
109
  get '/self_stats'
106
110
  last_response.should be_ok
@@ -113,9 +117,7 @@ describe Flapjack::Gateways::Web, :sinatra => true, :logger => true do
113
117
  :recovery => time - (3 * 60 * 60),
114
118
  :acknowledgement => nil }
115
119
 
116
- expect_stats
117
- redis.should_receive(:keys).with('check:*').and_return([])
118
- redis.should_receive(:zrange).with('failed_checks', 0, -1).and_return([])
120
+ expect_check_stats
119
121
  entity_check.should_receive(:state).and_return('ok')
120
122
  entity_check.should_receive(:last_update).and_return(time - (3 * 60 * 60))
121
123
  entity_check.should_receive(:last_change).and_return(time - (3 * 60 * 60))
@@ -235,9 +237,6 @@ describe Flapjack::Gateways::Web, :sinatra => true, :logger => true do
235
237
 
236
238
  it "shows a list of all known contacts" do
237
239
  Flapjack::Data::Contact.should_receive(:all)
238
- redis.should_receive(:keys).with('check:*').and_return([])
239
- redis.should_receive(:zrange).with('failed_checks', 0, -1).and_return(["#{entity_name}:#{check}:states"])
240
- expect_stats
241
240
 
242
241
  get "/contacts"
243
242
  last_response.should be_ok
@@ -249,9 +248,6 @@ describe Flapjack::Gateways::Web, :sinatra => true, :logger => true do
249
248
  contact.should_receive(:media).exactly(3).times.and_return({})
250
249
  contact.should_receive(:entities).with(:checks => true).and_return([])
251
250
  contact.should_receive(:notification_rules).and_return([])
252
- redis.should_receive(:keys).with('check:*').and_return([])
253
- redis.should_receive(:zrange).with('failed_checks', 0, -1).and_return(["#{entity_name}:#{check}:states"])
254
- expect_stats
255
251
 
256
252
  Flapjack::Data::Contact.should_receive(:find_by_id).
257
253
  with('0362', :redis => redis).and_return(contact)
@@ -33,27 +33,6 @@ describe Flapjack::Pikelet do
33
33
  pik.start
34
34
  end
35
35
 
36
- it "handles an exception raised by a jabber pikelet" do
37
- Flapjack::Logger.should_receive(:new).and_return(logger)
38
- logger.should_receive(:fatal)
39
-
40
- config.should_receive(:[]).with('logger').and_return(nil)
41
-
42
- jabber = mock('jabber')
43
- jabber.should_receive(:start).and_raise(RuntimeError)
44
- jabber.should_receive(:stop)
45
- Flapjack::Gateways::Jabber.should_receive(:new).with(:config => config,
46
- :redis_config => redis_config, :logger => logger).and_return(jabber)
47
-
48
- fiber.should_receive(:resume)
49
- Fiber.should_receive(:new).and_yield.and_return(fiber)
50
-
51
- pik = Flapjack::Pikelet.create('jabber', :config => config,
52
- :redis_config => redis_config)
53
- pik.should be_a(Flapjack::Pikelet::Generic)
54
- pik.start
55
- end
56
-
57
36
  it "creates and starts a resque worker gateway" do
58
37
  Flapjack::Logger.should_receive(:new).and_return(logger)
59
38
 
@@ -85,48 +64,15 @@ describe Flapjack::Pikelet do
85
64
  pik.start
86
65
  end
87
66
 
88
-
89
- it "handles an exception raised by a resque worker gateway" do
90
-
91
- Flapjack::Logger.should_receive(:new).and_return(logger)
92
- logger.should_receive(:fatal)
93
-
94
- config.should_receive(:[]).with('logger').and_return(nil)
95
- config.should_receive(:[]).with('queue').and_return('email_notif')
96
-
97
- redis = mock('redis')
98
- Flapjack::RedisPool.should_receive(:new).and_return(redis)
99
- Resque.should_receive(:redis=).with( redis )
100
-
101
- Flapjack::Gateways::Email.should_receive(:instance_variable_set).
102
- with('@config', config)
103
- Flapjack::Gateways::Email.should_receive(:instance_variable_set).
104
- with('@redis_config', redis_config)
105
- Flapjack::Gateways::Email.should_receive(:instance_variable_set).
106
- with('@logger', logger)
107
-
108
- worker = mock('worker')
109
- worker.should_receive(:work).with(0.1).and_raise(RuntimeError)
110
- Flapjack::Gateways::Email.should_receive(:start)
111
- Flapjack::Gateways::Email.should_receive(:stop)
112
- EM::Resque::Worker.should_receive(:new).with('email_notif').and_return(worker)
113
-
114
- fiber.should_receive(:resume)
115
- Fiber.should_receive(:new).and_yield.and_return(fiber)
116
-
117
- pik = Flapjack::Pikelet.create('email', :config => config,
118
- :redis_config => redis_config)
119
- pik.should be_a(Flapjack::Pikelet::Resque)
120
- pik.start
121
- end
122
-
123
67
  it "creates a thin server gateway" do
124
68
  Flapjack::Logger.should_receive(:new).and_return(logger)
125
69
 
126
70
  config.should_receive(:[]).with('logger').and_return(nil)
127
71
  config.should_receive(:[]).with('port').and_return(7654)
72
+ config.should_receive(:[]).with('timeout').and_return(90)
128
73
 
129
74
  server = mock('server')
75
+ server.should_receive(:timeout=).with(90)
130
76
  server.should_receive(:start)
131
77
  Thin::Server.should_receive(:new).
132
78
  with(/^(?:\d{1,3}\.){3}\d{1,3}$/, 7654,
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: 0.7.2
4
+ version: 0.7.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-05-06 00:00:00.000000000 Z
14
+ date: 2013-05-14 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: dante
@@ -551,12 +551,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
551
551
  - - ! '>='
552
552
  - !ruby/object:Gem::Version
553
553
  version: '0'
554
+ segments:
555
+ - 0
556
+ hash: 2332608677203659919
554
557
  required_rubygems_version: !ruby/object:Gem::Requirement
555
558
  none: false
556
559
  requirements:
557
560
  - - ! '>='
558
561
  - !ruby/object:Gem::Version
559
562
  version: '0'
563
+ segments:
564
+ - 0
565
+ hash: 2332608677203659919
560
566
  requirements: []
561
567
  rubyforge_project:
562
568
  rubygems_version: 1.8.23