influxdb 0.3.10 → 0.3.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/CHANGELOG.md +5 -0
- data/lib/influxdb/point_value.rb +7 -1
- data/lib/influxdb/version.rb +1 -1
- data/smoke/noaa-sample-data.rb +24 -6
- data/spec/influxdb/point_value_spec.rb +10 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 517db1c21a2efdd7d7c7e5e94ae64cca4eb3a5c3
|
4
|
+
data.tar.gz: dd2672cc951a3a920375902e65e9b15252d01c8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: febf1da8976eb80dd67dc0e85c671e1e1f650c7fdc74da7894ca2b6df9e434c63ed5fc700efc7c105899a9c8146c4ad8e61f902da73298588cb3b1f38d01c279
|
7
|
+
data.tar.gz: 4d735fb568163110e21c1a8cc0300658948a99489391fe41476e6308fabf16de027211ae149912328bbbd126b5823e98042ac8418f4c97e6280ce3a8b1db211a
|
data/.travis.yml
CHANGED
@@ -38,7 +38,7 @@ matrix:
|
|
38
38
|
- rvm: 2.3.1
|
39
39
|
env: TEST_TASK=smoke influx_version=0.13.0 pkghash=4f0aa76fee22cf4c18e2a0779ba4f462
|
40
40
|
- rvm: 2.3.1
|
41
|
-
env: TEST_TASK=smoke influx_version=1.0.
|
41
|
+
env: TEST_TASK=smoke influx_version=1.0.2 pkghash=3e4c349cb57507913d9abda1459bdbed
|
42
42
|
- rvm: 2.3.1
|
43
43
|
env: TEST_TASK=smoke influx_version=nightly channel=nightlies
|
44
44
|
fail_fast: true
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,11 @@ For the full commit log, [see here](https://github.com/influxdata/influxdb-ruby/
|
|
6
6
|
|
7
7
|
- None.
|
8
8
|
|
9
|
+
## v0.3.11, released 2016-10-12
|
10
|
+
|
11
|
+
- Bugfix/Enhancement in `PointValue#escape`. Input strings are now scrubbed
|
12
|
+
of invalid UTF byte sequences (#169, @ton31337).
|
13
|
+
|
9
14
|
## v0.3.10, released 2016-10-03
|
10
15
|
|
11
16
|
- Bugfix in `Query::Builder#quote` (#168, @cthulhu666).
|
data/lib/influxdb/point_value.rb
CHANGED
@@ -30,8 +30,14 @@ module InfluxDB
|
|
30
30
|
}.freeze
|
31
31
|
|
32
32
|
def escape(s, type)
|
33
|
+
# rubocop:disable Style/AlignParameters
|
34
|
+
s = s.encode "UTF-8".freeze, "binary".freeze,
|
35
|
+
invalid: :replace,
|
36
|
+
undef: :replace,
|
37
|
+
replace: "".freeze
|
38
|
+
|
33
39
|
ESCAPES[type].each do |ch|
|
34
|
-
s = s.gsub(ch) { "\\#{ch}" }
|
40
|
+
s = s.encode.gsub(ch) { "\\#{ch}" }
|
35
41
|
end
|
36
42
|
s
|
37
43
|
end
|
data/lib/influxdb/version.rb
CHANGED
data/smoke/noaa-sample-data.rb
CHANGED
@@ -12,11 +12,19 @@ client = InfluxDB::Client.new \
|
|
12
12
|
password: "resu_tset",
|
13
13
|
retry: 4
|
14
14
|
|
15
|
+
TestFailure = Class.new StandardError
|
16
|
+
TestAllowedFailure = Class.new StandardError
|
17
|
+
|
15
18
|
def test_case(name)
|
16
19
|
print name
|
17
20
|
yield
|
18
21
|
puts " [ OK ]"
|
19
|
-
|
22
|
+
|
23
|
+
rescue TestAllowedFailure
|
24
|
+
puts " [WARN]"
|
25
|
+
puts $!.message
|
26
|
+
|
27
|
+
rescue TestFailure
|
20
28
|
puts " [FAIL]"
|
21
29
|
puts $!.message
|
22
30
|
exit 1
|
@@ -27,21 +35,27 @@ test_case "See all five measurements?" do
|
|
27
35
|
expected = %w[ average_temperature h2o_feet h2o_pH h2o_quality h2o_temperature ]
|
28
36
|
actual = result[0]["values"].map{|v| v["name"] }
|
29
37
|
unexpected = actual - expected
|
30
|
-
|
38
|
+
if unexpected.any?
|
39
|
+
raise TestFailure, "unexpected measurements: #{unexpected.join(", ")}"
|
40
|
+
end
|
31
41
|
end
|
32
42
|
|
33
43
|
test_case "Count the number of non-null values of water_level in h2o_feet" do
|
34
44
|
result = client.query "select count(water_level) from h2o_feet"
|
35
45
|
expected = 15258
|
36
46
|
actual = result[0]["values"][0]["count"]
|
37
|
-
|
47
|
+
if expected != actual
|
48
|
+
raise TestFailure, "expected to find #{expected} points, got #{actual}"
|
49
|
+
end
|
38
50
|
end
|
39
51
|
|
40
52
|
test_case "Select the first five observations in the measurement h2o_feet" do
|
41
53
|
result = client.query("select * from h2o_feet limit 5").first["values"]
|
42
54
|
expected = 5
|
43
55
|
actual = result.size
|
44
|
-
|
56
|
+
if expected != actual
|
57
|
+
raise TestFailure, "expected #{expected} observations, got #{actual}"
|
58
|
+
end
|
45
59
|
|
46
60
|
expected = {
|
47
61
|
"time" => "2015-08-18T00:00:00Z",
|
@@ -49,7 +63,9 @@ test_case "Select the first five observations in the measurement h2o_feet" do
|
|
49
63
|
"location" => "coyote_creek",
|
50
64
|
"water_level" => 8.12
|
51
65
|
}
|
52
|
-
|
66
|
+
if expected != result[0]
|
67
|
+
raise TestAllowedFailure, "unexpected first result, got #{result[0]}"
|
68
|
+
end
|
53
69
|
|
54
70
|
expected = {
|
55
71
|
"time" => "2015-08-18T00:12:00Z",
|
@@ -57,5 +73,7 @@ test_case "Select the first five observations in the measurement h2o_feet" do
|
|
57
73
|
"location" => "coyote_creek",
|
58
74
|
"water_level" => 7.887
|
59
75
|
}
|
60
|
-
|
76
|
+
if expected != result[-1]
|
77
|
+
raise TestAllowedFailure, "unexpected last result, got #{result[-1]}"
|
78
|
+
end
|
61
79
|
end
|
@@ -5,15 +5,22 @@ describe InfluxDB::PointValue do
|
|
5
5
|
let(:data) do
|
6
6
|
{
|
7
7
|
series: '1= ,"\\1',
|
8
|
-
tags: {
|
9
|
-
|
8
|
+
tags: {
|
9
|
+
'2= ,"\\2' => '3= ,"\\3'
|
10
|
+
},
|
11
|
+
values: {
|
12
|
+
'4= ,"\\4' => '5= ,"\\5',
|
13
|
+
intval: 5,
|
14
|
+
floatval: 7.0,
|
15
|
+
encoding: "a\255 b"
|
16
|
+
}
|
10
17
|
}
|
11
18
|
end
|
12
19
|
|
13
20
|
it 'should escape correctly' do
|
14
21
|
point = InfluxDB::PointValue.new(data)
|
15
22
|
expected = %(1=\\ \\,"\\1,2\\=\\ \\,"\\2=3\\=\\ \\,"\\3 ) +
|
16
|
-
%(4\\=\\ \\,\\"\\4="5= ,\\"\\5",intval=5i,floatval=7.0)
|
23
|
+
%(4\\=\\ \\,\\"\\4="5= ,\\"\\5",intval=5i,floatval=7.0,encoding="a b")
|
17
24
|
expect(point.dump).to eq(expected)
|
18
25
|
end
|
19
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: influxdb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Todd Persen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|