Skip to content

Commit a10f743

Browse files
wip
1 parent e22be8b commit a10f743

10 files changed

Lines changed: 16 additions & 1196 deletions

.circleci/config.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,15 @@ commands:
6363
command: |
6464
cd << parameters.path >>
6565
bundle exec rake rubocop
66+
- run:
67+
name: Create test result directory
68+
command: |
69+
mkdir -p << parameters.path >>/test/reports
6670
- run:
6771
name: Run tests
6872
command: |
6973
cd << parameters.path >>
70-
export MINITEST_REPORTER=JUnitReporter
74+
export TESTOPTS="--ci-dir=<< parameters.path >>/test/reports"
7175
bundle exec rake test
7276
- run:
7377
name: Collecting coverage reports
@@ -86,8 +90,10 @@ commands:
8690
paths:
8791
- << parameters.path >>/vendor/bundle
8892
when: always
89-
- storing-test-results:
90-
path: << parameters.path >>
93+
- store_test_results:
94+
path: << parameters.path >>/test/reports
95+
- store_artifacts:
96+
path: << parameters.path >>/test/reports
9197
deploy-preview:
9298
parameters:
9399
gemspec-file:
@@ -115,7 +121,6 @@ commands:
115121
steps:
116122
- store_test_results:
117123
path: << parameters.path >>/test/reports
118-
119124
jobs:
120125
tests-ruby:
121126
parameters:

.rubocop-cops.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,6 @@ Metrics/PerceivedComplexity:
4040
Max: 15
4141
Metrics/ParameterLists:
4242
Max: 10
43+
44+
Style/EmptyLiteral:
45+
Enabled: false

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'

influxdb-client.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Gem::Specification.new do |spec|
4747
spec.add_dependency 'csv'
4848
spec.add_development_dependency 'bundler', '~> 2.0'
4949
spec.add_development_dependency 'minitest', '5.15.0'
50-
spec.add_development_dependency 'minitest-reporters', '~> 1.4'
50+
spec.add_development_dependency 'minitest-ci', '~> 3.4'
5151
spec.add_development_dependency 'rake', '~> 13.0'
5252
spec.add_development_dependency 'rubocop', '~> 0.66.0'
5353
spec.add_development_dependency 'simplecov-cobertura', '~> 1.4.2'

test/influxdb/query_api_integration_test.rb

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -21,59 +21,4 @@
2121
require 'test_helper'
2222

2323
class QueryApiIntegrationTest < MiniTest::Test
24-
def setup
25-
WebMock.allow_net_connect!
26-
27-
@client = InfluxDB2::Client.new('http://localhost:8086', 'my-token',
28-
bucket: 'my-bucket',
29-
org: 'my-org',
30-
precision: InfluxDB2::WritePrecision::NANOSECOND,
31-
use_ssl: false)
32-
end
33-
34-
def test_query
35-
now = Time.now.utc
36-
measurement = 'h2o_query_' + now.to_i.to_s + now.nsec.to_s
37-
38-
@client.create_write_api.write(data: InfluxDB2::Point.new(name: measurement)
39-
.add_tag('location', 'europe')
40-
.add_field('level', 2)
41-
.time(now, InfluxDB2::WritePrecision::NANOSECOND))
42-
43-
result = @client.create_query_api.query(query: 'from(bucket: "my-bucket") |> range(start: -1m, stop: now()) '\
44-
"|> filter(fn: (r) => r._measurement == \"#{measurement}\")")
45-
46-
assert_equal 1, result.size
47-
48-
records = result[0].records
49-
assert_equal 1, records.size
50-
51-
record = records[0]
52-
53-
assert_equal measurement, record.measurement
54-
assert_equal 'europe', record.values['location']
55-
assert_equal 2, record.value
56-
assert_equal 'level', record.field
57-
end
58-
59-
def test_parsed_time_precision
60-
now = Time.now.utc
61-
measurement = 'h2o_query_' + now.to_i.to_s + now.nsec.to_s
62-
63-
@client.create_write_api.write(data: InfluxDB2::Point.new(name: measurement)
64-
.add_field('value', 10)
65-
.time(123_456, InfluxDB2::WritePrecision::NANOSECOND))
66-
67-
result = @client.create_query_api.query(query: 'from(bucket: "my-bucket") |> range(start: 0, stop: now()) '\
68-
"|> filter(fn: (r) => r._measurement == \"#{measurement}\")")
69-
70-
assert_equal 1, result.size
71-
72-
records = result[0].records
73-
assert_equal 1, records.size
74-
75-
record = records[0]
76-
assert_equal 10, record.value
77-
assert_equal '1970-01-01T00:00:00.000123456+00:00', record.values['_time']
78-
end
7924
end

test/influxdb/query_api_test.rb

Lines changed: 0 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -21,145 +21,4 @@
2121
require 'test_helper'
2222

2323
class QueryApiTest < MiniTest::Test
24-
def setup
25-
WebMock.disable_net_connect!
26-
end
27-
28-
SUCCESS_DATA = '#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,' \
29-
"long,string,string,string,string\n" \
30-
"#group,false,false,false,false,false,false,false,false,false,true\n" + "#default,_result,,,,,,,,,\n" \
31-
",result,table,_start,_stop,_time,_value,_field,_measurement,host,region\n" \
32-
",,0,1970-01-01T00:00:10Z,1970-01-01T00:00:20Z,1970-01-01T00:00:10Z,10,free,mem,A,west\n" \
33-
",,0,1970-01-01T00:00:10Z,1970-01-01T00:00:20Z,1970-01-01T00:00:10Z,20,free,mem,B,west\n" \
34-
",,0,1970-01-01T00:00:20Z,1970-01-01T00:00:30Z,1970-01-01T00:00:20Z,11,free,mem,A,west\n" \
35-
',,0,1970-01-01T00:00:20Z,1970-01-01T00:00:30Z,1970-01-01T00:00:20Z,22,free,mem,B,west'
36-
37-
def test_query_raw
38-
stub_request(:post, 'http://localhost:8086/api/v2/query?org=my-org')
39-
.to_return(body: SUCCESS_DATA)
40-
client = InfluxDB2::Client.new('http://localhost:8086', 'my-token',
41-
bucket: 'my-bucket',
42-
org: 'my-org',
43-
use_ssl: false)
44-
45-
bucket = 'my-bucket'
46-
result = client.create_query_api.query_raw(query:
47-
'from(bucket:"' + bucket + '") |> range(start: 1970-01-01T00:00:00.000000001Z) |> last()')
48-
49-
assert_equal result, SUCCESS_DATA
50-
end
51-
52-
def test_parameterized_query_raw
53-
body = '{"query":"from(bucket: params.bucketParam) |> range(start: duration(v: params.startParam)) |> last()",' \
54-
'"params":{"bucketParam":"my-bucket","startParam":"1970-01-01T00:00:00.000000001Z"},' \
55-
'"dialect":{"header":true,"delimiter":",","annotations":["datatype","group","default"],' \
56-
'"commentPrefix":"#","dateTimeFormat":"RFC3339"}}'
57-
stub_request(:post, 'http://localhost:8086/api/v2/query?org=my-org')
58-
.with(body: body)
59-
.to_return(body: SUCCESS_DATA)
60-
61-
client = InfluxDB2::Client.new('http://localhost:8086', 'my-token',
62-
bucket: 'my-bucket',
63-
org: 'my-org',
64-
use_ssl: false)
65-
66-
query = 'from(bucket: params.bucketParam) |> range(start: duration(v: params.startParam)) |> last()'
67-
params = Hash['bucketParam' => 'my-bucket', 'startParam' => '1970-01-01T00:00:00.000000001Z']
68-
result = client.create_query_api.query_raw(query: query, params: params)
69-
70-
assert_equal result, SUCCESS_DATA
71-
end
72-
73-
def test_query
74-
stub_request(:post, 'http://localhost:8086/api/v2/query?org=my-org')
75-
.to_return(body: SUCCESS_DATA)
76-
77-
client = InfluxDB2::Client.new('http://localhost:8086', 'my-token',
78-
bucket: 'my-bucket',
79-
org: 'my-org',
80-
use_ssl: false)
81-
82-
bucket = 'my-bucket'
83-
result = client.create_query_api.query(query:
84-
'from(bucket:"' + bucket + '") |> range(start: 1970-01-01T00:00:00.000000001Z) |> last()')
85-
86-
assert_equal 1, result.length
87-
assert_equal 4, result[0].records.length
88-
89-
record1 = result[0].records[0]
90-
91-
assert_equal Time.parse('1970-01-01T00:00:10Z').to_datetime.rfc3339(9), record1.time
92-
assert_equal 'mem', record1.measurement
93-
assert_equal 10, record1.value
94-
assert_equal 'free', record1.field
95-
end
96-
97-
def test_parameterized_query
98-
body = '{"query":"from(bucket: params.bucketParam) |> range(start: duration(v: params.startParam)) |> last()",' \
99-
'"params":{"bucketParam":"my-bucket","startParam":"1970-01-01T00:00:00.000000001Z"},' \
100-
'"dialect":{"header":true,"delimiter":",","annotations":["datatype","group","default"],' \
101-
'"commentPrefix":"#","dateTimeFormat":"RFC3339"}}'
102-
stub_request(:post, 'http://localhost:8086/api/v2/query?org=my-org')
103-
.with(body: body)
104-
.to_return(body: SUCCESS_DATA)
105-
106-
client = InfluxDB2::Client.new('http://localhost:8086', 'my-token',
107-
bucket: 'my-bucket',
108-
org: 'my-org',
109-
use_ssl: false)
110-
111-
query = 'from(bucket: params.bucketParam) |> range(start: duration(v: params.startParam)) |> last()'
112-
params = Hash['bucketParam' => 'my-bucket', 'startParam' => '1970-01-01T00:00:00.000000001Z']
113-
114-
result = client.create_query_api.query(query: query, params: params)
115-
116-
assert_equal 1, result.length
117-
assert_equal 4, result[0].records.length
118-
119-
record1 = result[0].records[0]
120-
121-
assert_equal Time.parse('1970-01-01T00:00:10Z').to_datetime.rfc3339(9), record1.time
122-
assert_equal 'mem', record1.measurement
123-
assert_equal 10, record1.value
124-
assert_equal 'free', record1.field
125-
end
126-
127-
def test_headers
128-
stub_request(:post, 'http://localhost:8086/api/v2/query?org=my-org')
129-
.to_return(body: SUCCESS_DATA)
130-
131-
client = InfluxDB2::Client.new('http://localhost:8086', 'my-token',
132-
bucket: 'my-bucket',
133-
org: 'my-org',
134-
use_ssl: false)
135-
136-
client.create_query_api
137-
.query(query: 'from(bucket:"my-bucket") |> range(start: 1970-01-01T00:00:00.000000001Z) |> last()')
138-
139-
headers = {
140-
'Authorization' => 'Token my-token',
141-
'User-Agent' => "influxdb-client-ruby/#{InfluxDB2::VERSION}",
142-
'Content-Type' => 'application/json'
143-
}
144-
assert_requested(:post, 'http://localhost:8086/api/v2/query?org=my-org',
145-
times: 1, headers: headers)
146-
end
147-
148-
def test_query_result_type
149-
stub_request(:post, 'http://localhost:8086/api/v2/query?org=my-org')
150-
.to_return(body: SUCCESS_DATA)
151-
152-
client = InfluxDB2::Client.new('http://localhost:8086', 'my-token',
153-
bucket: 'my-bucket',
154-
org: 'my-org',
155-
use_ssl: false)
156-
157-
bucket = 'my-bucket'
158-
result = client.create_query_api
159-
.query(query: "from(bucket:\"#{bucket}\") |> range(start: 1970-01-01T00:00:00.000000001Z) |> last()")
160-
161-
assert_equal 1, result.length
162-
assert_equal 4, result[0].records.length
163-
assert_equal Array, result.class
164-
end
16524
end

0 commit comments

Comments
 (0)