airbrake-ruby 4.13.3-java → 5.0.0.rc.1-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 (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/airbrake-ruby.rb +23 -32
  3. data/lib/airbrake-ruby/async_sender.rb +1 -1
  4. data/lib/airbrake-ruby/config.rb +65 -13
  5. data/lib/airbrake-ruby/config/processor.rb +80 -0
  6. data/lib/airbrake-ruby/config/validator.rb +4 -0
  7. data/lib/airbrake-ruby/filter_chain.rb +15 -1
  8. data/lib/airbrake-ruby/filters/git_last_checkout_filter.rb +2 -1
  9. data/lib/airbrake-ruby/filters/{keys_whitelist.rb → keys_allowlist.rb} +3 -3
  10. data/lib/airbrake-ruby/filters/{keys_blacklist.rb → keys_blocklist.rb} +3 -3
  11. data/lib/airbrake-ruby/filters/keys_filter.rb +5 -5
  12. data/lib/airbrake-ruby/notice_notifier.rb +6 -0
  13. data/lib/airbrake-ruby/performance_notifier.rb +1 -1
  14. data/lib/airbrake-ruby/remote_settings.rb +128 -0
  15. data/lib/airbrake-ruby/remote_settings/settings_data.rb +116 -0
  16. data/lib/airbrake-ruby/sync_sender.rb +1 -1
  17. data/lib/airbrake-ruby/thread_pool.rb +1 -0
  18. data/lib/airbrake-ruby/version.rb +1 -1
  19. data/spec/airbrake_spec.rb +71 -36
  20. data/spec/config/processor_spec.rb +223 -0
  21. data/spec/config/validator_spec.rb +18 -1
  22. data/spec/config_spec.rb +38 -6
  23. data/spec/filter_chain_spec.rb +27 -0
  24. data/spec/filters/git_last_checkout_filter_spec.rb +20 -3
  25. data/spec/filters/{keys_whitelist_spec.rb → keys_allowlist_spec.rb} +10 -10
  26. data/spec/filters/{keys_blacklist_spec.rb → keys_blocklist_spec.rb} +10 -10
  27. data/spec/filters/sql_filter_spec.rb +3 -3
  28. data/spec/notice_notifier/options_spec.rb +4 -4
  29. data/spec/performance_notifier_spec.rb +2 -2
  30. data/spec/remote_settings/settings_data_spec.rb +327 -0
  31. data/spec/remote_settings_spec.rb +212 -0
  32. data/spec/sync_sender_spec.rb +3 -1
  33. data/spec/thread_pool_spec.rb +25 -5
  34. metadata +20 -12
@@ -27,7 +27,9 @@ RSpec.describe Airbrake::SyncSender do
27
27
  expect(
28
28
  a_request(:post, endpoint).with(
29
29
  headers: {
30
- 'User-Agent' => %r{airbrake-ruby/\d+\.\d+\.\d+ Ruby/\d+\.\d+\.\d+},
30
+ 'User-Agent' => %r{
31
+ airbrake-ruby/\d+\.\d+\.\d+(\.rc\.\d+)?\sRuby/\d+\.\d+\.\d+
32
+ }x,
31
33
  },
32
34
  ),
33
35
  ).to have_been_made.once
@@ -85,11 +85,31 @@ RSpec.describe Airbrake::ThreadPool do
85
85
  expect(subject).not_to have_workers
86
86
  end
87
87
 
88
- it "respawns workers on fork()", skip: %w[jruby].include?(RUBY_ENGINE) do
89
- pid = fork { expect(subject).to have_workers }
90
- Process.wait(pid)
91
- subject.close
92
- expect(subject).not_to have_workers
88
+ describe "forking behavior" do
89
+ before do
90
+ skip('fork() is unsupported on JRuby') if %w[jruby].include?(RUBY_ENGINE)
91
+ unless Process.respond_to?(:last_status)
92
+ skip('Process.last_status is unsupported on this Ruby')
93
+ end
94
+ end
95
+
96
+ it "respawns workers on fork()" do
97
+ pid = fork { expect(subject).to have_workers }
98
+ Process.wait(pid)
99
+ subject.close
100
+
101
+ expect(Process.last_status).to be_success
102
+ expect(subject).not_to have_workers
103
+ end
104
+
105
+ it "ensures that a new thread group is created per process" do
106
+ subject << 1
107
+ pid = fork { subject.has_workers? }
108
+ Process.wait(pid)
109
+ subject.close
110
+
111
+ expect(Process.last_status).to be_success
112
+ end
93
113
  end
94
114
  end
95
115
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: airbrake-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.13.3
4
+ version: 5.0.0.rc.1
5
5
  platform: java
6
6
  authors:
7
7
  - Airbrake Technologies, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-02 00:00:00.000000000 Z
11
+ date: 2020-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbtree-jruby
@@ -44,6 +44,7 @@ files:
44
44
  - lib/airbrake-ruby/benchmark.rb
45
45
  - lib/airbrake-ruby/code_hunk.rb
46
46
  - lib/airbrake-ruby/config.rb
47
+ - lib/airbrake-ruby/config/processor.rb
47
48
  - lib/airbrake-ruby/config/validator.rb
48
49
  - lib/airbrake-ruby/deploy_notifier.rb
49
50
  - lib/airbrake-ruby/file_cache.rb
@@ -55,9 +56,9 @@ files:
55
56
  - lib/airbrake-ruby/filters/git_last_checkout_filter.rb
56
57
  - lib/airbrake-ruby/filters/git_repository_filter.rb
57
58
  - lib/airbrake-ruby/filters/git_revision_filter.rb
58
- - lib/airbrake-ruby/filters/keys_blacklist.rb
59
+ - lib/airbrake-ruby/filters/keys_allowlist.rb
60
+ - lib/airbrake-ruby/filters/keys_blocklist.rb
59
61
  - lib/airbrake-ruby/filters/keys_filter.rb
60
- - lib/airbrake-ruby/filters/keys_whitelist.rb
61
62
  - lib/airbrake-ruby/filters/root_directory_filter.rb
62
63
  - lib/airbrake-ruby/filters/sql_filter.rb
63
64
  - lib/airbrake-ruby/filters/system_exit_filter.rb
@@ -77,6 +78,8 @@ files:
77
78
  - lib/airbrake-ruby/promise.rb
78
79
  - lib/airbrake-ruby/query.rb
79
80
  - lib/airbrake-ruby/queue.rb
81
+ - lib/airbrake-ruby/remote_settings.rb
82
+ - lib/airbrake-ruby/remote_settings/settings_data.rb
80
83
  - lib/airbrake-ruby/request.rb
81
84
  - lib/airbrake-ruby/response.rb
82
85
  - lib/airbrake-ruby/stashable.rb
@@ -93,6 +96,7 @@ files:
93
96
  - spec/backtrace_spec.rb
94
97
  - spec/benchmark_spec.rb
95
98
  - spec/code_hunk_spec.rb
99
+ - spec/config/processor_spec.rb
96
100
  - spec/config/validator_spec.rb
97
101
  - spec/config_spec.rb
98
102
  - spec/deploy_notifier_spec.rb
@@ -105,8 +109,8 @@ files:
105
109
  - spec/filters/git_last_checkout_filter_spec.rb
106
110
  - spec/filters/git_repository_filter.rb
107
111
  - spec/filters/git_revision_filter_spec.rb
108
- - spec/filters/keys_blacklist_spec.rb
109
- - spec/filters/keys_whitelist_spec.rb
112
+ - spec/filters/keys_allowlist_spec.rb
113
+ - spec/filters/keys_blocklist_spec.rb
110
114
  - spec/filters/root_directory_filter_spec.rb
111
115
  - spec/filters/sql_filter_spec.rb
112
116
  - spec/filters/system_exit_filter_spec.rb
@@ -131,6 +135,8 @@ files:
131
135
  - spec/promise_spec.rb
132
136
  - spec/query_spec.rb
133
137
  - spec/queue_spec.rb
138
+ - spec/remote_settings/settings_data_spec.rb
139
+ - spec/remote_settings_spec.rb
134
140
  - spec/request_spec.rb
135
141
  - spec/response_spec.rb
136
142
  - spec/spec_helper.rb
@@ -157,12 +163,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
157
163
  version: '2.1'
158
164
  required_rubygems_version: !ruby/object:Gem::Requirement
159
165
  requirements:
160
- - - ">="
166
+ - - ">"
161
167
  - !ruby/object:Gem::Version
162
- version: '0'
168
+ version: 1.3.1
163
169
  requirements: []
164
- rubyforge_project:
165
- rubygems_version: 2.7.6.2
170
+ rubygems_version: 3.1.2
166
171
  signing_key:
167
172
  specification_version: 4
168
173
  summary: Ruby notifier for https://airbrake.io
@@ -173,14 +178,14 @@ test_files:
173
178
  - spec/filters/exception_attributes_filter_spec.rb
174
179
  - spec/filters/root_directory_filter_spec.rb
175
180
  - spec/filters/sql_filter_spec.rb
176
- - spec/filters/keys_whitelist_spec.rb
177
181
  - spec/filters/system_exit_filter_spec.rb
178
182
  - spec/filters/thread_filter_spec.rb
183
+ - spec/filters/keys_allowlist_spec.rb
179
184
  - spec/filters/dependency_filter_spec.rb
180
185
  - spec/filters/context_filter_spec.rb
181
186
  - spec/filters/git_last_checkout_filter_spec.rb
182
187
  - spec/filters/git_revision_filter_spec.rb
183
- - spec/filters/keys_blacklist_spec.rb
188
+ - spec/filters/keys_blocklist_spec.rb
184
189
  - spec/filters/gem_root_filter_spec.rb
185
190
  - spec/filters/git_repository_filter.rb
186
191
  - spec/spec_helper.rb
@@ -197,6 +202,7 @@ test_files:
197
202
  - spec/promise_spec.rb
198
203
  - spec/thread_pool_spec.rb
199
204
  - spec/config/validator_spec.rb
205
+ - spec/config/processor_spec.rb
200
206
  - spec/sync_sender_spec.rb
201
207
  - spec/ignorable_spec.rb
202
208
  - spec/deploy_notifier_spec.rb
@@ -208,6 +214,7 @@ test_files:
208
214
  - spec/request_spec.rb
209
215
  - spec/notice_notifier/options_spec.rb
210
216
  - spec/filter_chain_spec.rb
217
+ - spec/remote_settings/settings_data_spec.rb
211
218
  - spec/response_spec.rb
212
219
  - spec/queue_spec.rb
213
220
  - spec/code_hunk_spec.rb
@@ -221,3 +228,4 @@ test_files:
221
228
  - spec/inspectable_spec.rb
222
229
  - spec/stashable_spec.rb
223
230
  - spec/query_spec.rb
231
+ - spec/remote_settings_spec.rb