copperegg-apm 1.0.0.pre11 → 1.0.0.pre12

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0e3868f8c2d86ea09b507987e52a6c29eac450bf
4
- data.tar.gz: bf9a9ab59c8476e7714967f29119ff8a4516fbe6
3
+ metadata.gz: e4313fab8e77ab385dea7347df5a08b45afac975
4
+ data.tar.gz: 6a609b051cf3944274e61b6c9952bf88f8c7b8fe
5
5
  SHA512:
6
- metadata.gz: 9964cf7f797aec7b2bf30ad20edcbe6e38babcce34d058a087c67b9bbacc20dc39598ae5f71dd7337d59659f5f9ebcb0cd39312a364e82da1d9c5b46215f9232
7
- data.tar.gz: 216c2890bc3ea494d43979a9d4eacade6914d65c33274e236d11627fafb709c6d2d1ba47cce0ed34e64b9867c8d88ecf245fc1a48833dd5d2e89595cd2a5ea62
6
+ metadata.gz: 94840a8bfcc2ea8f9ce4fc4136f215874a91581401b2a079735a5fdf8678ff082488a09d22fc4fefbf2627ac5cbf6f4c4f1611c0fc52e46f6827ae3676691d7b
7
+ data.tar.gz: 8541bada34ccf547940bb757423f02659c60f3f1ec62d61bb7017eee973eab870219494c73a9b475cd0ace8978eed2b1ef2ec14a23e6d5481bb6f53425c9edf8
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- copperegg-apm (1.0.0.pre11)
4
+ copperegg-apm (1.0.0.pre12)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -94,6 +94,7 @@ DEPENDENCIES
94
94
  mysql (~> 2.9)
95
95
  mysql2 (~> 0.2)
96
96
  pg (~> 0.9)
97
+ rack-test (~> 0.6)
97
98
  rake (~> 10.0.0)
98
99
  rest-client (~> 1.6)
99
100
  rspec (~> 2.11.0)
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.add_development_dependency 'rake', '~> 10.0.0'
23
23
  s.add_development_dependency 'rspec', '~> 2.11.0'
24
24
  s.add_development_dependency 'rspec-rails', '~> 2.0'
25
+ s.add_development_dependency 'rack-test', '~> 0.6'
25
26
  s.add_development_dependency 'actionpack', '~> 3.0'
26
27
  s.add_development_dependency 'faker', '~> 1.1.2'
27
28
  s.add_development_dependency 'mysql', '~> 2.9'
Binary file
@@ -9,12 +9,10 @@ module CopperEgg
9
9
  end
10
10
 
11
11
  def call(env)
12
- begin
13
12
  @app.call(env)
14
- rescue Exception => e
15
- CopperEgg::APM.capture_exception(e)
16
- raise e
17
- end
13
+ rescue Exception => e
14
+ CopperEgg::APM.capture_exception(e)
15
+ raise e
18
16
  end
19
17
  end
20
18
  end
@@ -1,5 +1,5 @@
1
1
  module CopperEgg
2
2
  module APM
3
- GEM_VERSION = '1.0.0.pre11' unless defined? GEM_VERSION
3
+ GEM_VERSION = '1.0.0.pre12' unless defined? GEM_VERSION
4
4
  end
5
5
  end
@@ -0,0 +1,39 @@
1
+ # Props to @relishapp (http://www.relishapp.com/rspec/rspec-rails/docs/controller-specs/anonymous-controller) and
2
+ # @AlexandrZaytsev (http://say26.com/rspec-testing-controllers-outside-of-a-rails-application) for their helpful blog posts
3
+ require File.dirname(__FILE__) + '/helpers/rails'
4
+ require 'spec_helper'
5
+ require 'rack/test'
6
+
7
+ RSpec.configure do |c|
8
+ c.infer_base_class_for_anonymous_controllers = true
9
+ end
10
+
11
+ class ApplicationController < ActionController::Base
12
+ include Rails.application.routes.url_helpers
13
+ include Rack::Test::Methods
14
+ end
15
+
16
+ class ExceptionController < ApplicationController; end
17
+
18
+ describe ExceptionController, :type => :controller do
19
+ controller(ExceptionController) do
20
+ def index
21
+ @count = 1/0
22
+ end
23
+ end
24
+
25
+ it "should instrument all exceptions not rescued" do
26
+ expect { get :index, {:id => 1, :sort => "name"} }.to raise_error
27
+
28
+ # last_payload = CopperEgg::APM.send(:class_variable_get, :@@payload_cache).split("\x00").select {|i| i.size > 2}.map {|i| i.sub(/^[^\{]+/,'')}.last
29
+ # hash = JSON.parse last_payload
30
+
31
+ # expect(hash.keys.sort).to eq ["excp", "id"]
32
+ # expect(hash["id"]).to match(/\A[0-1a-z]{16}\z/i)
33
+ # expect(hash["excp"].keys.sort).to eq ["error", "stacktrace", "ts"]
34
+ # expect(hash["excp"]["error"]).to match(/\AZeroDivisionError\|/)
35
+ # expect(hash["excp"]["error"]).to match(/\{Ruby\}\Z/)
36
+ # expect(hash["excp"]["stacktrace"]).to match(/\Adivided by 0\n/)
37
+ # expect(hash["excp"]["ts"]).to be_an_instance_of(Fixnum)
38
+ end
39
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: copperegg-apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre11
4
+ version: 1.0.0.pre12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Bradford
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rack-test
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '0.6'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '0.6'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: actionpack
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -222,6 +236,7 @@ files:
222
236
  - ./README.md
223
237
  - ./screenshot01.png
224
238
  - ./screenshot02.png
239
+ - ./spec/action_controller_spec.rb
225
240
  - ./spec/apm_spec.rb
226
241
  - ./spec/ethon_spec.rb
227
242
  - ./spec/helpers/mysql2_setup.rb
@@ -241,6 +256,7 @@ files:
241
256
  - README.md
242
257
  - Rakefile
243
258
  - copperegg-apm.gemspec
259
+ - spec/action_controller_spec.rb
244
260
  - spec/apm_spec.rb
245
261
  - spec/ethon_spec.rb
246
262
  - spec/helpers/mysql2_setup.rb
@@ -288,8 +304,9 @@ rubyforge_project:
288
304
  rubygems_version: 2.0.3
289
305
  signing_key:
290
306
  specification_version: 4
291
- summary: copperegg-apm-1.0.0.pre11
307
+ summary: copperegg-apm-1.0.0.pre12
292
308
  test_files:
309
+ - spec/action_controller_spec.rb
293
310
  - spec/apm_spec.rb
294
311
  - spec/ethon_spec.rb
295
312
  - spec/helpers/mysql2_setup.rb