appsignal 2.9.18.beta.1 → 2.10.6.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +0 -6
  3. data/.semaphore/semaphore.yml +964 -0
  4. data/CHANGELOG.md +48 -1
  5. data/README.md +1 -1
  6. data/Rakefile +82 -23
  7. data/appsignal.gemspec +5 -2
  8. data/build_matrix.yml +100 -52
  9. data/ext/agent.yml +19 -19
  10. data/gemfiles/capistrano2.gemfile +0 -5
  11. data/gemfiles/capistrano3.gemfile +0 -5
  12. data/gemfiles/grape.gemfile +0 -5
  13. data/gemfiles/no_dependencies.gemfile +0 -5
  14. data/gemfiles/padrino.gemfile +0 -6
  15. data/gemfiles/que.gemfile +0 -5
  16. data/gemfiles/que_beta.gemfile +0 -5
  17. data/gemfiles/rails-3.2.gemfile +0 -5
  18. data/gemfiles/rails-4.0.gemfile +0 -5
  19. data/gemfiles/rails-4.1.gemfile +0 -5
  20. data/gemfiles/rails-4.2.gemfile +0 -5
  21. data/gemfiles/resque.gemfile +0 -6
  22. data/lib/appsignal.rb +10 -7
  23. data/lib/appsignal/cli.rb +9 -2
  24. data/lib/appsignal/cli/diagnose.rb +21 -20
  25. data/lib/appsignal/cli/helpers.rb +22 -10
  26. data/lib/appsignal/cli/install.rb +2 -1
  27. data/lib/appsignal/cli/notify_of_deploy.rb +1 -1
  28. data/lib/appsignal/config.rb +23 -9
  29. data/lib/appsignal/event_formatter.rb +5 -6
  30. data/lib/appsignal/hooks/net_http.rb +13 -8
  31. data/lib/appsignal/integrations/grape.rb +2 -1
  32. data/lib/appsignal/integrations/net_http.rb +16 -0
  33. data/lib/appsignal/logger.rb +22 -0
  34. data/lib/appsignal/minutely.rb +5 -6
  35. data/lib/appsignal/rack/js_exception_catcher.rb +5 -0
  36. data/lib/appsignal/system.rb +6 -0
  37. data/lib/appsignal/transaction.rb +8 -3
  38. data/lib/appsignal/transmitter.rb +0 -1
  39. data/lib/appsignal/utils/deprecation_message.rb +2 -2
  40. data/lib/appsignal/version.rb +1 -1
  41. data/resources/cacert.pem +1404 -1804
  42. data/spec/lib/appsignal/auth_check_spec.rb +1 -1
  43. data/spec/lib/appsignal/cli/diagnose_spec.rb +54 -11
  44. data/spec/lib/appsignal/cli/helpers_spec.rb +11 -3
  45. data/spec/lib/appsignal/cli/install_spec.rb +30 -1
  46. data/spec/lib/appsignal/cli/notify_of_deploy_spec.rb +4 -2
  47. data/spec/lib/appsignal/config_spec.rb +85 -14
  48. data/spec/lib/appsignal/event_formatter_spec.rb +5 -4
  49. data/spec/lib/appsignal/hooks/action_cable_spec.rb +1 -5
  50. data/spec/lib/appsignal/hooks/rake_spec.rb +41 -39
  51. data/spec/lib/appsignal/hooks/sidekiq_spec.rb +2 -15
  52. data/spec/lib/appsignal/integrations/grape_spec.rb +10 -0
  53. data/spec/lib/appsignal/integrations/object_spec.rb +2 -2
  54. data/spec/lib/appsignal/integrations/que_spec.rb +26 -39
  55. data/spec/lib/appsignal/integrations/resque_active_job_spec.rb +108 -46
  56. data/spec/lib/appsignal/integrations/resque_spec.rb +40 -39
  57. data/spec/lib/appsignal/logger_spec.rb +25 -0
  58. data/spec/lib/appsignal/minutely_spec.rb +7 -7
  59. data/spec/lib/appsignal/rack/js_exception_catcher_spec.rb +23 -5
  60. data/spec/lib/appsignal/system_spec.rb +36 -0
  61. data/spec/lib/appsignal/transaction_spec.rb +37 -26
  62. data/spec/lib/appsignal/transmitter_spec.rb +3 -1
  63. data/spec/lib/appsignal_spec.rb +13 -10
  64. data/spec/spec_helper.rb +26 -12
  65. data/spec/support/fixtures/projects/broken/config/appsignal.yml +1 -0
  66. data/spec/support/helpers/cli_helpers.rb +15 -1
  67. data/spec/support/helpers/log_helpers.rb +13 -6
  68. data/spec/support/helpers/transaction_helpers.rb +53 -0
  69. data/spec/support/helpers/wait_for_helper.rb +2 -2
  70. data/spec/support/matchers/be_completed.rb +5 -0
  71. data/spec/support/matchers/have_colorized_text.rb +28 -0
  72. data/spec/support/testing.rb +113 -0
  73. data/support/check_versions +22 -0
  74. data/support/install_deps +9 -4
  75. metadata +32 -19
  76. data/.travis.yml +0 -149
@@ -9,7 +9,6 @@ Bundler.require :default
9
9
  require "cgi"
10
10
  require "rack"
11
11
  require "rspec"
12
- require "pry"
13
12
  require "timecop"
14
13
  require "webmock/rspec"
15
14
 
@@ -30,17 +29,11 @@ if DependencyHelper.rails_present?
30
29
  require f
31
30
  end
32
31
  end
32
+ require "pry" if DependencyHelper.dependency_present?("pry")
33
33
  require "appsignal"
34
-
35
- module Appsignal
36
- class << self
37
- remove_method :testing?
38
-
39
- def testing?
40
- true
41
- end
42
- end
43
- end
34
+ # Include patches of AppSignal modules and classes to make test helpers
35
+ # available.
36
+ require File.join(DirectoryHelper.support_dir, "testing.rb")
44
37
 
45
38
  puts "Running specs in #{RUBY_VERSION} on #{RUBY_PLATFORM}\n\n"
46
39
 
@@ -72,6 +65,12 @@ RSpec.configure do |config|
72
65
 
73
66
  config.example_status_persistence_file_path = "spec/examples.txt"
74
67
  config.fail_if_no_examples = true
68
+ config.mock_with :rspec do |mocks|
69
+ mocks.syntax = :expect
70
+ end
71
+ config.expect_with :rspec do |expectations|
72
+ expectations.syntax = :expect
73
+ end
75
74
 
76
75
  def spec_system_tmp_dir
77
76
  File.join(tmp_dir, "system-tmp")
@@ -82,6 +81,20 @@ RSpec.configure do |config|
82
81
  FileUtils.mkdir_p(spec_system_tmp_dir)
83
82
  end
84
83
 
84
+ config.before :each, :only_ruby19 => true do
85
+ is_ruby19 = Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.0.0")
86
+ next if is_ruby19
87
+
88
+ skip "Skipping spec. Only for Ruby 1.9"
89
+ end
90
+
91
+ config.before :each, :not_ruby19 => true do
92
+ is_ruby19 = Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.0.0")
93
+ next unless is_ruby19
94
+
95
+ skip "Skipping spec for Ruby 1.9"
96
+ end
97
+
85
98
  config.before do
86
99
  stop_minutely_probes
87
100
  ENV["RAILS_ENV"] ||= "test"
@@ -114,7 +127,8 @@ RSpec.configure do |config|
114
127
  end
115
128
 
116
129
  config.after do
117
- Thread.current[:appsignal_transaction] = nil
130
+ Appsignal::Testing.clear!
131
+ clear_current_transaction!
118
132
  stop_minutely_probes
119
133
  end
120
134
 
@@ -0,0 +1 @@
1
+ <%= ENV.fetch("I AM A KEY THAT DOES NOT EXIST") %>
@@ -1,3 +1,5 @@
1
+ require "appsignal/cli/helpers"
2
+
1
3
  module CLIHelpers
2
4
  def cli
3
5
  Appsignal::CLI
@@ -10,7 +12,7 @@ module CLIHelpers
10
12
  def format_cli_arguments_and_options(command, options = {})
11
13
  [*command].tap do |o|
12
14
  options.each do |key, value|
13
- o << "--#{key}=#{value}"
15
+ o << (value.nil? ? "--#{key}" : "--#{key}=#{value}")
14
16
  end
15
17
  end
16
18
  end
@@ -23,4 +25,16 @@ module CLIHelpers
23
25
  # Prepare the input by rewinding the pointer in the StringIO
24
26
  $stdin.rewind
25
27
  end
28
+
29
+ def colorize(*args)
30
+ ColorizeHelper.colorize(*args)
31
+ end
32
+ end
33
+
34
+ module ColorizeHelper
35
+ extend Appsignal::CLI::Helpers
36
+
37
+ def self.colorize(*_args)
38
+ super
39
+ end
26
40
  end
@@ -12,15 +12,22 @@ module LogHelpers
12
12
  end
13
13
 
14
14
  def test_logger(log)
15
- Logger.new(log).tap do |logger|
16
- logger.formatter =
17
- proc do |severity, _datetime, _progname, msg|
18
- # This format is used in the `contains_log` matcher.
19
- "[#{severity}] #{msg}\n"
20
- end
15
+ Appsignal::Logger.new(log).tap do |logger|
16
+ logger.formatter = logger_formatter
21
17
  end
22
18
  end
23
19
 
20
+ def logger_formatter
21
+ proc do |severity, _datetime, _progname, msg|
22
+ log_line(severity, msg)
23
+ end
24
+ end
25
+
26
+ def log_line(severity, message)
27
+ # This format is used in the `contains_log` matcher.
28
+ "[#{severity}] #{message}\n"
29
+ end
30
+
24
31
  def log_contents(log)
25
32
  log.rewind
26
33
  log.read
@@ -29,9 +29,62 @@ module TransactionHelpers
29
29
  )
30
30
  end
31
31
 
32
+ # Returns the all {Appsignal::Transaction} objects created during this test
33
+ # run so far.
34
+ #
35
+ # @return [Array<Appsignal::Transaction>]
36
+ def created_transactions
37
+ Appsignal::Testing.transactions
38
+ end
39
+
40
+ # Returns the last created {Appsignal::Transaction}.
41
+ #
42
+ # @return [Appsignal::Transaction]
43
+ def last_transaction
44
+ created_transactions.last
45
+ end
46
+
32
47
  # Use when {Appsignal::Transaction.clear_current_transaction!} is stubbed to
33
48
  # clear the current transaction on the current thread.
34
49
  def clear_current_transaction!
35
50
  Thread.current[:appsignal_transaction] = nil
36
51
  end
52
+
53
+ # Track the AppSignal transaction JSON when a transaction gets completed
54
+ # ({Appsignal::Transaction.complete}).
55
+ #
56
+ # It will also add sample data to the transaction when it gets completed.
57
+ # This can be disabled by setting the `sample` option to `false`.
58
+ #
59
+ # It will be tracked for every transaction that is started inside the
60
+ # `keep_transactions` block.
61
+ #
62
+ # @example Keep a transaction while also adding sample data
63
+ # keep_transactions do
64
+ # transaction = Appsignal::Transaction.new(...)
65
+ # transaction.complete
66
+ # transaction.to_h # => Hash with transaction data before it was completed
67
+ # end
68
+ #
69
+ # @example Keep a transaction without adding sample data
70
+ # keep_transactions :sample => false do
71
+ # transaction = Appsignal::Transaction.new(...)
72
+ # transaction.complete
73
+ # transaction.to_h
74
+ # # => Hash with transaction data before it was completed with an empty
75
+ # # Hash for the `sample_data` key.
76
+ # end
77
+ #
78
+ # @yield block to perform while the transactions are tracked.
79
+ # @param options [Hash]
80
+ # @option options [Boolean] :sample Whether or not to sample transactions.
81
+ # @return [Object] returns the block return value.
82
+ def keep_transactions(options = {})
83
+ Appsignal::Testing.keep_transactions = true
84
+ Appsignal::Testing.sample_transactions = options.fetch(:sample, true)
85
+ yield
86
+ ensure
87
+ Appsignal::Testing.keep_transactions = nil
88
+ Appsignal::Testing.sample_transactions = nil
89
+ end
37
90
  end
@@ -16,13 +16,13 @@ module WaitForHelper
16
16
  def wait_for(name)
17
17
  max_wait = 5_000
18
18
  i = 0
19
- while i <= max_wait
19
+ while i < max_wait
20
20
  break if yield
21
21
  i += 1
22
22
  sleep 0.001
23
23
  end
24
24
 
25
- return unless i == max_wait
25
+ return unless i >= max_wait
26
26
  raise "Waited 5 seconds for #{name} condition, but was not met."
27
27
  end
28
28
  end
@@ -0,0 +1,5 @@
1
+ RSpec::Matchers.define :be_completed do
2
+ match do |transaction|
3
+ values_match? transaction.ext._completed?, true
4
+ end
5
+ end
@@ -0,0 +1,28 @@
1
+ RSpec::Matchers.define :have_colorized_text do |color, text|
2
+ match do |actual|
3
+ color_codes = Appsignal::CLI::Helpers::COLOR_CODES
4
+ reset_color_code = color_codes.fetch(:default)
5
+ color_code = color_codes.fetch(color)
6
+
7
+ @expected = "\e[#{color_code}m#{text}\e[#{reset_color_code}m"
8
+ expect(actual).to include(@expected)
9
+ end
10
+
11
+ diffable
12
+ attr_reader :expected
13
+ end
14
+
15
+ COLOR_TAG_MATCHER_REGEX = /\e\[(\d+)m/
16
+ RSpec::Matchers.define :have_color_markers do
17
+ match do |actual|
18
+ actual =~ COLOR_TAG_MATCHER_REGEX
19
+ end
20
+
21
+ failure_message do
22
+ "expected that output contains color markers: /\\e[\\d+m/"
23
+ end
24
+
25
+ failure_message_when_negated do
26
+ "expected that output does not contain color markers: /\\e[\\d+m/"
27
+ end
28
+ end
@@ -0,0 +1,113 @@
1
+ module Appsignal
2
+ class << self
3
+ remove_method :testing?
4
+
5
+ # @api private
6
+ def testing?
7
+ true
8
+ end
9
+ end
10
+
11
+ # @api private
12
+ module Testing
13
+ class << self
14
+ def transactions
15
+ @transactions ||= []
16
+ end
17
+
18
+ def clear!
19
+ transactions.clear
20
+ end
21
+
22
+ attr_writer :keep_transactions
23
+ # @see TransactionHelpers#keep_transactions
24
+ def keep_transactions?
25
+ defined?(@keep_transactions) ? @keep_transactions : nil
26
+ end
27
+
28
+ attr_writer :sample_transactions
29
+ # @see TransactionHelpers#keep_transactions
30
+ def sample_transactions?
31
+ sample = defined?(@sample_transactions) ? @sample_transactions : nil
32
+ if sample.nil?
33
+ keep_transactions?
34
+ else
35
+ @sample_transactions
36
+ end
37
+ end
38
+ end
39
+ end
40
+
41
+ class Transaction
42
+ class << self
43
+ alias original_new new
44
+
45
+ # Override the {Appsignal::Transaction.new} method so we can track which
46
+ # transactions are created on the {Appsignal::Testing.transactions} list.
47
+ #
48
+ # @see TransactionHelpers#last_transaction
49
+ def new(*args)
50
+ transaction = original_new(*args)
51
+ Appsignal::Testing.transactions << transaction
52
+ transaction
53
+ end
54
+ end
55
+ end
56
+
57
+ class Extension
58
+ class Transaction
59
+ alias original_finish finish
60
+
61
+ # Override default {Extension::Transaction#finish} behavior to always
62
+ # return true, which tells the transaction to add its sample data (unless
63
+ # used in combination with {TransactionHelpers#keep_transactions}
64
+ # `:sample => false`). This allows us to use
65
+ # {Appsignal::Transaction#to_h} without relying on the extension sampling
66
+ # behavior.
67
+ #
68
+ # @see TransactionHelpers#keep_transactions
69
+ def finish(*args)
70
+ return_value = original_finish(*args)
71
+ return_value = true if Appsignal::Testing.sample_transactions?
72
+ return_value
73
+ end
74
+
75
+ alias original_complete complete
76
+
77
+ # Override default {Extension::Transaction#complete} behavior to
78
+ # store the transaction JSON before the transaction is completed
79
+ # and it's no longer possible to request the transaction JSON.
80
+ #
81
+ # @see TransactionHelpers#keep_transactions
82
+ # @see #_completed?
83
+ def complete
84
+ @completed = true # see {#_completed?} method
85
+ @transaction_json = to_json if Appsignal::Testing.keep_transactions?
86
+ original_complete
87
+ end
88
+
89
+ # Returns true when the Transaction was completed.
90
+ # {Appsignal::Extension::Transaction.complete} was called.
91
+ #
92
+ # @return [Boolean] returns if the transaction was completed.
93
+ def _completed?
94
+ @completed || false
95
+ end
96
+
97
+ alias original_to_json to_json
98
+
99
+ # Override default {Extension::Transaction#to_json} behavior to
100
+ # return the stored the transaction JSON when the transaction was
101
+ # completed.
102
+ #
103
+ # @see TransactionHelpers#keep_transactions
104
+ def to_json
105
+ if defined? @transaction_json
106
+ @transaction_json
107
+ else
108
+ original_to_json
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,22 @@
1
+ #!/bin/bash
2
+
3
+ set -eu
4
+
5
+ actual_ruby_version=$(ruby --version)
6
+ if [[ "$actual_ruby_version" == *"jruby"* ]]; then
7
+ # Replace "-" from specified RUBY_VERSION string. Semaphore/rbenv version uses
8
+ # a dash, where `jruby --version` uses a space.
9
+ sanitized_ruby_version="${RUBY_VERSION//-/ }"
10
+ else
11
+ # Strip "-" from specified RUBY_VERSION string. Semaphore/rbenv version uses
12
+ # a dash, where `ruby --version` does not.
13
+ sanitized_ruby_version="${RUBY_VERSION//-}"
14
+ fi
15
+ if [[ "$actual_ruby_version" == *"$sanitized_ruby_version"* ]]; then
16
+ echo "Ruby version is $RUBY_VERSION"
17
+ exit 0
18
+ else
19
+ echo "Ruby version is: $actual_ruby_version"
20
+ echo "Ruby version should be: $sanitized_ruby_version"
21
+ exit 1
22
+ fi
@@ -2,20 +2,25 @@
2
2
 
3
3
  set -eu
4
4
 
5
+ gem_args="--no-verbose"
6
+ if [[ $(ruby --version) != "ruby 1.9.3"* ]]; then
7
+ gem_args+=" --no-document"
8
+ fi
9
+
5
10
  case "${_RUBYGEMS_VERSION-"latest"}" in
6
11
  "latest")
7
- gem update --no-document --system
12
+ gem update $gem_args --system
8
13
  ;;
9
14
  *)
10
- gem update --no-document --system $_RUBYGEMS_VERSION
15
+ gem update $gem_args --system $_RUBYGEMS_VERSION
11
16
  ;;
12
17
  esac
13
18
 
14
19
  case "${_BUNDLER_VERSION-"latest"}" in
15
20
  "latest")
16
- gem update bundler --no-document
21
+ gem update bundler $gem_args
17
22
  ;;
18
23
  *)
19
- gem install bundler --no-document --version $_BUNDLER_VERSION
24
+ gem install bundler $gem_args --version $_BUNDLER_VERSION
20
25
  ;;
21
26
  esac
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.18.beta.1
4
+ version: 2.10.6.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Beekman
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-11-18 00:00:00.000000000 Z
13
+ date: 2020-04-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
@@ -55,7 +55,7 @@ dependencies:
55
55
  - !ruby/object:Gem::Version
56
56
  version: '3.8'
57
57
  - !ruby/object:Gem::Dependency
58
- name: pry
58
+ name: timecop
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - ">="
@@ -69,7 +69,7 @@ dependencies:
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  - !ruby/object:Gem::Dependency
72
- name: timecop
72
+ name: webmock
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - ">="
@@ -83,47 +83,47 @@ dependencies:
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  - !ruby/object:Gem::Dependency
86
- name: webmock
86
+ name: yard
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - ">="
90
90
  - !ruby/object:Gem::Version
91
- version: '0'
91
+ version: 0.9.20
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - ">="
97
97
  - !ruby/object:Gem::Version
98
- version: '0'
98
+ version: 0.9.20
99
99
  - !ruby/object:Gem::Dependency
100
- name: rubocop
100
+ name: pry
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - '='
103
+ - - ">="
104
104
  - !ruby/object:Gem::Version
105
- version: 0.50.0
105
+ version: '0'
106
106
  type: :development
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - '='
110
+ - - ">="
111
111
  - !ruby/object:Gem::Version
112
- version: 0.50.0
112
+ version: '0'
113
113
  - !ruby/object:Gem::Dependency
114
- name: yard
114
+ name: rubocop
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - ">="
117
+ - - '='
118
118
  - !ruby/object:Gem::Version
119
- version: 0.9.20
119
+ version: 0.50.0
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - ">="
124
+ - - '='
125
125
  - !ruby/object:Gem::Version
126
- version: 0.9.20
126
+ version: 0.50.0
127
127
  description: The official appsignal.com gem
128
128
  email:
129
129
  - support@appsignal.com
@@ -139,7 +139,7 @@ files:
139
139
  - ".rspec"
140
140
  - ".rubocop.yml"
141
141
  - ".rubocop_todo.yml"
142
- - ".travis.yml"
142
+ - ".semaphore/semaphore.yml"
143
143
  - ".yardopts"
144
144
  - CHANGELOG.md
145
145
  - CODE_OF_CONDUCT.md
@@ -227,6 +227,7 @@ files:
227
227
  - lib/appsignal/integrations/delayed_job_plugin.rb
228
228
  - lib/appsignal/integrations/grape.rb
229
229
  - lib/appsignal/integrations/mongo_ruby_driver.rb
230
+ - lib/appsignal/integrations/net_http.rb
230
231
  - lib/appsignal/integrations/object.rb
231
232
  - lib/appsignal/integrations/padrino.rb
232
233
  - lib/appsignal/integrations/que.rb
@@ -237,6 +238,7 @@ files:
237
238
  - lib/appsignal/integrations/sinatra.rb
238
239
  - lib/appsignal/integrations/webmachine.rb
239
240
  - lib/appsignal/js_exception_transaction.rb
241
+ - lib/appsignal/logger.rb
240
242
  - lib/appsignal/marker.rb
241
243
  - lib/appsignal/minutely.rb
242
244
  - lib/appsignal/rack/generic_instrumentation.rb
@@ -314,6 +316,7 @@ files:
314
316
  - spec/lib/appsignal/integrations/sinatra_spec.rb
315
317
  - spec/lib/appsignal/integrations/webmachine_spec.rb
316
318
  - spec/lib/appsignal/js_exception_transaction_spec.rb
319
+ - spec/lib/appsignal/logger_spec.rb
317
320
  - spec/lib/appsignal/marker_spec.rb
318
321
  - spec/lib/appsignal/minutely_spec.rb
319
322
  - spec/lib/appsignal/rack/generic_instrumentation_spec.rb
@@ -332,6 +335,7 @@ files:
332
335
  - spec/lib/puma/appsignal_spec.rb
333
336
  - spec/spec_helper.rb
334
337
  - spec/support/fixtures/generated_config.yml
338
+ - spec/support/fixtures/projects/broken/config/appsignal.yml
335
339
  - spec/support/fixtures/projects/valid/config/application.rb
336
340
  - spec/support/fixtures/projects/valid/config/appsignal.yml
337
341
  - spec/support/fixtures/projects/valid/config/environments/development.rb
@@ -353,7 +357,9 @@ files:
353
357
  - spec/support/helpers/time_helpers.rb
354
358
  - spec/support/helpers/transaction_helpers.rb
355
359
  - spec/support/helpers/wait_for_helper.rb
360
+ - spec/support/matchers/be_completed.rb
356
361
  - spec/support/matchers/contains_log.rb
362
+ - spec/support/matchers/have_colorized_text.rb
357
363
  - spec/support/mocks/fake_gc_profiler.rb
358
364
  - spec/support/mocks/mock_extension.rb
359
365
  - spec/support/mocks/mock_probe.rb
@@ -361,7 +367,9 @@ files:
361
367
  - spec/support/shared_examples/instrument.rb
362
368
  - spec/support/stubs/delayed_job.rb
363
369
  - spec/support/stubs/sidekiq/api.rb
370
+ - spec/support/testing.rb
364
371
  - support/bundler_wrapper
372
+ - support/check_versions
365
373
  - support/install_deps
366
374
  homepage: https://github.com/appsignal/appsignal-ruby
367
375
  licenses:
@@ -388,7 +396,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
388
396
  - !ruby/object:Gem::Version
389
397
  version: 1.3.1
390
398
  requirements: []
391
- rubygems_version: 3.0.6
399
+ rubygems_version: 3.1.2
392
400
  signing_key:
393
401
  specification_version: 4
394
402
  summary: Logs performance and exception data from your app to appsignal.com
@@ -448,6 +456,7 @@ test_files:
448
456
  - spec/lib/appsignal/integrations/sinatra_spec.rb
449
457
  - spec/lib/appsignal/integrations/webmachine_spec.rb
450
458
  - spec/lib/appsignal/js_exception_transaction_spec.rb
459
+ - spec/lib/appsignal/logger_spec.rb
451
460
  - spec/lib/appsignal/marker_spec.rb
452
461
  - spec/lib/appsignal/minutely_spec.rb
453
462
  - spec/lib/appsignal/rack/generic_instrumentation_spec.rb
@@ -466,6 +475,7 @@ test_files:
466
475
  - spec/lib/puma/appsignal_spec.rb
467
476
  - spec/spec_helper.rb
468
477
  - spec/support/fixtures/generated_config.yml
478
+ - spec/support/fixtures/projects/broken/config/appsignal.yml
469
479
  - spec/support/fixtures/projects/valid/config/application.rb
470
480
  - spec/support/fixtures/projects/valid/config/appsignal.yml
471
481
  - spec/support/fixtures/projects/valid/config/environments/development.rb
@@ -487,7 +497,9 @@ test_files:
487
497
  - spec/support/helpers/time_helpers.rb
488
498
  - spec/support/helpers/transaction_helpers.rb
489
499
  - spec/support/helpers/wait_for_helper.rb
500
+ - spec/support/matchers/be_completed.rb
490
501
  - spec/support/matchers/contains_log.rb
502
+ - spec/support/matchers/have_colorized_text.rb
491
503
  - spec/support/mocks/fake_gc_profiler.rb
492
504
  - spec/support/mocks/mock_extension.rb
493
505
  - spec/support/mocks/mock_probe.rb
@@ -495,3 +507,4 @@ test_files:
495
507
  - spec/support/shared_examples/instrument.rb
496
508
  - spec/support/stubs/delayed_job.rb
497
509
  - spec/support/stubs/sidekiq/api.rb
510
+ - spec/support/testing.rb