zabbixapi 0.5.0b3 → 0.5.0b4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,13 +1,5 @@
1
1
  class ZabbixApi
2
- class Screens < Basic
3
-
4
- def api_method_name
5
- "screen"
6
- end
7
-
8
- def api_identify
9
- "name"
10
- end
2
+ class Screens
11
3
 
12
4
  # extracted from frontends/php/include/defines.inc.php
13
5
  #SCREEN_RESOURCE_GRAPH => 0,
@@ -28,6 +20,41 @@ class ZabbixApi
28
20
  #SCREEN_RESOURCE_SYSTEM_STATUS => 15,
29
21
  #SCREEN_RESOURCE_HOST_TRIGGERS => 16
30
22
 
23
+ def initialize(client)
24
+ @client = client
25
+ @screen_default_options = {
26
+ :vsize => 3
27
+ }
28
+ end
29
+
30
+ # Create screen
31
+ #
32
+ # * *Args* :
33
+ # - +data+ -> Hash with :name => "Screen name", hsize (rows) and vsize (columns) and array :screenitems => []
34
+ # screenitems contains :resourcetype (0 - graph), :resourcetypeid (id item) and :x and :y position
35
+ # * *Returns* :
36
+ # - Nil or Integer
37
+ def create(data)
38
+ result = @client.api_request(:method => "screen.create", :params => data)
39
+ result ? result['screenids'][0].to_i : nil
40
+ end
41
+
42
+ # Create screen
43
+ # Synonym create
44
+ def add(data)
45
+ create(data)
46
+ end
47
+
48
+ # Update screen
49
+ #
50
+ # * *Args* :
51
+ # - +data+ -> Hash with :screenid => [ "screenid" ]
52
+ # * *Returns* :
53
+ # - Nil or Integer
54
+ def update(data)
55
+ result = @client.api_request(:method => "screen.update", :params => data)
56
+ result ? result['screenids'][0].to_i : nil
57
+ end
31
58
 
32
59
  # Return info about screen
33
60
  #
@@ -40,6 +67,29 @@ class ZabbixApi
40
67
  result.empty? ? [] : result
41
68
  end
42
69
 
70
+ # Return screenid
71
+ #
72
+ # * *Args* :
73
+ # - +data+ -> Hash with :name => "Screen name"
74
+ # * *Returns* :
75
+ # - Nil or Integer
76
+ def get_id(data)
77
+ result = get_full_data(data)
78
+ screenid = nil
79
+ result.each { |screen| screenid = screen['screenid'].to_i if screen['name'] == data[:name] }
80
+ screenid
81
+ end
82
+
83
+ # Delete screen
84
+ #
85
+ # * *Args* :
86
+ # - +data+ -> Hash with :params => [screenid]
87
+ # * *Returns* :
88
+ # - Nil or Integer
89
+ def delete(data)
90
+ result = @client.api_request(:method => "screen.delete", :params => data)
91
+ result.empty? ? nil : result['screenids'][0].to_i
92
+ end
43
93
 
44
94
  # Create screen all graphs for host
45
95
  #
@@ -1,22 +1,50 @@
1
1
  class ZabbixApi
2
- class Templates < Basic
2
+ class Templates
3
3
 
4
- def api_method_name
5
- "template"
4
+ def initialize(client)
5
+ @client = client
6
6
  end
7
7
 
8
- def api_identify
9
- "name"
8
+ # Create template
9
+ #
10
+ # * *Args* :
11
+ # - +data+ -> Hash with :host => "Template_Name" and :groups => array with hostgroup ids
12
+ # * *Returns* :
13
+ # - Nil or Integer
14
+ def create(data)
15
+ result = @client.api_request(:method => "template.create", :params => [data])
16
+ result.empty? ? nil : result['templateids'][0].to_i
10
17
  end
11
18
 
12
- def create(data)
13
- create_array(data)
19
+ # Add template
20
+ # Synonym create
21
+ def add(data)
22
+ create(data)
14
23
  end
15
24
 
25
+ # Delete template
26
+ #
27
+ # * *Args* :
28
+ # - +data+ -> Hash with :host => "Template_Name"
29
+ # * *Returns* :
30
+ # - Nil or Integer
16
31
  def delete(data)
17
- delete_array_sym(data)
32
+ result = @client.api_request(:method => "template.delete", :params => [:templateid => data])
33
+ result.empty? ? nil : result['templateids'][0].to_i
18
34
  end
19
35
 
36
+ # Destroy template
37
+ # Synonym delete
38
+ def destroy(data)
39
+ delete(data)
40
+ end
41
+
42
+ # Return templateids linked with host
43
+ #
44
+ # * *Args* :
45
+ # - +data+ -> Hash with :hostids => [hostid]
46
+ # * *Returns* :
47
+ # - Array with templateids
20
48
  def get_ids_by_host(data)
21
49
  result = []
22
50
  @client.api_request(:method => "template.get", :params => data).each do |tmpl|
@@ -24,7 +52,19 @@ class ZabbixApi
24
52
  end
25
53
  result
26
54
  end
27
-
55
+
56
+ # Return templateid
57
+ #
58
+ # * *Args* :
59
+ # - +data+ -> Hash with :host => "Template_Name" and :groups => array with hostgroup ids
60
+ # * *Returns* :
61
+ # - Integer
62
+ def get_or_create(data)
63
+ unless templateid = get_id(:host => data[:host])
64
+ templateid = create(data)
65
+ end
66
+ templateid
67
+ end
28
68
 
29
69
  # Analog Zabbix api call massUpdate
30
70
  #
@@ -115,5 +155,17 @@ class ZabbixApi
115
155
  end
116
156
  end
117
157
 
158
+ # Return info about template
159
+ #
160
+ # * *Args* :
161
+ # - +data+ -> Hash with :host => "Template name"
162
+ # * *Returns* :
163
+ # - Nil or Integer
164
+ def get_id(data)
165
+ templateid = nil
166
+ get_full_data(data).each { |template| templateid = template['templateid'].to_i if template['host'] == data[:host] }
167
+ templateid
168
+ end
169
+
118
170
  end
119
171
  end
@@ -1,24 +1,47 @@
1
1
  class ZabbixApi
2
- class Triggers < Basic
2
+ class Triggers
3
3
 
4
- def api_method_name
5
- "trigger"
4
+ def initialize(client)
5
+ @client = client
6
6
  end
7
7
 
8
- def api_identify
9
- "description"
8
+ def create(data)
9
+ result = @client.api_request(:method => "trigger.create", :params => [data])
10
+ result.empty? ? nil : result['triggerids'][0].to_i
11
+ end
12
+
13
+ def add(data)
14
+ create(data)
10
15
  end
11
16
 
12
17
  def delete(data)
13
- delete_array(data)
18
+ result = @client.api_request(:method => "trigger.delete", :params => [data])
19
+ result.empty? ? nil : result['triggerids'][0].to_i
14
20
  end
15
21
 
16
- def create(data)
17
- create_array(data)
22
+ def destroy(data)
23
+ delete(data)
24
+ end
25
+
26
+ def update(data)
27
+ result = @client.api_request(:method => "trigger.update", :params => data)
28
+ result.empty? ? nil : result['triggerids'][0].to_i
29
+ end
30
+
31
+ def create_or_update(data)
32
+ triggerid = get_id(:description => data[:description], :templateid => data[:templateid])
33
+ triggerid ? update(data.merge(:triggerid => triggerid)) : create(data)
18
34
  end
19
35
 
20
36
  def get_full_data(data)
21
- get_full_data_filter(data)
37
+ @client.api_request(:method => "trigger.get", :params => {:filter => data, :output => "extend"})
38
+ end
39
+
40
+ def get_id(data)
41
+ result = get_full_data(data)
42
+ triggerid = nil
43
+ result.each { |template| triggerid = template['triggerid'].to_i if template['name'] == data[:name] }
44
+ triggerid
22
45
  end
23
46
 
24
47
  end
@@ -1,22 +1,97 @@
1
1
  class ZabbixApi
2
- class Usergroups < Basic
2
+ class Usergroups
3
3
 
4
- def api_method_name
5
- "usergroup"
4
+ def initialize(client)
5
+ @client = client
6
6
  end
7
7
 
8
- def api_identify
9
- "name"
8
+ # Create UserGroup
9
+ #
10
+ # * *Args* :
11
+ # - +data+ -> Hash with :name => "UserGroup"
12
+ # * *Returns* :
13
+ # - Nil or Integer
14
+ def create(data)
15
+ result = @client.api_request(:method => "usergroup.create", :params => data)
16
+ result ? result['usrgrpids'][0].to_i : nil
17
+ end
18
+
19
+ # Add UserGroup
20
+ # Synonym create
21
+ def add(data)
22
+ create(data)
10
23
  end
11
24
 
12
- def api_key
13
- "usrgrpid"
25
+ # Delete UserGroup
26
+ #
27
+ # * *Args* :
28
+ # - +data+ -> Array with usrgrpids
29
+ # * *Returns* :
30
+ # - Nil or Integer
31
+ def delete(data)
32
+ result = @client.api_request(:method => "usergroup.delete", :params => data)
33
+ result ? result['usrgrpids'][0].to_i : nil
14
34
  end
15
35
 
36
+ # Destroy UserGroup
37
+ # Synonym delete
38
+ def destroy(data)
39
+ delete(data)
40
+ end
41
+
42
+ # Get UserGroup info
43
+ #
44
+ # * *Args* :
45
+ # - +data+ -> Hash with :name => "UserGroup"
46
+ # * *Returns* :
47
+ # - Nil or Integer
16
48
  def get_full_data(data)
17
- get_full_data_filter_array(data)
49
+ @client.api_request(
50
+ :method => "usergroup.get",
51
+ :params => {
52
+ :filter => [data[:name]],
53
+ :output => "extend"
54
+ }
55
+ )
56
+ end
57
+
58
+ def get(data)
59
+ get_full_data(data)
60
+ end
61
+
62
+ # Return usrgrpid
63
+ #
64
+ # * *Args* :
65
+ # - +data+ -> Hash with :name => "UserGroup"
66
+ # * *Returns* :
67
+ # - Nil or Integer
68
+ def get_id(data)
69
+ result = get_full_data(data)
70
+ usrgrpid = nil
71
+ result.each { |usr| usrgrpid = usr['usrgrpid'].to_i if usr['name'] == data[:name] }
72
+ usrgrpid
73
+ end
74
+
75
+ # Return usrgrpid
76
+ #
77
+ # * *Args* :
78
+ # - +data+ -> Hash with :name => "UserGroup"
79
+ # * *Returns* :
80
+ # - Integer
81
+ def get_or_create(data)
82
+ usrgrpid = get_id(data)
83
+ if usrgrpid.nil?
84
+ usrgrpid = create(data)
85
+ end
86
+ usrgrpid
18
87
  end
19
88
 
89
+ # Set permission for usrgrp on some hostgroup
90
+ #
91
+ # * *Args* :
92
+ # - +data+ -> Hash with :usrgrpids => id, :hostgroupids => [], :permission => 2,3 (read and read write)
93
+ # * *Returns* :
94
+ # - Integer
20
95
  def set_perms(data)
21
96
  permission = data[:permission] || 2
22
97
  result = @client.api_request(
@@ -29,6 +104,12 @@ class ZabbixApi
29
104
  result ? result['usrgrpids'][0].to_i : nil
30
105
  end
31
106
 
107
+ # Update usergroup, add user
108
+ #
109
+ # * *Args* :
110
+ # - +data+ -> Hash with :usrgrpids => id, :userids => []
111
+ # * *Returns* :
112
+ # - Integer
32
113
  def add_user(data)
33
114
  result = @client.api_request(
34
115
  :method => "usergroup.massAdd",
@@ -1,20 +1,43 @@
1
1
  class ZabbixApi
2
- class Users < Basic
2
+ class Users
3
3
 
4
- def api_method_name
5
- "user"
4
+ def initialize(client)
5
+ @client = client
6
6
  end
7
7
 
8
- def api_identify
9
- "name"
8
+ def create(data)
9
+ result = @client.api_request(:method => "user.create", :params => data)
10
+ result ? result['userids'][0].to_i : nil
11
+ end
12
+
13
+ def add(data)
14
+ create(data)
10
15
  end
11
16
 
12
17
  def delete(data)
13
- delete_array_sym(data)
18
+ result = @client.api_request(:method => "user.delete", :params => [:userid => data])
19
+ result ? result['userids'][0].to_i : nil
14
20
  end
15
21
 
16
22
  def get_full_data(data)
17
- get_full_data_filter(data)
23
+ @client.api_request(
24
+ :method => "user.get",
25
+ :params => {
26
+ :filter => {
27
+ :name => data[:name]
28
+ },
29
+ :output => "extend"
30
+ }
31
+ )
32
+ end
33
+
34
+ def get(data)
35
+ get_full_data(data)
36
+ end
37
+
38
+ def create_or_update(data)
39
+ userid = get_id(:name => data[:name])
40
+ userid ? update(data.merge(:userid => userid)) : create(data)
18
41
  end
19
42
 
20
43
  def add_medias(data)
@@ -28,5 +51,17 @@ class ZabbixApi
28
51
  result ? result['userids'][0].to_i : nil
29
52
  end
30
53
 
54
+ def get_id(data)
55
+ result = get_full_data(data)
56
+ userid = nil
57
+ result.each { |usr| userid = usr['userid'].to_i if usr['name'] == data[:name] }
58
+ userid
59
+ end
60
+
61
+ def update(data)
62
+ result = @client.api_request(:method => "user.update", :params => data)
63
+ result ? result['userids'][0].to_i : nil
64
+ end
65
+
31
66
  end
32
67
  end
@@ -1,3 +1,3 @@
1
1
  class ZabbixApi
2
- VERSION = "0.5.0b3"
2
+ VERSION = "0.5.0b4"
3
3
  end
data/spec/localhost.rb CHANGED
@@ -36,12 +36,11 @@ describe ZabbixApi, "test_api" do
36
36
  end
37
37
 
38
38
  it "HOSTGROUP: Create" do
39
- $hostgroup_id_real = zbx.hostgroups.create(:name => hostgroup)
40
- $hostgroup_id_real.should be_kind_of(Integer)
39
+ zbx.hostgroups.create(:name => hostgroup).should be_kind_of(Integer)
41
40
  end
42
41
 
43
42
  it "HOSTGROUP: Find" do
44
- zbx.hostgroups.get_id(:name => hostgroup).should equal $hostgroup_id_real
43
+ zbx.hostgroups.get_id(:name => hostgroup).should be_kind_of(Integer)
45
44
  end
46
45
 
47
46
  it "HOSTGROUP: Find unknown" do
@@ -49,61 +48,59 @@ describe ZabbixApi, "test_api" do
49
48
  end
50
49
 
51
50
  it "HOSTGROUP: Create or get" do
52
- zbx.hostgroups.get_or_create(:name => hostgroup).should equal $hostgroup_id_real
51
+ zbx.hostgroups.get_or_create(:name => hostgroup).should be_kind_of(Integer)
53
52
  end
54
53
 
55
54
  it "HOSTGROUP: Get all" do
56
- zbx.hostgroups.all.should include(hostgroup => $hostgroup_id_real.to_s)
55
+ zbx.hostgroups.all.should be_kind_of(Hash)
57
56
  end
58
57
 
59
58
  it "TEMPLATE: Create" do
60
- $template_id_real = zbx.templates.create(
59
+ zbx.templates.create(
61
60
  :host => template,
62
61
  :groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
63
- )
64
- $template_id_real.should be_kind_of(Integer)
62
+ ).should be_kind_of(Integer)
65
63
  end
66
64
 
67
65
  it "TEMPLATE: Get get or create" do
68
66
  zbx.templates.get_or_create(
69
67
  :host => template,
70
68
  :groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
71
- ).should equal $template_id_real
69
+ ).should be_kind_of(Integer)
70
+ end
71
+
72
+ it "TEMPLATE: Check full data" do
73
+ zbx.templates.get_full_data(:host => template)[0]['host'].should be_kind_of(String)
72
74
  end
73
75
 
74
76
  it "TEMPLATE: Find" do
75
- zbx.templates.get_id(:host => template).should equal $template_id_real
77
+ zbx.templates.get_id(:host => template).should be_kind_of(Integer)
76
78
  end
77
79
 
78
80
  it "TEMPLATE: Find unknown" do
79
81
  zbx.templates.get_id(:host => "#{template}_____").should be_kind_of(NilClass)
80
82
  end
81
83
 
82
- it "TEMPLATE: Get all" do
83
- zbx.templates.all.should include(template => $template_id_real.to_s)
84
- end
85
-
86
84
  it "APPLICATION: Create" do
87
- $application_id_real = zbx.applications.create(
85
+ zbx.applications.create(
88
86
  :name => application,
89
87
  :hostid => zbx.templates.get_id(:host => template)
90
88
  )
91
- $application_id_real.should be_kind_of(Integer)
92
- end
93
-
94
- it "APPLICATION: Get all" do
95
- zbx.applications.all.should include(application => $application_id_real.to_s)
96
89
  end
97
90
 
98
91
  it "APPLICATION: Get or create" do
99
92
  zbx.applications.get_or_create(
100
93
  :name => application,
101
94
  :hostid => zbx.templates.get_id(:host => template)
102
- ).should equal $application_id_real
95
+ )
96
+ end
97
+
98
+ it "APPLICATION: Full info check" do
99
+ zbx.applications.get_full_data(:name => application)[0]['applicationid'].should be_kind_of(String)
103
100
  end
104
101
 
105
102
  it "APPLICATION: Find" do
106
- zbx.applications.get_id(:name => application).should equal $application_id_real
103
+ zbx.applications.get_id(:name => application).should be_kind_of(Integer)
107
104
  end
108
105
 
109
106
  it "APPLICATION: Find unknown" do
@@ -111,28 +108,27 @@ describe ZabbixApi, "test_api" do
111
108
  end
112
109
 
113
110
  it "ITEM: Create" do
114
- $item_id_real = zbx.items.create(
111
+ zbx.items.create(
115
112
  :description => item,
116
113
  :key_ => "proc.num[aaa]",
117
114
  :hostid => zbx.templates.get_id(:host => template),
118
115
  :applications => [zbx.applications.get_id(:name => application)]
119
- )
120
- $item_id_real.should be_kind_of(Integer)
116
+ ).should be_kind_of(Integer)
121
117
  end
122
118
 
123
- it "ITEM: Find" do
124
- zbx.items.get_id(:description => item).should equal $item_id_real
119
+ it "ITEM: Full info check" do
120
+ zbx.items.get_full_data(:description => item)[0]['itemid'].should be_kind_of(String)
125
121
  end
126
122
 
127
- it "ITEM: Get all" do
128
- zbx.items.all.should include(item => $item_id_real.to_s)
123
+ it "ITEM: Find" do
124
+ zbx.items.get_id(:description => item).should be_kind_of(Integer)
129
125
  end
130
126
 
131
127
  it "ITEM: Update" do
132
128
  zbx.items.update(
133
129
  :itemid => zbx.items.get_id(:description => item),
134
130
  :status => 0
135
- ).should equal $item_id_real
131
+ ).should be_kind_of(Integer)
136
132
  end
137
133
 
138
134
  it "ITEM: Create or update" do
@@ -142,20 +138,19 @@ describe ZabbixApi, "test_api" do
142
138
  :type => 6,
143
139
  :hostid => zbx.templates.get_id(:host => template),
144
140
  :applications => [zbx.applications.get_id(:name => application)]
145
- ).should equal $item_id_real
141
+ ).should be_kind_of(Integer)
146
142
  end
147
143
 
148
144
  it "ITEM: Get unknown" do
149
- zbx.items.get_id(:description => "#{item}_____").should be_kind_of(NilClass)
145
+ zbx.items.get_id(:description => "#{item}_____")
150
146
  end
151
147
 
152
148
  it "HOST: Create" do
153
- $host_id_real = zbx.hosts.create(
149
+ zbx.hosts.create(
154
150
  :host => host,
155
151
  :ip => "10.20.48.88",
156
152
  :groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
157
- )
158
- $host_id_real.should be_kind_of(Integer)
153
+ ).should be_kind_of(Integer)
159
154
  end
160
155
 
161
156
  it "HOST: Update or create" do
@@ -163,7 +158,7 @@ describe ZabbixApi, "test_api" do
163
158
  :host => host,
164
159
  :ip => "10.20.48.89",
165
160
  :groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
166
- ).should equal $host_id_real
161
+ ).should be_kind_of(Integer)
167
162
  end
168
163
 
169
164
  it "HOST: Find unknown" do
@@ -171,18 +166,20 @@ describe ZabbixApi, "test_api" do
171
166
  end
172
167
 
173
168
  it "HOST: Find" do
174
- zbx.hosts.get_id(:host => host).should equal $host_id_real
169
+ zbx.hosts.get_id(:host => host).should be_kind_of(Integer)
175
170
  end
176
171
 
177
172
  it "HOST: Update" do
178
173
  zbx.hosts.update(
179
174
  :hostid => zbx.hosts.get_id(:host => host),
180
175
  :status => 0
181
- ).should equal $host_id_real
176
+ )
182
177
  end
183
178
 
184
- it "HOST: Get all" do
185
- zbx.hosts.all.should include(host => $host_id_real.to_s)
179
+ it "TEMPLATE: Get all templates linked with host" do
180
+ zbx.templates.get_ids_by_host(
181
+ :hostids => [zbx.hosts.get_id(:host => host)]
182
+ ).should be_kind_of(Array)
186
183
  end
187
184
 
188
185
  it "TEMPLATE: Linked hosts with templates" do
@@ -199,18 +196,12 @@ describe ZabbixApi, "test_api" do
199
196
  ).should be_kind_of(TrueClass)
200
197
  end
201
198
 
202
- it "TEMPLATE: Get all templates linked with host" do
203
- zbx.templates.get_ids_by_host(
204
- :hostids => [zbx.hosts.get_id(:host => host)]
205
- ).should include($template_id_real.to_s)
206
- end
207
-
208
199
  it "TEMPLATE: Get all" do
209
- zbx.templates.all.should include(template => $template_id_real.to_s)
200
+ zbx.templates.all.should be_kind_of(Hash)
210
201
  end
211
202
 
212
203
  it "TRIGGER: Create" do
213
- $trigger_id_real = zbx.triggers.create(
204
+ zbx.triggers.create(
214
205
  :description => trigger,
215
206
  :expression => "{#{template}:proc.num[aaa].last(0)}<1",
216
207
  :comments => "Bla-bla is faulty (disaster)",
@@ -218,22 +209,13 @@ describe ZabbixApi, "test_api" do
218
209
  :status => 0,
219
210
  :templateid => 0,
220
211
  :type => 0
221
- )
222
- $trigger_id_real.should be_kind_of(Integer)
212
+ ).should be_kind_of(Integer)
223
213
  end
224
214
 
225
215
  it "TRIGGER: Find" do
226
216
  zbx.triggers.get_id(:description => trigger).should be_kind_of(Integer)
227
217
  end
228
218
 
229
- it "TRIGGER: Find unknown" do
230
- zbx.triggers.get_id(:description => "#{trigger}____").should be_kind_of(NilClass)
231
- end
232
-
233
- it "TRIGGER: Get all" do
234
- zbx.triggers.all.should be_kind_of(Hash)
235
- end
236
-
237
219
  it "GRAPH: Create" do
238
220
  gitems = {
239
221
  :itemid => zbx.items.get_id(:description => item),
@@ -241,14 +223,13 @@ describe ZabbixApi, "test_api" do
241
223
  :type => "0",
242
224
  :periods_cnt => "5"
243
225
  }
244
- $graph_id_real = zbx.graphs.create(
226
+ zbx.graphs.create(
245
227
  :gitems => [gitems],
246
228
  :show_triggers => "0",
247
229
  :name => graph,
248
230
  :width => "900",
249
231
  :height => "200"
250
- )
251
- $graph_id_real.should be_kind_of(Integer)
232
+ ).should be_kind_of(Integer)
252
233
  end
253
234
 
254
235
  it "GRAPH: Create or get" do
@@ -264,25 +245,21 @@ describe ZabbixApi, "test_api" do
264
245
  :name => graph,
265
246
  :width => "900",
266
247
  :height => "200"
267
- ).should equal $graph_id_real
248
+ ).should be_kind_of(Integer)
268
249
  end
269
250
 
270
251
  it "GRAPH: Find gititems" do
271
- zbx.graphs.get_items( zbx.graphs.get_id(:name => graph) ).should be_kind_of(Array)
252
+ zbx.graphs.get_items( zbx.graphs.get_id(:name => graph) )
272
253
  end
273
254
 
274
255
  it "GRAPH: Find" do
275
- zbx.graphs.get_id( :name => graph ).should equal $graph_id_real
256
+ zbx.graphs.get_id( :name => graph ).should be_kind_of(Integer)
276
257
  end
277
258
 
278
259
  it "GRAPH: get_ids_by_host" do
279
260
  zbx.graphs.get_ids_by_host( :host => host ).should be_kind_of(Array)
280
261
  end
281
262
 
282
- it "GRAPH: Get all" do
283
- zbx.graphs.all.should include(graph => $graph_id_real.to_s)
284
- end
285
-
286
263
  it "GRAPH: Update" do
287
264
  zbx.graphs.update(
288
265
  :graphid => zbx.graphs.get_id(
@@ -290,7 +267,7 @@ describe ZabbixApi, "test_api" do
290
267
  :hostid => zbx.hosts.get_id(:host => host)
291
268
  ),
292
269
  :ymax_type => 1
293
- ).should equal $graph_id_real
270
+ ).should be_kind_of(Integer)
294
271
  end
295
272
 
296
273
  it "GRAPH: Create or Update" do
@@ -306,15 +283,14 @@ describe ZabbixApi, "test_api" do
306
283
  :name => graph,
307
284
  :width => "900",
308
285
  :height => "200"
309
- ).should equal $graph_id_real
286
+ ).should be_kind_of(Integer)
310
287
  end
311
288
 
312
289
  it "SCREEN: Get or create for host" do
313
- $screen_id_real = zbx.screens.get_or_create_for_host(
290
+ zbx.screens.get_or_create_for_host(
314
291
  :host => host,
315
292
  :graphids => zbx.graphs.get_ids_by_host(:host => host)
316
- )
317
- $screen_id_real.should be_kind_of(Integer)
293
+ ).should be_kind_of(Integer)
318
294
  end
319
295
 
320
296
  it "TEMPLATE: Unlink hosts from templates" do
@@ -324,14 +300,10 @@ describe ZabbixApi, "test_api" do
324
300
  ).should be_kind_of(TrueClass)
325
301
  end
326
302
 
327
- it "SCREEN: Get all" do
328
- zbx.screens.all.should be_kind_of(Hash)
329
- end
330
-
331
303
  it "SCREEN: Delete" do
332
304
  zbx.screens.delete(
333
305
  [zbx.screens.get_id(:name => "#{host}_graphs")]
334
- ).should equal $screen_id_real
306
+ ).should be_kind_of(Integer)
335
307
  end
336
308
 
337
309
  it "GRAPH: Delete" do
@@ -343,37 +315,36 @@ describe ZabbixApi, "test_api" do
343
315
  end
344
316
 
345
317
  it "HOST: Delete" do
346
- zbx.hosts.delete( zbx.hosts.get_id(:host => host) ).should equal $host_id_real
318
+ zbx.hosts.delete( zbx.hosts.get_id(:host => host) ).should be_kind_of(Integer)
347
319
  end
348
320
 
349
321
  it "ITEM: Delete" do
350
322
  zbx.items.delete(
351
323
  zbx.items.get_id(:description => item)
352
- ).should equal $item_id_real
324
+ ).should be_kind_of(Integer)
353
325
  end
354
326
 
355
327
  it "APPLICATION: Delete" do
356
- zbx.applications.delete( zbx.applications.get_id(:name => application) ).should equal $application_id_real
328
+ zbx.applications.delete( zbx.applications.get_id(:name => application) )
357
329
  end
358
330
 
359
331
  it "TEMPLATE: Delete" do
360
- zbx.templates.delete(zbx.templates.get_id(:host => template)).should equal $template_id_real
332
+ zbx.templates.delete(zbx.templates.get_id(:host => template))
361
333
  end
362
334
 
363
335
  it "HOSTGROUP: Delete" do
364
336
  zbx.hostgroups.delete(
365
337
  zbx.hostgroups.get_id(:name => hostgroup)
366
- ).should equal $hostgroup_id_real
338
+ ).should be_kind_of(Integer)
367
339
  end
368
340
 
369
341
  it "USER: Create" do
370
- $user_id_real = zbx.users.create(
342
+ zbx.users.create(
371
343
  :alias => "Test #{user}",
372
344
  :name => user,
373
345
  :surname => user,
374
346
  :passwd => user
375
- )
376
- $user_id_real.should be_kind_of(Integer)
347
+ ).should be_kind_of(Integer)
377
348
  end
378
349
 
379
350
  it "USER: Create or update" do
@@ -382,31 +353,34 @@ describe ZabbixApi, "test_api" do
382
353
  :name => user,
383
354
  :surname => user,
384
355
  :passwd => user
385
- ).should equal $user_id_real
356
+ ).should be_kind_of(Integer)
357
+ end
358
+
359
+ it "USER: Find" do
360
+ zbx.users.get_full_data(:name => user)[0]['name'].should be_kind_of(String)
386
361
  end
387
362
 
388
363
  it "USER: Update" do
389
- zbx.users.update(:userid => zbx.users.get_id(:name => user), :name => user2).should equal $user_id_real
364
+ zbx.users.update(:userid => zbx.users.get_id(:name => user), :name => user2).should be_kind_of(Integer)
390
365
  end
391
366
 
392
367
  it "USER: Find unknown" do
393
- zbx.users.get_id(:name => "#{user}_____").should be_kind_of(NilClass)
368
+ zbx.users.get_id(:name => "#{user}_____")
394
369
  end
395
370
 
396
371
  it "USERGROUPS: Create" do
397
- $usergrp_id_real = zbx.usergroups.create(:name => usergroup)
398
- $usergrp_id_real.should be_kind_of(Integer)
372
+ zbx.usergroups.create(:name => usergroup).should be_kind_of(Integer)
399
373
  end
400
374
 
401
375
  it "USERGROUPS: Create or update" do
402
- zbx.usergroups.get_or_create(:name => usergroup).should equal $usergrp_id_real
376
+ zbx.usergroups.get_or_create(:name => usergroup).should be_kind_of(Integer)
403
377
  end
404
378
 
405
379
  it "USERGROUPS: Add user" do
406
380
  zbx.usergroups.add_user(
407
381
  :usrgrpids => [zbx.usergroups.get_id(:name => usergroup)],
408
382
  :userids => [zbx.users.get_id(:name => user2)]
409
- ).should equal $usergrp_id_real
383
+ ).should be_kind_of(Integer)
410
384
  end
411
385
 
412
386
  it "USERGROUPS: Set UserGroup read & write perm" do
@@ -414,24 +388,23 @@ describe ZabbixApi, "test_api" do
414
388
  :usrgrpid => zbx.usergroups.get_or_create(:name => usergroup).to_s,
415
389
  :hostgroupids => zbx.hostgroups.all.values,
416
390
  :permission => 3
417
- ).should equal $usergrp_id_real
391
+ ).should be_kind_of(Integer)
418
392
  end
419
393
 
420
394
  it "MEDIATYPE: Create" do
421
- $meditype_id_real = zbx.mediatypes.create(
395
+ zbx.mediatypes.create(
422
396
  :description => mediatype,
423
397
  :type => 0,
424
398
  :smtp_server => "127.0.0.1",
425
399
  :smtp_email => "zabbix@test.com"
426
- )
427
- $meditype_id_real.should be_kind_of(Integer)
400
+ ).should be_kind_of(Integer)
428
401
  end
429
402
 
430
403
  it "MEDIATYPE: Update or create" do
431
404
  zbx.mediatypes.create_or_update(
432
405
  :description => mediatype,
433
406
  :smtp_email => "zabbix2@test.com"
434
- ).should equal $meditype_id_real
407
+ ).should be_kind_of(Integer)
435
408
  end
436
409
 
437
410
  it "USER: Add mediatype" do
@@ -446,21 +419,21 @@ describe ZabbixApi, "test_api" do
446
419
  :severity => "56"
447
420
  }
448
421
  ]
449
- ).should equal $user_id_real
422
+ ).should be_kind_of(Integer)
450
423
  end
451
424
 
452
425
  it "MEDIATYPE: Delete" do
453
426
  zbx.mediatypes.delete(
454
427
  zbx.mediatypes.get_id(:description => mediatype)
455
- ).should equal $meditype_id_real
428
+ ).should be_kind_of(Integer)
456
429
  end
457
430
 
458
431
  it "USER: Delete" do
459
- zbx.users.delete(zbx.users.get_id(:name => user2)).should equal $user_id_real
432
+ zbx.users.delete(zbx.users.get_id(:name => user2)).should be_kind_of(Integer)
460
433
  end
461
434
 
462
435
  it "USERGROUPS: Delete" do
463
- zbx.usergroups.delete([zbx.usergroups.get_id(:name => usergroup)]).should equal $usergrp_id_real
436
+ zbx.usergroups.delete([zbx.usergroups.get_id(:name => usergroup)]).should be_kind_of(Integer)
464
437
  end
465
438
 
466
439
  it "QUERY" do