Skip to content

Commit 1bf14fc

Browse files
switch from custom dependency handling to strict requires in test helpers and enhance worker initialization logic
1 parent b094232 commit 1bf14fc

4 files changed

Lines changed: 20 additions & 58 deletions

File tree

apis/influxdb-client-apis.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ Gem::Specification.new do |spec|
5050

5151
spec.add_development_dependency 'bundler', '~> 2.0'
5252
spec.add_development_dependency 'minitest', '5.15.0'
53-
spec.add_development_dependency 'minitest-reporters', '~> 1.4'
53+
spec.add_development_dependency 'minitest-ci', '~> 3.4'
5454
spec.add_development_dependency 'rake', '~> 13.0'
5555
spec.add_development_dependency 'rubocop', '~> 0.66.0'
5656
spec.add_development_dependency 'simplecov-cobertura', '~> 1.4.2'

apis/test/test_helper.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
require 'influxdb-client'
3434

3535
require 'minitest/autorun'
36-
require 'minitest/reporters'
37-
Minitest::Reporters.use! unless ENV['RM_INFO']
36+
require 'minitest/ci'
3837

3938
require 'webmock/minitest'

lib/influxdb2/client/write_api.rb

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,15 @@ def hash
249249
def _worker
250250
return nil unless @write_options.write_type == WriteType::BATCHING
251251

252-
@worker || WORKER_MUTEX.synchronize { @worker ||= Worker.new(self, @write_options) }
252+
return @worker if @worker
253+
254+
WORKER_MUTEX.synchronize do
255+
# this return is necessary because the previous mutex holder
256+
# might have already assigned the @worker
257+
return @worker if @worker
258+
259+
@worker = Worker.new(self, @write_options)
260+
end
253261
end
254262

255263
def _add_default_tags(data)

test/test_helper.rb

Lines changed: 9 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -18,69 +18,24 @@
1818
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1919
# THE SOFTWARE.
2020

21-
begin
22-
require 'simplecov'
23-
SimpleCov.start do
24-
add_filter 'lib/influxdb2/client/models/'
25-
add_filter 'test/influxdb'
26-
end
27-
rescue LoadError
21+
require 'simplecov'
22+
SimpleCov.start do
23+
add_filter 'lib/influxdb2/client/models/'
24+
add_filter 'test/influxdb'
2825
end
2926

30-
begin
31-
if ENV['CI'] == 'true'
32-
require 'simplecov-cobertura'
33-
SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
34-
end
35-
rescue LoadError
27+
if ENV['CI'] == 'true'
28+
require 'simplecov-cobertura'
29+
SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
3630
end
3731

3832
$LOAD_PATH.unshift File.expand_path('../lib', __dir__)
3933
require 'influxdb-client'
4034

4135
require 'minitest/autorun'
42-
begin
43-
require 'minitest/ci'
44-
rescue LoadError
45-
end
46-
47-
begin
48-
require 'webmock/minitest'
49-
rescue LoadError
50-
end
51-
52-
if !defined? WebMock
53-
module WebMock
54-
def self.disable_net_connect!(*_args); end
55-
def self.allow_net_connect!(*_args); end
56-
def self.reset!(*_args); end
57-
end
36+
require 'minitest/ci'
5837

59-
def stub_request(*_args)
60-
Class.new do
61-
def self.to_return(*_args)
62-
self
63-
end
64-
65-
def self.then
66-
self
67-
end
68-
end
69-
end
70-
71-
def assert_requested(*_args)
72-
end
73-
74-
class MiniTest::Test
75-
def before_setup
76-
super
77-
skip 'WebMock is required for this test' if self.class.name != 'QueryApiIntegrationTest' &&
78-
self.class.name != 'DeleteApiIntegrationTest' &&
79-
self.class.name != 'WriteApiIntegrationTest' &&
80-
self.class.name != 'ClientTest'
81-
end
82-
end
83-
end
38+
require 'webmock/minitest'
8439

8540
class MockLogger
8641
attr_accessor :messages

0 commit comments

Comments
 (0)