zabbixapi 2.4.7 → 2.4.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4e527079a1480ac3175e6cb8db6b1754b2b59bec
4
- data.tar.gz: a032b442b07c115dc0b5275dc1c26be1a387cfe8
3
+ metadata.gz: 9993377c6f344fef920fc248798eec2d010ba7ec
4
+ data.tar.gz: 96bb61c40517a55efd1f0ca1c2dde18c7d24677b
5
5
  SHA512:
6
- metadata.gz: e6367ff0bed467de9596ed84d92c6e507b417c5b90203278c24a8f0963bbe2b16177ed8ff46010437712cbe81ca09ad029b9cb740a363304a6490ef1c763ee5b
7
- data.tar.gz: d9a3b31befd619ab851aad5392bd2d2c514bf9437b313c6f4917d6ee5e15642e16a570ae089e20b68f58bf5868f7030a57ed29c9ecd7a4b2ac09c80b8bd74caf
6
+ metadata.gz: 482de14774541ede7972c80dd4b082539412f5b7bfa08ccf9b2fedcc066b415319e6226665c691f4688417b2b1647256af08751c7d70ec8c59c50932ae558f46
7
+ data.tar.gz: 246494db24bc2cc0527459d6874f2054e58259910f9f21db23375b82ea064c3aeef882993a9e68ae4e901fa725fa3d5e2aab7c2ad4b0aa380fbd7a254958850f
@@ -6,22 +6,25 @@ rvm:
6
6
  - 1.9.3
7
7
  - 2.0
8
8
  - 2.1
9
+ - 2.2
10
+ dist: trusty
11
+ sudo: required
12
+
9
13
  before_script:
10
- - sudo apt-get purge postgresql-9.1 postgresql-9.2 postgresql-9.3 postgresql-9.4 postgresql-9.5
11
- - wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
12
- - echo "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list
14
+ - sudo apt-get purge postgresql-9.1 postgresql-9.2 postgresql-9.3 postgresql-9.4 -y
15
+ # - wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
16
+ # - echo "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list
13
17
  - wget -qO - http://repo.zabbix.com/zabbix-official-repo.key | sudo apt-key add -
14
18
  - echo "deb http://repo.zabbix.com/zabbix/3.0/ubuntu/ trusty main" | sudo tee /etc/apt/sources.list.d/zabbix.list
15
19
  - sudo apt-get update
16
20
  - sudo dpkg-reconfigure locales
17
- - sudo apt-get install curl
18
- - sudo apt-get install apache2
19
- - sudo apt-get install libiodbc2
20
- - sudo apt-get install postgresql-9.5
21
- - sudo apt-get install zabbix-frontend-php
21
+ - sudo apt-get install curl -y
22
+ - sudo apt-get install apache2 -y
23
+ - sudo apt-get install libiodbc2 -y
24
+ - sudo apt-get install zabbix-frontend-php -y
22
25
  - sudo useradd -r zabbix
23
- - sudo apt-get install zabbix-server-pgsql
24
- - sudo apt-get install php5-pgsql
26
+ - sudo apt-get install zabbix-server-pgsql -y
27
+ - sudo apt-get install php5-pgsql -y
25
28
  - sudo sed -i "s,;date.timezone =,date.timezone = 'US/Eastern'," /etc/php5/apache2/php.ini
26
29
  - 'echo -e "local all postgres trust\nlocal all all trust\nhost all all 127.0.0.1/32 trust\nhost all all ::1/128 trust" | sudo tee /etc/postgresql/9.5/main/pg_hba.conf'
27
30
  - sudo /etc/init.d/postgresql restart
@@ -1,3 +1,7 @@
1
+ ## 2.4.7
2
+
3
+ [PR #45](https://github.com/express42/zabbixapi/pull/45) Add support for zabbix 3.0.x (Thanx @wandenberg)
4
+
1
5
  ## 2.4.6
2
6
 
3
7
  [PR #39](https://github.com/express42/zabbixapi/issues/39) Add support for maintenance API
data/README.md CHANGED
@@ -9,9 +9,10 @@ Simple and lightweight ruby module for work with zabbix api
9
9
  * 1.8.9 (api version 1.3) /zabbixapi 0.6.x [branch zabbix1.8](https://github.com/express42/zabbixapi/tree/zabbix1.8)
10
10
  * 2.0.x (api version 1.4 -> 2.0.10) /zabbixapi 2.0.x [branch zabbix2.0](https://github.com/express42/zabbixapi/tree/zabbix2.0)
11
11
  * 2.2.x (api version 2.2.x) /zabbixapi 2.2.x [branch zabbix2.2](https://github.com/express42/zabbixapi/tree/zabbix2.2)
12
- * 2.4.x (api version 2.2.x) /zabbixapi 2.4.x [master or branch zabbix2.4](https://github.com/express42/zabbixapi/)
12
+ * 2.4.x (api version 2.2.x) /zabbixapi 2.4.x [master](https://github.com/express42/zabbixapi/)
13
+ * 3.0.x (api version 3.0.x) /zabbixapi 2.4.x [master](https://github.com/express42/zabbixapi/)
13
14
 
14
- Because Zabbix 2.4 is a main branch of Zabbix, so master of zabbixapi supports this version of zabbix.
15
+ Because Zabbix 3.0 is a main branch of Zabbix, so master of zabbixapi supports this version of zabbix.
15
16
 
16
17
  ## Version policy
17
18
 
@@ -20,15 +21,16 @@ Zabbixapi has next version policy:
20
21
  * for zabbix 2.0.x you should use zabbixapi 2.0.y
21
22
  * for zabbix 2.2.x you should use zabbixapi 2.2.y
22
23
  * for zabbix 2.4.x you should use zabbixapi 2.4.y
24
+ * for zabbix 3.0.x you should use zabbixapi 2.4.y (>= 2.4.7)
23
25
 
24
26
  The PATCH (third digit) version of zabbixapi should not correspond to PATCH version of zabbix, for example
25
27
  zabbixapi-2.0.x should works with all version of zabbix 2.0.y
26
28
 
27
- We support only two last versions of zabbix (2.2 and 2.4), so you should consider zabbixapi 0.6.x and 2.0.x depricated.
29
+ We support only two last versions of zabbix (2.4 and 3.0), so you should consider zabbixapi 0.6.x, 2.0.x and 2.2.x depricated.
28
30
 
29
31
  ## Installation
30
32
  ```
31
- gem install zabbixapi -v 2.4.2
33
+ gem install zabbixapi -v 2.4.7
32
34
  ```
33
35
 
34
36
  ## Getting Started
@@ -455,4 +457,4 @@ zbx.query(
455
457
  ## Zabbix documentation
456
458
 
457
459
  * [Zabbix Project Homepage](http://zabbix.com/)
458
- * [Zabbix Api docs](https://www.zabbix.com/documentation/2.4/manual/api/reference)
460
+ * [Zabbix Api docs](https://www.zabbix.com/documentation/3.0/manual/api/reference)
@@ -24,6 +24,7 @@ require "zabbixapi/classes/usergroups"
24
24
  require "zabbixapi/classes/usermacros"
25
25
  require "zabbixapi/classes/users"
26
26
  require "zabbixapi/classes/configurations"
27
+ require "zabbixapi/classes/actions"
27
28
 
28
29
  class ZabbixApi
29
30
 
@@ -109,4 +110,8 @@ class ZabbixApi
109
110
  @configurations ||= Configurations.new(@client)
110
111
  end
111
112
 
113
+ def actions
114
+ @actions ||= Actions.new(@client)
115
+ end
116
+
112
117
  end
@@ -2,7 +2,7 @@ class ZabbixApi
2
2
  class Basic
3
3
 
4
4
  def create(data)
5
- log "[DEBUG] Call create with parametrs: #{data.inspect}"
5
+ log "[DEBUG] Call create with parameters: #{data.inspect}"
6
6
 
7
7
  data_with_default = default_options.empty? ? data : merge_params(default_options, data)
8
8
  data_create = [data_with_default]
@@ -11,7 +11,7 @@ class ZabbixApi
11
11
  end
12
12
 
13
13
  def delete(data)
14
- log "[DEBUG] Call delete with parametrs: #{data.inspect}"
14
+ log "[DEBUG] Call delete with parameters: #{data.inspect}"
15
15
 
16
16
  data_delete = [data]
17
17
  result = @client.api_request(:method => "#{method_name}.delete", :params => data_delete)
@@ -19,14 +19,14 @@ class ZabbixApi
19
19
  end
20
20
 
21
21
  def create_or_update(data)
22
- log "[DEBUG] Call create_or_update with parametrs: #{data.inspect}"
22
+ log "[DEBUG] Call create_or_update with parameters: #{data.inspect}"
23
23
 
24
24
  id = get_id(indentify.to_sym => data[indentify.to_sym])
25
25
  id ? update(data.merge(key.to_sym => id.to_s)) : create(data)
26
26
  end
27
27
 
28
28
  def update(data, force=false)
29
- log "[DEBUG] Call update with parametrs: #{data.inspect}"
29
+ log "[DEBUG] Call update with parameters: #{data.inspect}"
30
30
 
31
31
  dump = {}
32
32
  item_id = data[key.to_sym].to_i
@@ -46,7 +46,7 @@ class ZabbixApi
46
46
  end
47
47
 
48
48
  def get_full_data(data)
49
- log "[DEBUG] Call get_full_data with parametrs: #{data.inspect}"
49
+ log "[DEBUG] Call get_full_data with parameters: #{data.inspect}"
50
50
 
51
51
  @client.api_request(
52
52
  :method => "#{method_name}.get",
@@ -59,8 +59,17 @@ class ZabbixApi
59
59
  )
60
60
  end
61
61
 
62
+ def get_raw(data)
63
+ log "[DEBUG] Call get_raw with parameters: #{data.inspect}"
64
+
65
+ @client.api_request(
66
+ :method => "#{method_name}.get",
67
+ :params => data
68
+ )
69
+ end
70
+
62
71
  def dump_by_id(data)
63
- log "[DEBUG] Call dump_by_id with parametrs: #{data.inspect}"
72
+ log "[DEBUG] Call dump_by_id with parameters: #{data.inspect}"
64
73
 
65
74
  @client.api_request(
66
75
  :method => "#{method_name}.get",
@@ -82,16 +91,29 @@ class ZabbixApi
82
91
  end
83
92
 
84
93
  def get_id(data)
85
- log "[DEBUG] Call get_id with parametrs: #{data.inspect}"
86
-
87
- result = symbolize_keys( get_full_data(data) )
94
+ log "[DEBUG] Call get_id with parameters: #{data.inspect}"
95
+
96
+ # symbolize keys if the user used string keys instead of symbols
97
+ data = symbolize_keys(data) if data.key?(indentify)
98
+ # raise an error if indentify name was not supplied
99
+ name = data[indentify.to_sym]
100
+ raise ApiError.new("#{indentify} not supplied in call to get_id") if name == nil
101
+ result = @client.api_request(
102
+ :method => "#{method_name}.get",
103
+ :params => {
104
+ :filter => {
105
+ indentify.to_sym => name
106
+ },
107
+ :output => [key, indentify]
108
+ }
109
+ )
88
110
  id = nil
89
- result.each { |item| id = item[key.to_sym].to_i if item[indentify.to_sym] == data[indentify.to_sym] }
111
+ result.each { |item| id = item[key].to_i if item[indentify] == data[indentify.to_sym] }
90
112
  id
91
113
  end
92
114
 
93
115
  def get_or_create(data)
94
- log "[DEBUG] Call get_or_create with parametrs: #{data.inspect}"
116
+ log "[DEBUG] Call get_or_create with parameters: #{data.inspect}"
95
117
 
96
118
  unless (id = get_id(data))
97
119
  id = create(data)
@@ -0,0 +1,13 @@
1
+ class ZabbixApi
2
+ class Actions < Basic
3
+
4
+ def method_name
5
+ "action"
6
+ end
7
+
8
+ def indentify
9
+ "name"
10
+ end
11
+
12
+ end
13
+ end
@@ -27,7 +27,7 @@ class ZabbixApi
27
27
 
28
28
  def initialize(options = {})
29
29
  @options = options
30
- unless ENV['http_proxy'].nil?
30
+ if ENV['http_proxy'] != nil && options[:no_proxy] != true
31
31
  @proxy_uri = URI.parse(ENV['http_proxy'])
32
32
  @proxy_host = @proxy_uri.host
33
33
  @proxy_port = @proxy_uri.port
@@ -1,3 +1,3 @@
1
1
  class ZabbixApi
2
- VERSION = "2.4.7"
2
+ VERSION = "2.4.8"
3
3
  end
@@ -0,0 +1,79 @@
1
+ #encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'action' do
6
+ before do
7
+ @actionname = gen_name 'action'
8
+ @usergroupid = zbx.usergroups.create(:name => gen_name('usergroup'))
9
+ @actiondata = {
10
+ :name => @actionname,
11
+ :eventsource => '0', # event source is a triggerid
12
+ :status => '0', # action is enabled
13
+ :esc_period => '120', # how long each step should take
14
+ :def_shortdata => "Email header",
15
+ :def_longdata => "Email content",
16
+ :filter => {
17
+ :evaltype => '1', # perform 'and' between the conditions
18
+ :conditions => [
19
+ {
20
+ :conditiontype => '3', # trigger name
21
+ :operator => '2', # like
22
+ :value => 'pattern' # the pattern
23
+ },
24
+ {
25
+ :conditiontype => '5', # trigger value
26
+ :operator => '0', # equal
27
+ :value => '1' # 'on'
28
+ },
29
+ {
30
+ :conditiontype => '4', # trigger severity
31
+ :operator => '5', # >=
32
+ :value => '3' # average
33
+ }
34
+ ]
35
+ },
36
+ :operations => [
37
+ {
38
+ :operationtype => '0', # send message
39
+ :opmessage_grp => [ # who the message will be sent to
40
+ {
41
+ :usrgrpid => @usergroupid
42
+ }
43
+ ],
44
+ :opmessage => {
45
+ :default_msg => '0', # use default message
46
+ :mediatypeid => '1' # email id
47
+ }
48
+ }
49
+ ]
50
+ }
51
+ end
52
+
53
+ context 'when not exists' do
54
+ describe 'create' do
55
+ it "should return integer id" do
56
+ actionid = zbx.actions.create(@actiondata)
57
+ expect(actionid).to be_kind_of(Integer)
58
+ end
59
+ end
60
+ end
61
+
62
+ context 'when exists' do
63
+ before do
64
+ @actionid = zbx.actions.create(@actiondata)
65
+ end
66
+
67
+ describe 'create_or_update' do
68
+ it "should return id" do
69
+ expect(zbx.actions.create_or_update(@actiondata)).to eq @actionid
70
+ end
71
+ end
72
+
73
+ describe 'delete' do
74
+ it "should return id" do
75
+ expect(zbx.actions.delete(@actionid)).to eq @actionid
76
+ end
77
+ end
78
+ end
79
+ end
@@ -24,7 +24,7 @@ describe 'application' do
24
24
  :name => @application,
25
25
  :hostid => @templateid
26
26
  )
27
- applicationid.should be_kind_of(Integer)
27
+ expect(applicationid).to be_kind_of(Integer)
28
28
  end
29
29
  end
30
30
 
@@ -67,7 +67,7 @@ describe 'application' do
67
67
 
68
68
  describe "delete" do
69
69
  it "should return id" do
70
- zbx.applications.delete(@applicationid).should eq @applicationid
70
+ expect(zbx.applications.delete(@applicationid)).to eq @applicationid
71
71
  end
72
72
  end
73
73
  end
@@ -66,13 +66,13 @@ describe 'graph' do
66
66
 
67
67
  describe 'get_or_create' do
68
68
  it "should return id of existing graph" do
69
- zbx.graphs.get_or_create(
69
+ expect(zbx.graphs.get_or_create(
70
70
  :gitems => [gitems],
71
71
  :show_triggers => "0",
72
72
  :name => @graph,
73
73
  :width => "900",
74
74
  :height => "200"
75
- ).should eq @graphid
75
+ )).to eq @graphid
76
76
  end
77
77
  end
78
78
 
@@ -92,37 +92,37 @@ describe 'graph' do
92
92
 
93
93
  describe 'get_id' do
94
94
  it "should return id" do
95
- zbx.graphs.get_id( :name => @graph ).should eq @graphid
95
+ expect(zbx.graphs.get_id( :name => @graph )).to eq @graphid
96
96
  end
97
97
  end
98
98
 
99
99
  describe 'get_ids_by_host' do
100
100
  it "should contains id of graph" do
101
101
  graph_array = zbx.graphs.get_ids_by_host( :host => @host )
102
- graph_array.should be_kind_of(Array)
103
- graph_array.should include(@graphid.to_s)
102
+ expect(graph_array).to be_kind_of(Array)
103
+ expect(graph_array).to include(@graphid.to_s)
104
104
  end
105
105
  end
106
106
 
107
107
  describe 'update' do
108
108
  it "should return id" do
109
- zbx.graphs.update(
109
+ expect(zbx.graphs.update(
110
110
  :graphid => @graphid,
111
111
  :gitems => [gitems],
112
112
  :ymax_type => 1
113
- ).should eq @graphid
113
+ )).to eq @graphid
114
114
  end
115
115
  end
116
116
 
117
117
  describe 'create_or_update' do
118
118
  it "should return existing id" do
119
- zbx.graphs.create_or_update(
119
+ expect(zbx.graphs.create_or_update(
120
120
  :gitems => [gitems],
121
121
  :show_triggers => "1",
122
122
  :name => @graph,
123
123
  :width => "900",
124
124
  :height => "200"
125
- ).should eq @graphid
125
+ )).to eq @graphid
126
126
  end
127
127
  end
128
128
 
@@ -29,7 +29,7 @@ describe 'host' do
29
29
  ],
30
30
  :groups => [:groupid => @hostgroupid]
31
31
  )
32
- hostid.should be_kind_of(Integer)
32
+ expect(hostid).to be_kind_of(Integer)
33
33
  end
34
34
 
35
35
  it "should create host in multiple groups" do
@@ -54,6 +54,7 @@ describe 'host' do
54
54
  describe 'get_id' do
55
55
  it "should return nil" do
56
56
  expect(zbx.hosts.get_id(:host => @host)).to be_kind_of(NilClass)
57
+ expect(zbx.hosts.get_id('host' => @host)).to be_kind_of(NilClass)
57
58
  end
58
59
  end
59
60
  end
@@ -95,12 +96,13 @@ describe 'host' do
95
96
  describe 'get_id' do
96
97
  it "should return id of host" do
97
98
  expect(zbx.hosts.get_id(:host => @host)).to eq @hostid
99
+ expect(zbx.hosts.get_id('host' => @host)).to eq @hostid
98
100
  end
99
101
  end
100
102
 
101
103
  describe 'create_or_update' do
102
104
  it "should return id of updated host" do
103
- zbx.hosts.create_or_update(
105
+ expect(zbx.hosts.create_or_update(
104
106
  :host => @host,
105
107
  :interfaces => [
106
108
  {
@@ -113,25 +115,25 @@ describe 'host' do
113
115
  }
114
116
  ],
115
117
  :groups => [:groupid => @hostgroupid]
116
- ).should eq @hostid
118
+ )).to eq @hostid
117
119
  end
118
120
  end
119
121
 
120
122
  describe 'update' do
121
123
  it "should return id" do
122
- zbx.hosts.update(
124
+ expect(zbx.hosts.update(
123
125
  :hostid => @hostid,
124
126
  :status => 0
125
- ).should eq @hostid
127
+ )).to eq @hostid
126
128
  end
127
129
 
128
130
  it "should update groups" do
129
131
  @hostgroupid2 = zbx.hostgroups.create(:name => gen_name('hostgroup'))
130
132
 
131
- zbx.hosts.update(
133
+ expect(zbx.hosts.update(
132
134
  :hostid => @hostid,
133
135
  :groups => [ :groupid => @hostgroupid2]
134
- ).should eq @hostid
136
+ )).to eq @hostid
135
137
 
136
138
  expect(zbx.hosts.dump_by_id(:hostid => @hostid).first['groups'].first["groupid"]).to eq @hostgroupid2.to_s
137
139
 
@@ -167,9 +169,8 @@ describe 'host' do
167
169
 
168
170
  describe 'delete' do
169
171
  it "HOST: Delete" do
170
- zbx.hosts.delete( @hostid ).should eq @hostid
172
+ expect(zbx.hosts.delete( @hostid )).to eq @hostid
171
173
  end
172
174
  end
173
175
  end
174
176
  end
175
-
@@ -20,35 +20,35 @@ describe 'hostgroup' do
20
20
 
21
21
  describe 'get_id' do
22
22
  it "should return id" do
23
- zbx.hostgroups.get_id(:name => @hostgroup).should eq @hostgroupid
23
+ expect(zbx.hostgroups.get_id(:name => @hostgroup)).to eq @hostgroupid
24
24
  end
25
25
 
26
26
  it "should return nil for not existing group" do
27
- zbx.hostgroups.get_id(:name => "#{@hostgroup}______").should be_kind_of(NilClass)
27
+ expect(zbx.hostgroups.get_id(:name => "#{@hostgroup}______")).to be_kind_of(NilClass)
28
28
  end
29
29
  end
30
30
 
31
31
  describe 'get_or_create' do
32
32
  it "should return id of existing hostgroup" do
33
- zbx.hostgroups.get_or_create(:name => @hostgroup).should eq @hostgroupid
33
+ expect(zbx.hostgroups.get_or_create(:name => @hostgroup)).to eq @hostgroupid
34
34
  end
35
35
  end
36
36
 
37
37
  describe 'create_or_update' do
38
38
  it "should return id of hostgroup" do
39
- zbx.hostgroups.create_or_update(:name => @hostgroup).should eq @hostgroupid
39
+ expect(zbx.hostgroups.create_or_update(:name => @hostgroup)).to eq @hostgroupid
40
40
  end
41
41
  end
42
42
 
43
43
  describe 'all' do
44
44
  it "should contains created hostgroup" do
45
- zbx.hostgroups.all.should include(@hostgroup => @hostgroupid.to_s)
45
+ expect(zbx.hostgroups.all).to include(@hostgroup => @hostgroupid.to_s)
46
46
  end
47
47
  end
48
48
 
49
49
  describe "delete" do
50
50
  it "shold return id" do
51
- zbx.hostgroups.delete(@hostgroupid).should eq @hostgroupid
51
+ expect(zbx.hostgroups.delete(@hostgroupid)).to eq @hostgroupid
52
52
  end
53
53
  end
54
54
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe 'application' do
5
+ describe 'item' do
6
6
  before :all do
7
7
  @hostgroup = gen_name 'hostgroup'
8
8
  @hostgroupid = zbx.hostgroups.create(:name => @hostgroup)
@@ -32,13 +32,13 @@ describe 'application' do
32
32
  :hostid => @templateid,
33
33
  :applications => [@applicationid]
34
34
  )
35
- itemid.should be_kind_of(Integer)
35
+ expect(itemid).to be_kind_of(Integer)
36
36
  end
37
37
  end
38
38
 
39
39
  describe 'get_id' do
40
40
  it "should return nil" do
41
- expect(zbx.items.get_id(:host => @item)).to be_kind_of(NilClass)
41
+ expect(zbx.items.get_id(:name => @item)).to be_kind_of(NilClass)
42
42
  end
43
43
  end
44
44
  end
@@ -79,24 +79,28 @@ describe 'application' do
79
79
  end
80
80
  end
81
81
 
82
+ it "should raise error on no identity given" do
83
+ expect { zbx.items.get_id({}) }.to raise_error(ZabbixApi::ApiError)
84
+ end
85
+
82
86
  describe 'update' do
83
87
  it "should return id" do
84
- zbx.items.update(
88
+ expect(zbx.items.update(
85
89
  :itemid => zbx.items.get_id(:name => @item),
86
90
  :status => 1
87
- ).should eq @itemid
91
+ )).to eq @itemid
88
92
  end
89
93
  end
90
94
 
91
95
  describe 'create_or_update' do
92
96
  it "should update existing item" do
93
- zbx.items.create_or_update(
97
+ expect(zbx.items.create_or_update(
94
98
  :name => @item,
95
99
  :key_ => "proc.num[#{gen_name 'proc'}]",
96
100
  :status => 0,
97
101
  :hostid => @templateid,
98
102
  :applications => [@applicationid]
99
- ).should eq @itemid
103
+ )).to eq @itemid
100
104
  end
101
105
 
102
106
  it "should create item" do
@@ -123,10 +127,8 @@ describe 'application' do
123
127
  end
124
128
 
125
129
  it "should delete item from zabbix" do
126
- expect(zbx.items.get_id(:id => @itemid)).to be_nil
130
+ expect(zbx.items.get_id(:name => @item)).to be_nil
127
131
  end
128
132
  end
129
133
  end
130
134
  end
131
-
132
-
@@ -41,35 +41,35 @@ describe 'maintenance' do
41
41
 
42
42
  describe 'get_id' do
43
43
  it "should return id" do
44
- zbx.maintenance.get_id(:name => @maintenance).should eq @maintenanceid
44
+ expect(zbx.maintenance.get_id(:name => @maintenance)).to eq @maintenanceid
45
45
  end
46
46
 
47
47
  it "should return nil for not existing group" do
48
- zbx.maintenance.get_id(:name => "#{@maintenance}______").should be_kind_of(NilClass)
48
+ expect(zbx.maintenance.get_id(:name => "#{@maintenance}______")).to be_kind_of(NilClass)
49
49
  end
50
50
  end
51
51
 
52
52
  describe 'get_or_create' do
53
53
  it "should return id of existing maintenance" do
54
- zbx.maintenance.get_or_create(:name => @maintenance).should eq @maintenanceid
54
+ expect(zbx.maintenance.get_or_create(:name => @maintenance)).to eq @maintenanceid
55
55
  end
56
56
  end
57
57
 
58
58
  describe 'create_or_update' do
59
59
  it "should return id of maintenance" do
60
- zbx.maintenance.create_or_update(:name => @maintenance).should eq @maintenanceid
60
+ expect(zbx.maintenance.create_or_update(:name => @maintenance)).to eq @maintenanceid
61
61
  end
62
62
  end
63
63
 
64
64
  describe 'all' do
65
65
  it "should contains created maintenance" do
66
- zbx.maintenance.all.should include(@maintenance => @maintenanceid.to_s)
66
+ expect(zbx.maintenance.all).to include(@maintenance => @maintenanceid.to_s)
67
67
  end
68
68
  end
69
69
 
70
70
  describe "delete" do
71
71
  it "shold return id" do
72
- zbx.maintenance.delete(@maintenanceid).should eq @maintenanceid
72
+ expect(zbx.maintenance.delete(@maintenanceid)).to eq @maintenanceid
73
73
  end
74
74
  end
75
75
 
@@ -17,7 +17,7 @@ describe 'mediatype' do
17
17
  :smtp_email => "zabbix@test.com",
18
18
  :smtp_helo => "test.com"
19
19
  )
20
- mediatypeid.should be_kind_of(Integer)
20
+ expect(mediatypeid).to be_kind_of(Integer)
21
21
  end
22
22
  end
23
23
  end
@@ -35,11 +35,11 @@ describe 'mediatype' do
35
35
 
36
36
  describe 'create_or_update' do
37
37
  it "should return id" do
38
- zbx.mediatypes.create_or_update(
38
+ expect(zbx.mediatypes.create_or_update(
39
39
  :description => @mediatype,
40
40
  :smtp_email => "zabbix2@test.com",
41
41
  :smtp_helo => "test.com"
42
- ).should eq @mediatypeid
42
+ )).to eq @mediatypeid
43
43
  end
44
44
 
45
45
  it "should return id" do
@@ -4,7 +4,7 @@ require 'spec_helper'
4
4
 
5
5
  describe "query" do
6
6
  it "should works" do
7
- zbx.query(
7
+ expect(zbx.query(
8
8
  method: 'host.get',
9
9
  params: {
10
10
  filter: {
@@ -12,7 +12,7 @@ describe "query" do
12
12
  },
13
13
  selectInterfaces: 'refer'
14
14
  }
15
- ).should be_kind_of(Array)
15
+ )).to be_kind_of(Array)
16
16
  end
17
17
  end
18
18
 
@@ -55,7 +55,7 @@ describe 'screen' do
55
55
  :screen_name => @screen_name,
56
56
  :graphids => [@graphid]
57
57
  )
58
- screenid.should be_kind_of(Integer)
58
+ expect(screenid).to be_kind_of(Integer)
59
59
  end
60
60
  end
61
61
  end
@@ -75,13 +75,13 @@ describe 'screen' do
75
75
  :screen_name => @screen_name,
76
76
  :graphids => [@graphid]
77
77
  )
78
- screenid.should eq @screenid
78
+ expect(screenid).to eq @screenid
79
79
  end
80
80
  end
81
81
 
82
82
  describe 'delete' do
83
83
  it "should return id" do
84
- zbx.screens.delete(@screenid).should eq @screenid
84
+ expect(zbx.screens.delete(@screenid)).to eq @screenid
85
85
  end
86
86
  end
87
87
  end
@@ -5,13 +5,11 @@ require 'spec_helper'
5
5
  describe 'server' do
6
6
  describe 'version' do
7
7
  it "should be string" do
8
- zbx.server.version.should be_kind_of(String)
8
+ expect(zbx.server.version).to be_kind_of(String)
9
9
  end
10
10
 
11
11
  it "should be 2.4.x or 3.0.x or 3.2.x" do
12
- zbx.server.version.should match(/(2\.4|3\.[02])\.\d+/)
12
+ expect(zbx.server.version).to match(/(2\.4|3\.[02])\.\d+/)
13
13
  end
14
14
  end
15
15
  end
16
-
17
-
@@ -4,8 +4,8 @@ require 'zabbixapi'
4
4
  def zbx
5
5
  # settings
6
6
  @api_url = ENV['ZABBIX_HOST_URL'] || 'http://10.211.55.6/api_jsonrpc.php'
7
- @api_login = 'Admin'
8
- @api_password = 'zabbix'
7
+ @api_login = ENV['ZABBIX_USERNAME'] || 'Admin'
8
+ @api_password = ENV['ZABBIX_PASSWORD'] || 'zabbix'
9
9
 
10
10
  @zbx ||= ZabbixApi.connect(
11
11
  :url => @api_url,
@@ -19,7 +19,7 @@ describe "template" do
19
19
  :host => @template,
20
20
  :groups => [:groupid => @hostgroupid]
21
21
  )
22
- templateid.should be_kind_of(Integer)
22
+ expect(templateid).to be_kind_of(Integer)
23
23
  end
24
24
  end
25
25
 
@@ -62,7 +62,7 @@ describe "template" do
62
62
 
63
63
  describe "all" do
64
64
  it "should contains template" do
65
- zbx.templates.all.should include(@template => @templateid.to_s)
65
+ expect(zbx.templates.all).to include(@template => @templateid.to_s)
66
66
  end
67
67
  end
68
68
 
@@ -73,7 +73,7 @@ describe "template" do
73
73
  :host => template,
74
74
  :groups => [:groupid => @hostgroupid]
75
75
  )
76
- zbx.templates.delete(templateid).should eq templateid
76
+ expect(zbx.templates.delete(templateid)).to eq templateid
77
77
  end
78
78
  end
79
79
 
@@ -99,10 +99,10 @@ describe "template" do
99
99
  context "not linked with host" do
100
100
  describe "mass_update" do
101
101
  it "should return true" do
102
- zbx.templates.mass_update(
102
+ expect(zbx.templates.mass_update(
103
103
  :hosts_id => [@hostid],
104
104
  :templates_id => [@templateid]
105
- ).should be_true
105
+ )).to be true
106
106
  end
107
107
  end
108
108
  end
@@ -120,26 +120,26 @@ describe "template" do
120
120
  tmpl_array = zbx.templates.get_ids_by_host(
121
121
  :hostids => [@hostid]
122
122
  )
123
- tmpl_array.should be_kind_of(Array)
124
- tmpl_array.should include @templateid.to_s
123
+ expect(tmpl_array).to be_kind_of(Array)
124
+ expect(tmpl_array).to include @templateid.to_s
125
125
  end
126
126
  end
127
127
 
128
128
  describe "mass_add" do
129
129
  it "should return true" do
130
- zbx.templates.mass_add(
130
+ expect(zbx.templates.mass_add(
131
131
  :hosts_id => [@hostid],
132
132
  :templates_id => [@templateid]
133
- ).should be_kind_of(TrueClass)
133
+ )).to be_kind_of(TrueClass)
134
134
  end
135
135
  end
136
136
 
137
137
  describe "mass_remove" do
138
138
  it "should return true" do
139
- zbx.templates.mass_remove(
139
+ expect(zbx.templates.mass_remove(
140
140
  :hosts_id => [@hostid],
141
141
  :templates_id => [@templateid]
142
- ).should be_true
142
+ )).to be true
143
143
  end
144
144
  end
145
145
  end
@@ -41,7 +41,7 @@ describe "trigger" do
41
41
  :status => 0,
42
42
  :type => 0
43
43
  )
44
- triggerid.should be_kind_of(Integer)
44
+ expect(triggerid).to be_kind_of(Integer)
45
45
  end
46
46
  end
47
47
  end
@@ -61,13 +61,13 @@ describe "trigger" do
61
61
 
62
62
  describe "get_id" do
63
63
  it "should return id" do
64
- zbx.triggers.get_id(:description => @trigger).should eq @triggerid
64
+ expect(zbx.triggers.get_id(:description => @trigger)).to eq @triggerid
65
65
  end
66
66
  end
67
67
 
68
68
  describe "delete" do
69
69
  it "should return id" do
70
- zbx.triggers.delete( @triggerid ).should eq @triggerid
70
+ expect(zbx.triggers.delete( @triggerid )).to eq @triggerid
71
71
  end
72
72
  end
73
73
  end
@@ -38,13 +38,13 @@ describe 'user' do
38
38
  :passwd => user,
39
39
  :usrgrps => [@usergroupid]
40
40
  )
41
- userid.should be_kind_of(Integer)
41
+ expect(userid).to be_kind_of(Integer)
42
42
  end
43
43
  end
44
44
 
45
45
  describe 'get_id' do
46
46
  it "should return nil" do
47
- zbx.users.get_id(:alias => "name_____").should be_nil
47
+ expect(zbx.users.get_id(:alias => "name_____")).to be_nil
48
48
  end
49
49
  end
50
50
  end
@@ -63,33 +63,33 @@ describe 'user' do
63
63
 
64
64
  describe 'create_or_update' do
65
65
  it "should return id" do
66
- zbx.users.create_or_update(
66
+ expect(zbx.users.create_or_update(
67
67
  :alias => @user,
68
68
  :name => @user,
69
69
  :surname => @user,
70
70
  :passwd => @user
71
- ).should eq @userid
71
+ )).to eq @userid
72
72
  end
73
73
  end
74
74
 
75
75
  describe 'get_full_data' do
76
76
  it "should return string name" do
77
- zbx.users.get_full_data(:alias => @user)[0]['name'].should be_kind_of(String)
77
+ expect(zbx.users.get_full_data(:alias => @user)[0]['name']).to be_kind_of(String)
78
78
  end
79
79
  end
80
80
 
81
81
  describe 'update' do
82
82
  it "should return id" do
83
- zbx.users.update(:userid => @userid, :name => gen_name('user')).should eq @userid
83
+ expect(zbx.users.update(:userid => @userid, :name => gen_name('user'))).to eq @userid
84
84
  end
85
85
  end
86
86
 
87
87
  describe 'add_medias' do
88
88
  it "should return integer media id" do
89
- zbx.users.add_medias(
89
+ expect(zbx.users.add_medias(
90
90
  :userids => [@userid],
91
91
  :media => [media]
92
- ).should be_kind_of(Integer)
92
+ )).to be_kind_of(Integer)
93
93
  end
94
94
  end
95
95
 
@@ -102,14 +102,14 @@ describe 'user' do
102
102
  :media => [media]
103
103
  )
104
104
 
105
- returned_userid.should eq @userid
105
+ expect(returned_userid).to eq @userid
106
106
  end
107
107
  end
108
108
  end
109
109
 
110
110
  describe 'delete' do
111
111
  it "should return id" do
112
- zbx.users.delete(@userid).should eq @userid
112
+ expect(zbx.users.delete(@userid)).to eq @userid
113
113
  end
114
114
  end
115
115
  end
@@ -7,7 +7,7 @@ describe 'usergroup' do
7
7
  context 'when not exists' do
8
8
  it "should be integer id" do
9
9
  usergroupid = zbx.usergroups.create(:name => gen_name('usergroup'))
10
- usergroupid.should be_kind_of(Integer)
10
+ expect(usergroupid).to be_kind_of(Integer)
11
11
  end
12
12
  end
13
13
 
@@ -37,41 +37,41 @@ describe 'usergroup' do
37
37
 
38
38
  describe 'get_or_create' do
39
39
  it "should return id" do
40
- zbx.usergroups.get_or_create(:name => @usergroup).should eq @usergroupid
40
+ expect(zbx.usergroups.get_or_create(:name => @usergroup)).to eq @usergroupid
41
41
  end
42
42
  end
43
43
 
44
44
  describe 'add_user' do
45
45
  it "should return id" do
46
- zbx.usergroups.add_user(
46
+ expect(zbx.usergroups.add_user(
47
47
  :usrgrpids => [@usergroupid],
48
48
  :userids => [@userid2]
49
- ).should eq @usergroupid
49
+ )).to eq @usergroupid
50
50
  end
51
51
  end
52
52
 
53
53
  describe 'update_users' do
54
54
  it "should return id" do
55
- zbx.usergroups.update_users(
55
+ expect(zbx.usergroups.update_users(
56
56
  :usrgrpids => [@usergroupid],
57
57
  :userids => [@userid2]
58
- ).should eq @usergroupid
58
+ )).to eq @usergroupid
59
59
  end
60
60
  end
61
61
 
62
62
  describe 'set_perms' do
63
63
  it "should return id" do
64
- zbx.usergroups.set_perms(
64
+ expect(zbx.usergroups.set_perms(
65
65
  :usrgrpid => @usergroupid,
66
66
  :hostgroupids => zbx.hostgroups.all.values,
67
67
  :permission => 3
68
- ).should eq @usergroupid
68
+ )).to eq @usergroupid
69
69
  end
70
70
  end
71
71
 
72
72
  describe 'delete' do
73
73
  it "should raise error when has users with only one group" do
74
- expect { zbx.usergroups.delete(@usergroupid) }.to raise_error
74
+ expect { zbx.usergroups.delete(@usergroupid) }.to raise_error(ZabbixApi::ApiError)
75
75
  end
76
76
 
77
77
  it "should return id of deleted group" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zabbixapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.7
4
+ version: 2.4.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vasiliev D.V.
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-03-05 00:00:00.000000000 Z
12
+ date: 2016-08-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -53,6 +53,7 @@ files:
53
53
  - lib/zabbixapi/basic/basic_func.rb
54
54
  - lib/zabbixapi/basic/basic_init.rb
55
55
  - lib/zabbixapi/basic/basic_logic.rb
56
+ - lib/zabbixapi/classes/actions.rb
56
57
  - lib/zabbixapi/classes/applications.rb
57
58
  - lib/zabbixapi/classes/configurations.rb
58
59
  - lib/zabbixapi/classes/errors.rb
@@ -73,6 +74,7 @@ files:
73
74
  - lib/zabbixapi/classes/users.rb
74
75
  - lib/zabbixapi/client.rb
75
76
  - lib/zabbixapi/version.rb
77
+ - spec/action.rb
76
78
  - spec/application.rb
77
79
  - spec/basic_func.rb
78
80
  - spec/configuration.rb
@@ -116,6 +118,7 @@ signing_key:
116
118
  specification_version: 4
117
119
  summary: Realization for Zabbix API.
118
120
  test_files:
121
+ - spec/action.rb
119
122
  - spec/application.rb
120
123
  - spec/basic_func.rb
121
124
  - spec/configuration.rb