airbrake-ruby 4.9.0-java → 4.10.0-java

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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/lib/airbrake-ruby.rb +55 -6
  3. data/lib/airbrake-ruby/async_sender.rb +3 -3
  4. data/lib/airbrake-ruby/backtrace.rb +2 -2
  5. data/lib/airbrake-ruby/code_hunk.rb +1 -1
  6. data/lib/airbrake-ruby/config.rb +1 -1
  7. data/lib/airbrake-ruby/config/validator.rb +3 -3
  8. data/lib/airbrake-ruby/deploy_notifier.rb +1 -1
  9. data/lib/airbrake-ruby/filters/exception_attributes_filter.rb +2 -2
  10. data/lib/airbrake-ruby/filters/git_last_checkout_filter.rb +2 -2
  11. data/lib/airbrake-ruby/filters/keys_filter.rb +1 -1
  12. data/lib/airbrake-ruby/filters/sql_filter.rb +3 -3
  13. data/lib/airbrake-ruby/filters/thread_filter.rb +1 -1
  14. data/lib/airbrake-ruby/inspectable.rb +2 -2
  15. data/lib/airbrake-ruby/notice.rb +7 -7
  16. data/lib/airbrake-ruby/notice_notifier.rb +1 -1
  17. data/lib/airbrake-ruby/performance_breakdown.rb +1 -1
  18. data/lib/airbrake-ruby/performance_notifier.rb +36 -20
  19. data/lib/airbrake-ruby/query.rb +1 -1
  20. data/lib/airbrake-ruby/queue.rb +2 -2
  21. data/lib/airbrake-ruby/request.rb +1 -1
  22. data/lib/airbrake-ruby/stat.rb +1 -1
  23. data/lib/airbrake-ruby/version.rb +1 -1
  24. data/spec/airbrake_spec.rb +107 -48
  25. data/spec/async_sender_spec.rb +4 -4
  26. data/spec/backtrace_spec.rb +18 -18
  27. data/spec/code_hunk_spec.rb +9 -9
  28. data/spec/config/validator_spec.rb +5 -5
  29. data/spec/config_spec.rb +5 -5
  30. data/spec/deploy_notifier_spec.rb +2 -2
  31. data/spec/filter_chain_spec.rb +1 -1
  32. data/spec/filters/dependency_filter_spec.rb +1 -1
  33. data/spec/filters/gem_root_filter_spec.rb +5 -5
  34. data/spec/filters/git_last_checkout_filter_spec.rb +1 -1
  35. data/spec/filters/git_repository_filter.rb +1 -1
  36. data/spec/filters/git_revision_filter_spec.rb +10 -10
  37. data/spec/filters/keys_blacklist_spec.rb +22 -22
  38. data/spec/filters/keys_whitelist_spec.rb +21 -21
  39. data/spec/filters/root_directory_filter_spec.rb +5 -5
  40. data/spec/filters/sql_filter_spec.rb +53 -53
  41. data/spec/filters/system_exit_filter_spec.rb +1 -1
  42. data/spec/filters/thread_filter_spec.rb +28 -28
  43. data/spec/fixtures/project_root/code.rb +9 -9
  44. data/spec/notice_notifier/options_spec.rb +12 -12
  45. data/spec/notice_notifier_spec.rb +17 -17
  46. data/spec/notice_spec.rb +5 -5
  47. data/spec/performance_notifier_spec.rb +88 -68
  48. data/spec/query_spec.rb +1 -1
  49. data/spec/request_spec.rb +1 -1
  50. data/spec/response_spec.rb +8 -8
  51. data/spec/spec_helper.rb +2 -2
  52. data/spec/stat_spec.rb +2 -2
  53. data/spec/sync_sender_spec.rb +12 -12
  54. data/spec/tdigest_spec.rb +6 -6
  55. data/spec/thread_pool_spec.rb +5 -5
  56. data/spec/timed_trace_spec.rb +1 -1
  57. data/spec/truncator_spec.rb +12 -12
  58. metadata +2 -2
@@ -37,7 +37,7 @@ RSpec.describe Airbrake::CodeHunk do
37
37
  # rubocop:disable Metrics/LineLength
38
38
  3 => ' # Represents a chunk of information that is meant to be either sent to',
39
39
  # rubocop:enable Metrics/LineLength
40
- )
40
+ ),
41
41
  )
42
42
  end
43
43
  end
@@ -49,8 +49,8 @@ RSpec.describe Airbrake::CodeHunk do
49
49
  is_expected.to(
50
50
  eq(
51
51
  220 => ' end',
52
- 221 => 'end'
53
- )
52
+ 221 => 'end',
53
+ ),
54
54
  )
55
55
  end
56
56
  end
@@ -65,8 +65,8 @@ RSpec.describe Airbrake::CodeHunk do
65
65
  eq(
66
66
  1 => 'module Banana',
67
67
  2 => ' attr_reader :bingo',
68
- 3 => 'end'
69
- )
68
+ 3 => 'end',
69
+ ),
70
70
  )
71
71
  end
72
72
  end
@@ -81,8 +81,8 @@ RSpec.describe Airbrake::CodeHunk do
81
81
  99 => ' end',
82
82
  100 => '',
83
83
  101 => ' break if truncate == 0',
84
- 102 => ' end'
85
- )
84
+ 102 => ' end',
85
+ ),
86
86
  )
87
87
  end
88
88
  end
@@ -104,10 +104,10 @@ RSpec.describe Airbrake::CodeHunk do
104
104
 
105
105
  it "logs error and returns nil" do
106
106
  expect(Airbrake::Loggable.instance).to receive(:error).with(
107
- /can't read code hunk.+Permission denied/
107
+ /can't read code hunk.+Permission denied/,
108
108
  )
109
109
  expect(subject.get(project_root_path('code.rb'), 1)).to(
110
- eq(1 => '')
110
+ eq(1 => ''),
111
111
  )
112
112
  end
113
113
  end
@@ -118,7 +118,7 @@ RSpec.describe Airbrake::Config::Validator do
118
118
  promise = described_class.validate(config)
119
119
  expect(promise.value).to eq(
120
120
  'error' => "the 'environment' option must be configured with a " \
121
- "Symbol (or String), but 'Float' was provided: 1.0"
121
+ "Symbol (or String), but 'Float' was provided: 1.0",
122
122
  )
123
123
  end
124
124
  end
@@ -130,7 +130,7 @@ RSpec.describe Airbrake::Config::Validator do
130
130
  {
131
131
  project_id: valid_id,
132
132
  project_key: valid_key,
133
- environment: string_inquirer.new('test')
133
+ environment: string_inquirer.new('test'),
134
134
  }
135
135
  end
136
136
 
@@ -148,14 +148,14 @@ RSpec.describe Airbrake::Config::Validator do
148
148
  project_id: valid_id,
149
149
  project_key: valid_key,
150
150
  environment: 'test',
151
- ignore_environments: ['test']
151
+ ignore_environments: ['test'],
152
152
  }
153
153
  end
154
154
 
155
155
  it "returns a rejected promise" do
156
156
  promise = described_class.check_notify_ability(config)
157
157
  expect(promise.value).to eq(
158
- 'error' => "current environment 'test' is ignored"
158
+ 'error' => "current environment 'test' is ignored",
159
159
  )
160
160
  end
161
161
  end
@@ -165,7 +165,7 @@ RSpec.describe Airbrake::Config::Validator do
165
165
  {
166
166
  project_id: valid_id,
167
167
  project_key: valid_key,
168
- ignore_environments: ['test']
168
+ ignore_environments: ['test'],
169
169
  }
170
170
  end
171
171
 
data/spec/config_spec.rb CHANGED
@@ -111,7 +111,7 @@ RSpec.describe Airbrake::Config do
111
111
  describe "#check_performance_options" do
112
112
  it "returns a promise" do
113
113
  resource = Airbrake::Query.new(
114
- method: '', route: '', query: '', start_time: Time.now
114
+ method: '', route: '', query: '', start_time: Time.now,
115
115
  )
116
116
  expect(subject.check_performance_options(resource))
117
117
  .to be_an(Airbrake::Promise)
@@ -122,14 +122,14 @@ RSpec.describe Airbrake::Config do
122
122
 
123
123
  let(:resource) do
124
124
  Airbrake::Request.new(
125
- method: 'GET', route: '/foo', status_code: 200, start_time: Time.new
125
+ method: 'GET', route: '/foo', status_code: 200, start_time: Time.new,
126
126
  )
127
127
  end
128
128
 
129
129
  it "returns a rejected promise" do
130
130
  promise = subject.check_performance_options(resource)
131
131
  expect(promise.value).to eq(
132
- 'error' => "The Performance Stats feature is disabled"
132
+ 'error' => "The Performance Stats feature is disabled",
133
133
  )
134
134
  end
135
135
  end
@@ -139,14 +139,14 @@ RSpec.describe Airbrake::Config do
139
139
 
140
140
  let(:resource) do
141
141
  Airbrake::Query.new(
142
- method: 'GET', route: '/foo', query: '', start_time: Time.new
142
+ method: 'GET', route: '/foo', query: '', start_time: Time.new,
143
143
  )
144
144
  end
145
145
 
146
146
  it "returns a rejected promise" do
147
147
  promise = subject.check_performance_options(resource)
148
148
  expect(promise.value).to eq(
149
- 'error' => "The Query Stats feature is disabled"
149
+ 'error' => "The Query Stats feature is disabled",
150
150
  )
151
151
  end
152
152
  end
@@ -26,7 +26,7 @@ RSpec.describe Airbrake::DeployNotifier do
26
26
  expect_any_instance_of(Airbrake::SyncSender).to receive(:send).with(
27
27
  { environment: 'barenv' },
28
28
  instance_of(Airbrake::Promise),
29
- URI('https://api.airbrake.io/api/v4/projects/1/deploys')
29
+ URI('https://api.airbrake.io/api/v4/projects/1/deploys'),
30
30
  )
31
31
  subject.notify(environment: 'barenv')
32
32
  end
@@ -39,7 +39,7 @@ RSpec.describe Airbrake::DeployNotifier do
39
39
  expect_any_instance_of(Airbrake::SyncSender).to receive(:send).with(
40
40
  { environment: 'fooenv' },
41
41
  instance_of(Airbrake::Promise),
42
- URI('https://api.airbrake.io/api/v4/projects/1/deploys')
42
+ URI('https://api.airbrake.io/api/v4/projects/1/deploys'),
43
43
  )
44
44
  subject.notify({})
45
45
  end
@@ -67,7 +67,7 @@ RSpec.describe Airbrake::FilterChain do
67
67
 
68
68
  foo_filter_mock = double
69
69
  expect(foo_filter_mock).to(
70
- receive(:name).at_least(:once).and_return('FooFilter')
70
+ receive(:name).at_least(:once).and_return('FooFilter'),
71
71
  )
72
72
  subject.delete_filter(foo_filter_mock)
73
73
 
@@ -5,7 +5,7 @@ RSpec.describe Airbrake::Filters::DependencyFilter do
5
5
  it "attaches loaded dependencies to context/versions/dependencies" do
6
6
  subject.call(notice)
7
7
  expect(notice[:context][:versions][:dependencies]).to include(
8
- 'airbrake-ruby' => Airbrake::AIRBRAKE_RUBY_VERSION
8
+ 'airbrake-ruby' => Airbrake::AIRBRAKE_RUBY_VERSION,
9
9
  )
10
10
  end
11
11
  end
@@ -12,7 +12,7 @@ RSpec.describe Airbrake::Filters::GemRootFilter do
12
12
  { file: "/home/kyrylo/code/airbrake/ruby/spec/spec_helper.rb" },
13
13
  { file: "#{root1}/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb" },
14
14
  { file: "/opt/rubies/ruby-2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb" },
15
- { file: "#{root2}/gems/rspec-core-3.3.2/exe/rspec" }
15
+ { file: "#{root2}/gems/rspec-core-3.3.2/exe/rspec" },
16
16
  ]
17
17
  # rubocop:enable Metrics/LineLength
18
18
 
@@ -25,9 +25,9 @@ RSpec.describe Airbrake::Filters::GemRootFilter do
25
25
  { file: "/home/kyrylo/code/airbrake/ruby/spec/spec_helper.rb" },
26
26
  { file: "/GEM_ROOT/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb" },
27
27
  { file: "/opt/rubies/ruby-2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb" },
28
- { file: "/GEM_ROOT/gems/rspec-core-3.3.2/exe/rspec" }
29
- ]
30
- )
28
+ { file: "/GEM_ROOT/gems/rspec-core-3.3.2/exe/rspec" },
29
+ ],
30
+ ),
31
31
  )
32
32
  # rubocop:enable Metrics/LineLength
33
33
  end
@@ -35,7 +35,7 @@ RSpec.describe Airbrake::Filters::GemRootFilter do
35
35
  it "does not filter file when it is nil" do
36
36
  expect(notice[:errors].first[:file]).to be_nil
37
37
  expect { subject.call(notice) }.not_to(
38
- change { notice[:errors].first[:file] }
38
+ change { notice[:errors].first[:file] },
39
39
  )
40
40
  end
41
41
  end
@@ -29,7 +29,7 @@ RSpec.describe Airbrake::Filters::GitLastCheckoutFilter do
29
29
 
30
30
  it "attaches last checkouted email" do
31
31
  expect(notice[:context][:lastCheckout][:email]).to(
32
- match(/\A\w+[\w.-]*@\w+\.?\w+?\z/)
32
+ match(/\A\w+[\w.-]*@\w+\.?\w+?\z/),
33
33
  )
34
34
  end
35
35
 
@@ -46,7 +46,7 @@ RSpec.describe Airbrake::Filters::GitRepositoryFilter do
46
46
  it "attaches context/repository" do
47
47
  subject.call(notice)
48
48
  expect(notice[:context][:repository]).to eq(
49
- 'ssh://git@github.com/airbrake/airbrake-ruby.git'
49
+ 'ssh://git@github.com/airbrake/airbrake-ruby.git',
50
50
  )
51
51
  end
52
52
  end
@@ -44,7 +44,7 @@ RSpec.describe Airbrake::Filters::GitRevisionFilter do
44
44
  context "and also when HEAD doesn't start with 'ref: '" do
45
45
  before do
46
46
  expect(File).to(
47
- receive(:read).with('root/dir/.git/HEAD').and_return('refs/foo')
47
+ receive(:read).with('root/dir/.git/HEAD').and_return('refs/foo'),
48
48
  )
49
49
  end
50
50
 
@@ -57,17 +57,17 @@ RSpec.describe Airbrake::Filters::GitRevisionFilter do
57
57
  context "and also when HEAD starts with 'ref: " do
58
58
  before do
59
59
  expect(File).to(
60
- receive(:read).with('root/dir/.git/HEAD').and_return("ref: refs/foo\n")
60
+ receive(:read).with('root/dir/.git/HEAD').and_return("ref: refs/foo\n"),
61
61
  )
62
62
  end
63
63
 
64
64
  context "when the ref exists" do
65
65
  before do
66
66
  expect(File).to(
67
- receive(:exist?).with('root/dir/.git/refs/foo').and_return(true)
67
+ receive(:exist?).with('root/dir/.git/refs/foo').and_return(true),
68
68
  )
69
69
  expect(File).to(
70
- receive(:read).with('root/dir/.git/refs/foo').and_return("d34db33f\n")
70
+ receive(:read).with('root/dir/.git/refs/foo').and_return("d34db33f\n"),
71
71
  )
72
72
  end
73
73
 
@@ -80,14 +80,14 @@ RSpec.describe Airbrake::Filters::GitRevisionFilter do
80
80
  context "when the ref doesn't exist" do
81
81
  before do
82
82
  expect(File).to(
83
- receive(:exist?).with('root/dir/.git/refs/foo').and_return(false)
83
+ receive(:exist?).with('root/dir/.git/refs/foo').and_return(false),
84
84
  )
85
85
  end
86
86
 
87
87
  context "and when '.git/packed-refs' exists" do
88
88
  before do
89
89
  expect(File).to(
90
- receive(:exist?).with('root/dir/.git/packed-refs').and_return(true)
90
+ receive(:exist?).with('root/dir/.git/packed-refs').and_return(true),
91
91
  )
92
92
  expect(File).to(
93
93
  receive(:readlines).with('root/dir/.git/packed-refs').and_return(
@@ -95,9 +95,9 @@ RSpec.describe Airbrake::Filters::GitRevisionFilter do
95
95
  "# pack-refs with: peeled fully-peeled\n",
96
96
  "ccb316eecff79c7528d1ad43e5fa165f7a44d52e refs/tags/v3.0.30\n",
97
97
  "^d358900f73ee5bfd6ca3a592cf23ac6e82df83c1",
98
- "d34db33f refs/foo\n"
99
- ]
100
- )
98
+ "d34db33f refs/foo\n",
99
+ ],
100
+ ),
101
101
  )
102
102
  end
103
103
 
@@ -110,7 +110,7 @@ RSpec.describe Airbrake::Filters::GitRevisionFilter do
110
110
  context "and when '.git/packed-refs' doesn't exist" do
111
111
  before do
112
112
  expect(File).to(
113
- receive(:exist?).with('root/dir/.git/packed-refs').and_return(false)
113
+ receive(:exist?).with('root/dir/.git/packed-refs').and_return(false),
114
114
  )
115
115
  end
116
116
 
@@ -19,8 +19,8 @@ RSpec.describe Airbrake::Filters::KeysBlacklist do
19
19
  [/\Abon/],
20
20
  [
21
21
  { bongo: 'bango' },
22
- { bongo: '[Filtered]' }
23
- ]
22
+ { bongo: '[Filtered]' },
23
+ ],
24
24
  )
25
25
 
26
26
  context "and when a key is a hash" do
@@ -40,8 +40,8 @@ RSpec.describe Airbrake::Filters::KeysBlacklist do
40
40
  [:bingo],
41
41
  [
42
42
  { bingo: 'bango' },
43
- { bingo: '[Filtered]' }
44
- ]
43
+ { bingo: '[Filtered]' },
44
+ ],
45
45
  )
46
46
  end
47
47
 
@@ -51,8 +51,8 @@ RSpec.describe Airbrake::Filters::KeysBlacklist do
51
51
  ['bingo'],
52
52
  [
53
53
  { bingo: 'bango' },
54
- { bingo: '[Filtered]' }
55
- ]
54
+ { bingo: '[Filtered]' },
55
+ ],
56
56
  )
57
57
  end
58
58
 
@@ -62,8 +62,8 @@ RSpec.describe Airbrake::Filters::KeysBlacklist do
62
62
  ['bingo'],
63
63
  [
64
64
  { array: [{ bingo: 'bango' }, []] },
65
- { array: [{ bingo: '[Filtered]' }, []] }
66
- ]
65
+ { array: [{ bingo: '[Filtered]' }, []] },
66
+ ],
67
67
  )
68
68
  end
69
69
 
@@ -74,8 +74,8 @@ RSpec.describe Airbrake::Filters::KeysBlacklist do
74
74
  [proc { 'bongo' }, :bash],
75
75
  [
76
76
  { bingo: 'bango', bongo: 'bish', bash: 'bosh' },
77
- { bingo: 'bango', bongo: '[Filtered]', bash: '[Filtered]' }
78
- ]
77
+ { bingo: 'bango', bongo: '[Filtered]', bash: '[Filtered]' },
78
+ ],
79
79
  )
80
80
  end
81
81
 
@@ -85,13 +85,13 @@ RSpec.describe Airbrake::Filters::KeysBlacklist do
85
85
  [proc { Object.new }],
86
86
  [
87
87
  { bingo: 'bango', bongo: 'bish' },
88
- { bingo: 'bango', bongo: 'bish' }
89
- ]
88
+ { bingo: 'bango', bongo: 'bish' },
89
+ ],
90
90
  )
91
91
 
92
92
  it "logs an error" do
93
93
  expect(Airbrake::Loggable.instance).to receive(:error).with(
94
- /KeysBlacklist is invalid.+patterns: \[#<Object:.+>\]/
94
+ /KeysBlacklist is invalid.+patterns: \[#<Object:.+>\]/,
95
95
  )
96
96
  keys_blacklist = described_class.new(patterns)
97
97
  keys_blacklist.call(notice)
@@ -104,7 +104,7 @@ RSpec.describe Airbrake::Filters::KeysBlacklist do
104
104
  context "and when the filter is called once" do
105
105
  it "logs an error" do
106
106
  expect(Airbrake::Loggable.instance).to receive(:error).with(
107
- /KeysBlacklist is invalid.+patterns: \[#<Proc:.+>\]/
107
+ /KeysBlacklist is invalid.+patterns: \[#<Proc:.+>\]/,
108
108
  )
109
109
  keys_blacklist = described_class.new(patterns)
110
110
  keys_blacklist.call(notice)
@@ -127,13 +127,13 @@ RSpec.describe Airbrake::Filters::KeysBlacklist do
127
127
  [Object.new],
128
128
  [
129
129
  { bingo: 'bango', bongo: 'bish' },
130
- { bingo: 'bango', bongo: 'bish' }
131
- ]
130
+ { bingo: 'bango', bongo: 'bish' },
131
+ ],
132
132
  )
133
133
 
134
134
  it "logs an error" do
135
135
  expect(Airbrake::Loggable.instance).to receive(:error).with(
136
- /KeysBlacklist is invalid.+patterns: \[#<Object:.+>\]/
136
+ /KeysBlacklist is invalid.+patterns: \[#<Object:.+>\]/,
137
137
  )
138
138
  keys_blacklist = described_class.new(patterns)
139
139
  keys_blacklist.call(notice)
@@ -147,8 +147,8 @@ RSpec.describe Airbrake::Filters::KeysBlacklist do
147
147
  ['bish'],
148
148
  [
149
149
  { bongo: { bish: 'bash' } },
150
- { bongo: { bish: '[Filtered]' } }
151
- ]
150
+ { bongo: { bish: '[Filtered]' } },
151
+ ],
152
152
  )
153
153
  end
154
154
 
@@ -161,8 +161,8 @@ RSpec.describe Airbrake::Filters::KeysBlacklist do
161
161
  ['bango'],
162
162
  [
163
163
  bongo,
164
- { bingo: { bango: '[Filtered]' } }
165
- ]
164
+ { bingo: { bango: '[Filtered]' } },
165
+ ],
166
166
  )
167
167
  end
168
168
  end
@@ -177,7 +177,7 @@ RSpec.describe Airbrake::Filters::KeysBlacklist do
177
177
 
178
178
  subject.call(notice)
179
179
  expect(notice[:context][:url]).to(
180
- eq 'http://localhost:3000/crash?foo=bar&baz=bongo&bish=[Filtered]&color=%23FFAAFF'
180
+ eq('http://localhost:3000/crash?foo=bar&baz=bongo&bish=[Filtered]&color=%23FFAAFF'),
181
181
  )
182
182
  end
183
183
  end
@@ -19,8 +19,8 @@ RSpec.describe Airbrake::Filters::KeysWhitelist do
19
19
  [/\Abin/],
20
20
  [
21
21
  { bingo: 'bango', bongo: 'bish', bash: 'bosh' },
22
- { bingo: 'bango', bongo: '[Filtered]', bash: '[Filtered]' }
23
- ]
22
+ { bingo: 'bango', bongo: '[Filtered]', bash: '[Filtered]' },
23
+ ],
24
24
  )
25
25
  end
26
26
 
@@ -30,8 +30,8 @@ RSpec.describe Airbrake::Filters::KeysWhitelist do
30
30
  [:bongo],
31
31
  [
32
32
  { bongo: 'bish', bash: 'bosh', bbashh: 'bboshh' },
33
- { bongo: 'bish', bash: '[Filtered]', bbashh: '[Filtered]' }
34
- ]
33
+ { bongo: 'bish', bash: '[Filtered]', bbashh: '[Filtered]' },
34
+ ],
35
35
  )
36
36
  end
37
37
 
@@ -41,8 +41,8 @@ RSpec.describe Airbrake::Filters::KeysWhitelist do
41
41
  ['bash'],
42
42
  [
43
43
  { bingo: 'bango', bongo: 'bish', bash: 'bosh' },
44
- { bingo: '[Filtered]', bongo: '[Filtered]', bash: 'bosh' }
45
- ]
44
+ { bingo: '[Filtered]', bongo: '[Filtered]', bash: 'bosh' },
45
+ ],
46
46
  )
47
47
  end
48
48
 
@@ -53,8 +53,8 @@ RSpec.describe Airbrake::Filters::KeysWhitelist do
53
53
  [proc { 'bongo' }, :bash],
54
54
  [
55
55
  { bingo: 'bango', bongo: 'bish', bash: 'bosh' },
56
- { bingo: '[Filtered]', bongo: 'bish', bash: 'bosh' }
57
- ]
56
+ { bingo: '[Filtered]', bongo: 'bish', bash: 'bosh' },
57
+ ],
58
58
  )
59
59
  end
60
60
 
@@ -64,13 +64,13 @@ RSpec.describe Airbrake::Filters::KeysWhitelist do
64
64
  [proc { Object.new }],
65
65
  [
66
66
  { bingo: 'bango', bongo: 'bish', bash: 'bosh' },
67
- { bingo: '[Filtered]', bongo: '[Filtered]', bash: '[Filtered]' }
68
- ]
67
+ { bingo: '[Filtered]', bongo: '[Filtered]', bash: '[Filtered]' },
68
+ ],
69
69
  )
70
70
 
71
71
  it "logs an error" do
72
72
  expect(Airbrake::Loggable.instance).to receive(:error).with(
73
- /KeysWhitelist is invalid.+patterns: \[#<Object:.+>\]/
73
+ /KeysWhitelist is invalid.+patterns: \[#<Object:.+>\]/,
74
74
  )
75
75
  keys_whitelist = described_class.new(patterns)
76
76
  keys_whitelist.call(notice)
@@ -83,7 +83,7 @@ RSpec.describe Airbrake::Filters::KeysWhitelist do
83
83
  context "and when the filter is called once" do
84
84
  it "logs an error" do
85
85
  expect(Airbrake::Loggable.instance).to receive(:error).with(
86
- /KeysWhitelist is invalid.+patterns: \[#<Proc:.+>\]/
86
+ /KeysWhitelist is invalid.+patterns: \[#<Proc:.+>\]/,
87
87
  )
88
88
  keys_whitelist = described_class.new(patterns)
89
89
  keys_whitelist.call(notice)
@@ -94,8 +94,8 @@ RSpec.describe Airbrake::Filters::KeysWhitelist do
94
94
  [proc { proc { ['bingo'] } }],
95
95
  [
96
96
  { bingo: 'bango', bongo: 'bish', bash: 'bosh' },
97
- { bingo: '[Filtered]', bongo: '[Filtered]', bash: '[Filtered]' }
98
- ]
97
+ { bingo: '[Filtered]', bongo: '[Filtered]', bash: '[Filtered]' },
98
+ ],
99
99
  )
100
100
  end
101
101
  end
@@ -107,13 +107,13 @@ RSpec.describe Airbrake::Filters::KeysWhitelist do
107
107
  [Object.new],
108
108
  [
109
109
  { bingo: 'bango', bongo: 'bish', bash: 'bosh' },
110
- { bingo: '[Filtered]', bongo: '[Filtered]', bash: '[Filtered]' }
111
- ]
110
+ { bingo: '[Filtered]', bongo: '[Filtered]', bash: '[Filtered]' },
111
+ ],
112
112
  )
113
113
 
114
114
  it "logs an error" do
115
115
  expect(Airbrake::Loggable.instance).to receive(:error).with(
116
- /KeysWhitelist is invalid.+patterns: \[#<Object:.+>\]/
116
+ /KeysWhitelist is invalid.+patterns: \[#<Object:.+>\]/,
117
117
  )
118
118
  keys_whitelist = described_class.new(patterns)
119
119
  keys_whitelist.call(notice)
@@ -127,8 +127,8 @@ RSpec.describe Airbrake::Filters::KeysWhitelist do
127
127
  %w[bongo bish],
128
128
  [
129
129
  { bingo: 'bango', bongo: { bish: 'bash' } },
130
- { bingo: '[Filtered]', bongo: { bish: 'bash' } }
131
- ]
130
+ { bingo: '[Filtered]', bongo: { bish: 'bash' } },
131
+ ],
132
132
  )
133
133
  end
134
134
 
@@ -166,7 +166,7 @@ RSpec.describe Airbrake::Filters::KeysWhitelist do
166
166
  notice[:context][:url] = 'http://localhost:3000/crash?foo=bar&baz=bongo&bish=bash'
167
167
  subject.call(notice)
168
168
  expect(notice[:context][:url]).to(
169
- eq('http://localhost:3000/crash?foo=[Filtered]&baz=[Filtered]&bish=bash')
169
+ eq('http://localhost:3000/crash?foo=[Filtered]&baz=[Filtered]&bish=bash'),
170
170
  )
171
171
  end
172
172
  end
@@ -177,7 +177,7 @@ RSpec.describe Airbrake::Filters::KeysWhitelist do
177
177
  'http://localhost:3000/cra]]]sh?foo=bar&baz=bongo&bish=bash'
178
178
  subject.call(notice)
179
179
  expect(notice[:context][:url]).to(
180
- eq('http://localhost:3000/cra]]]sh?foo=bar&baz=bongo&bish=bash')
180
+ eq('http://localhost:3000/cra]]]sh?foo=bar&baz=bongo&bish=bash'),
181
181
  )
182
182
  end
183
183
  end