zabbix_protocol 0.1.1 → 0.1.2
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.
- checksums.yaml +4 -4
- data/lib/zabbix_protocol/version.rb +1 -1
- data/lib/zabbix_protocol.rb +9 -9
- data/spec/zabbix_protocol_spec.rb +3 -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: 213565fc54f02a1b972de73fec7051a43f3e402a
|
4
|
+
data.tar.gz: 1c765a2e9b10acfa8fdd5165c3d5ecc192980e3a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02f4a321facacce7f61f74bd07e868c4bb2b15ab81ade4c9394cc1dfebd1f98dec9d375aae859ed9967da76c2d801326edd0133ee7b082c03963d8c44b0e3697
|
7
|
+
data.tar.gz: a8a80824b2e352e19ab7725133e53d0988c2b5013d2aca91a14dd4c91e0d60ea071f4a086c56856bae9d7063094c0d246c8ad3c6acb6bb718f9c988406a72f28
|
data/lib/zabbix_protocol.rb
CHANGED
@@ -27,33 +27,33 @@ module ZabbixProtocol
|
|
27
27
|
].join
|
28
28
|
end
|
29
29
|
|
30
|
-
def self.load(
|
31
|
-
unless
|
32
|
-
raise TypeError, "wrong argument type #{
|
30
|
+
def self.load(data)
|
31
|
+
unless data.is_a?(String)
|
32
|
+
raise TypeError, "wrong argument type #{data.class} (expected String)"
|
33
33
|
end
|
34
34
|
|
35
|
-
if
|
36
|
-
raise Error, "
|
35
|
+
if data.length < MIN_RESPONSE_LEN
|
36
|
+
raise Error, "data length is too short (data: #{data.inspect})"
|
37
37
|
end
|
38
38
|
|
39
|
-
data =
|
39
|
+
data = data.dup
|
40
40
|
header = data.slice!(0, ZABBIX_HEADER.length)
|
41
41
|
|
42
42
|
if header != ZABBIX_HEADER
|
43
|
-
raise Error, "invalid header: #{header.inspect}"
|
43
|
+
raise Error, "invalid header: #{header.inspect} (data: #{data.inspect})"
|
44
44
|
end
|
45
45
|
|
46
46
|
version = data.slice!(0, ZABBIX_VERSION.length)
|
47
47
|
|
48
48
|
if version != ZABBIX_VERSION
|
49
|
-
raise Error, "unsupported version: #{version.inspect}"
|
49
|
+
raise Error, "unsupported version: #{version.inspect} (data: #{data.inspect})"
|
50
50
|
end
|
51
51
|
|
52
52
|
data_len = data.slice!(0, DATA_LEN_BYTES)
|
53
53
|
data_len = data_len.unpack("Q").first
|
54
54
|
|
55
55
|
if data_len != data.length
|
56
|
-
raise Error, "invalid data length: expected=#{data_len}, actual=#{data.length}"
|
56
|
+
raise Error, "invalid data length: expected=#{data_len}, actual=#{data.length} (data: #{data.inspect})"
|
57
57
|
end
|
58
58
|
|
59
59
|
begin
|
@@ -48,21 +48,21 @@ describe ZabbixProtocol do
|
|
48
48
|
it "raise error when response is too short string" do
|
49
49
|
expect {
|
50
50
|
subject.load("x")
|
51
|
-
}.to raise_error
|
51
|
+
}.to raise_error 'data length is too short (data: "x")'
|
52
52
|
end
|
53
53
|
|
54
54
|
it "raise error when unsupported version" do
|
55
55
|
expect {
|
56
56
|
res_data = "ZBXD\x02\b\x00\x00\x00\x00\x00\x00\x001.000000"
|
57
57
|
subject.load(res_data)
|
58
|
-
}.to raise_error 'unsupported version: "\\u0002"'
|
58
|
+
}.to raise_error 'unsupported version: "\\u0002" (data: "\b\u0000\u0000\u0000\u0000\u0000\u0000\u00001.000000")'
|
59
59
|
end
|
60
60
|
|
61
61
|
it "raise error when invalid data length" do
|
62
62
|
expect {
|
63
63
|
res_data = "ZBXD\x01\x00\x00\x00\x00\x00\x00\x00\x001.000000"
|
64
64
|
subject.load(res_data)
|
65
|
-
}.to raise_error
|
65
|
+
}.to raise_error 'invalid data length: expected=0, actual=8 (data: "1.000000")'
|
66
66
|
end
|
67
67
|
end
|
68
68
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zabbix_protocol
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|