easymon 1.4.2 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- o: ActiveSupport::Cache::Entry : @valuei:
1
+ o: ActiveSupport::Cache::Entry : @valuei:
data/test/test_helper.rb CHANGED
@@ -34,4 +34,4 @@ end
34
34
 
35
35
  # setting up mocha *after* we load the test libraries as per
36
36
  # http://gofreerange.com/mocha/docs/
37
- require 'mocha/mini_test'
37
+ require 'mocha/minitest'
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+ class ActiveRecordMysqlWriteableCheckTest < ActiveSupport::TestCase
4
+
5
+ test "#check returns a successful result on a good run" do
6
+ check = create_check
7
+ results = check.check
8
+
9
+ assert_equal(true, results[0])
10
+ assert_equal("@@read_only is 0", results[1])
11
+ end
12
+
13
+ test "#check returns a failed result on a failed run" do
14
+ # Return a mock'd object that responds to .entries that returns [[0]]
15
+ ActiveRecord::Base.connection.stubs(:execute).returns(mock().stubs(:entries).returns([[1]]))
16
+ check = create_check
17
+ results = check.check
18
+
19
+ assert_equal(false, results[0])
20
+ assert_equal("@@read_only is 1", results[1])
21
+ end
22
+
23
+ private
24
+ def create_check
25
+ Easymon::ActiveRecordMysqlWriteableCheck.new(ActiveRecord::Base)
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ require 'test_helper'
2
+
3
+ class RedisWriteableCheckTest < ActiveSupport::TestCase
4
+
5
+ test "#run sets success conditions on successful run" do
6
+ Redis.any_instance.stubs(:set).returns("OK")
7
+ check = create_check
8
+ results = check.check
9
+
10
+ assert_equal("Writeable", results[1])
11
+ assert_equal(true, results[0])
12
+ end
13
+
14
+ test "#run sets failure conditions on a failed run" do
15
+ Redis.any_instance.stubs(:set).raises(Redis::ConnectionError.new)
16
+ check = create_check
17
+ results = check.check
18
+
19
+ assert_equal("Read Only", results[1])
20
+ assert_equal(false, results[0])
21
+ end
22
+
23
+ private
24
+ def create_check
25
+ # Get us a config hash from disk in this case
26
+ Easymon::RedisWriteableCheck.new(YAML.load_file(Rails.root.join("config/redis.yml"))[Rails.env].symbolize_keys)
27
+ end
28
+ end
@@ -3,50 +3,50 @@ require 'test_helper'
3
3
  class SplitActiveRecordCheckTest < ActiveSupport::TestCase
4
4
 
5
5
  test "#run sets success conditions on successful run" do
6
- master = ActiveRecord::Base.connection
6
+ primary = ActiveRecord::Base.connection
7
7
  Easymon::Base.establish_connection
8
- slave = Easymon::Base.connection
8
+ replica = Easymon::Base.connection
9
9
 
10
- check = Easymon::SplitActiveRecordCheck.new { [master, slave] }
10
+ check = Easymon::SplitActiveRecordCheck.new { [primary, replica] }
11
11
 
12
12
  results = check.check
13
13
 
14
- assert_equal("Master: Up - Slave: Up", results[1])
14
+ assert_equal("Primary: Up - Replica: Up", results[1])
15
15
  assert_equal(true, results[0])
16
16
  end
17
17
 
18
- test "#run sets failed conditions when slave is down" do
19
- master = ActiveRecord::Base.connection
18
+ test "#run sets failed conditions when replica is down" do
19
+ primary = ActiveRecord::Base.connection
20
20
  Easymon::Base.establish_connection
21
- slave = Easymon::Base.connection
21
+ replica = Easymon::Base.connection
22
22
 
23
- slave.stubs(:active?).raises("boom")
23
+ replica.stubs(:active?).raises("boom")
24
24
 
25
- check = Easymon::SplitActiveRecordCheck.new { [master, slave] }
25
+ check = Easymon::SplitActiveRecordCheck.new { [primary, replica] }
26
26
  results = check.check
27
27
 
28
- assert_equal("Master: Up - Slave: Down", results[1])
28
+ assert_equal("Primary: Up - Replica: Down", results[1])
29
29
  assert_equal(false, results[0])
30
30
  end
31
31
 
32
- test "#run sets failed conditions when master is down" do
33
- master = ActiveRecord::Base.connection
32
+ test "#run sets failed conditions when primary is down" do
33
+ primary = ActiveRecord::Base.connection
34
34
  Easymon::Base.establish_connection
35
- slave = Easymon::Base.connection
35
+ replica = Easymon::Base.connection
36
36
 
37
- master.stubs(:active?).raises("boom")
37
+ primary.stubs(:active?).raises("boom")
38
38
 
39
- check = Easymon::SplitActiveRecordCheck.new { [master, slave] }
39
+ check = Easymon::SplitActiveRecordCheck.new { [primary, replica] }
40
40
  results = check.check
41
41
 
42
- assert_equal("Master: Down - Slave: Up", results[1])
42
+ assert_equal("Primary: Down - Replica: Up", results[1])
43
43
  assert_equal(false, results[0])
44
44
  end
45
45
 
46
46
  test "given nil as a config" do
47
47
  check = Easymon::SplitActiveRecordCheck.new { }
48
48
  results = check.check
49
- assert_equal("Master: Down - Slave: Down", results[1])
49
+ assert_equal("Primary: Down - Replica: Down", results[1])
50
50
  assert_equal(false, results[0])
51
51
  end
52
52
  end
@@ -63,8 +63,8 @@ module Easymon
63
63
  end
64
64
 
65
65
  def database_configuration
66
- env = "#{Rails.env}_slave"
67
- config = YAML.load_file(Rails.root.join('config/database.yml'))[env]
66
+ env = "#{Rails.env}_replica"
67
+ YAML.load_file(Rails.root.join('config/database.yml'))[env]
68
68
  end
69
69
  end
70
70
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easymon
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Anderson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-23 00:00:00.000000000 Z
11
+ date: 2022-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -70,28 +70,28 @@ dependencies:
70
70
  requirements:
71
71
  - - "~>"
72
72
  - !ruby/object:Gem::Version
73
- version: '0.18'
73
+ version: '1.2'
74
74
  type: :development
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - "~>"
79
79
  - !ruby/object:Gem::Version
80
- version: '0.18'
80
+ version: '1.2'
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: mocha
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - "~>"
86
86
  - !ruby/object:Gem::Version
87
- version: '1.1'
87
+ version: '1.11'
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - "~>"
93
93
  - !ruby/object:Gem::Version
94
- version: '1.1'
94
+ version: '1.11'
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: dalli
97
97
  requirement: !ruby/object:Gem::Requirement
@@ -125,9 +125,11 @@ files:
125
125
  - lib/easymon.rb
126
126
  - lib/easymon/checklist.rb
127
127
  - lib/easymon/checks/active_record_check.rb
128
+ - lib/easymon/checks/active_record_mysql_writeable_check.rb
128
129
  - lib/easymon/checks/http_check.rb
129
130
  - lib/easymon/checks/memcached_check.rb
130
131
  - lib/easymon/checks/redis_check.rb
132
+ - lib/easymon/checks/redis_writeable_check.rb
131
133
  - lib/easymon/checks/semaphore_check.rb
132
134
  - lib/easymon/checks/split_active_record_check.rb
133
135
  - lib/easymon/checks/traffic_enabled_check.rb
@@ -140,6 +142,7 @@ files:
140
142
  - test/controllers/easymon/checks_controller_test.rb
141
143
  - test/dummy/README.rdoc
142
144
  - test/dummy/Rakefile
145
+ - test/dummy/app/assets/config/manifest.js
143
146
  - test/dummy/app/assets/javascripts/application.js
144
147
  - test/dummy/app/assets/javascripts/easymon.js
145
148
  - test/dummy/app/assets/stylesheets/application.css
@@ -171,6 +174,7 @@ files:
171
174
  - test/dummy/config/memcached.yml
172
175
  - test/dummy/config/redis.yml
173
176
  - test/dummy/config/routes.rb
177
+ - test/dummy/config/storage.yml
174
178
  - test/dummy/log/development.log
175
179
  - test/dummy/log/test.log
176
180
  - test/dummy/public/404.html
@@ -185,9 +189,11 @@ files:
185
189
  - test/unit/checklist_test.rb
186
190
  - test/unit/checks/active_record_check_on_postgresql_test.rb
187
191
  - test/unit/checks/active_record_check_test.rb
192
+ - test/unit/checks/active_record_mysql_writeable_check_test.rb
188
193
  - test/unit/checks/http_check_test.rb
189
194
  - test/unit/checks/memcached_check_test.rb
190
195
  - test/unit/checks/redis_check_test.rb
196
+ - test/unit/checks/redis_writeable_check_test.rb
191
197
  - test/unit/checks/semaphore_check_test.rb
192
198
  - test/unit/checks/split_active_record_check_test.rb
193
199
  - test/unit/checks/traffic_enabled_check_test.rb
@@ -211,14 +217,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
211
217
  - !ruby/object:Gem::Version
212
218
  version: '0'
213
219
  requirements: []
214
- rubyforge_project:
215
- rubygems_version: 2.7.6
220
+ rubygems_version: 3.1.6
216
221
  signing_key:
217
222
  specification_version: 4
218
223
  summary: Simple availability checks for your rails app
219
224
  test_files:
220
225
  - test/unit/checks/memcached_check_test.rb
221
226
  - test/unit/checks/http_check_test.rb
227
+ - test/unit/checks/active_record_mysql_writeable_check_test.rb
228
+ - test/unit/checks/redis_writeable_check_test.rb
222
229
  - test/unit/checks/semaphore_check_test.rb
223
230
  - test/unit/checks/active_record_check_test.rb
224
231
  - test/unit/checks/active_record_check_on_postgresql_test.rb
@@ -232,6 +239,7 @@ test_files:
232
239
  - test/dummy/app/views/easymon/index.html.erb
233
240
  - test/dummy/app/views/easymon/show.html.erb
234
241
  - test/dummy/app/views/layouts/application.html.erb
242
+ - test/dummy/app/assets/config/manifest.js
235
243
  - test/dummy/app/assets/javascripts/easymon.js
236
244
  - test/dummy/app/assets/javascripts/application.js
237
245
  - test/dummy/app/assets/stylesheets/application.css
@@ -245,6 +253,7 @@ test_files:
245
253
  - test/dummy/config/environments/test.rb
246
254
  - test/dummy/config/environment.rb
247
255
  - test/dummy/config/redis.yml
256
+ - test/dummy/config/storage.yml
248
257
  - test/dummy/config/application.rb
249
258
  - test/dummy/config/memcached.yml
250
259
  - test/dummy/config/database.yml