zabbixapi 0.5.1b10 → 0.5.1b11
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/lib/zabbixapi/basic/basic_func.rb +6 -3
- data/lib/zabbixapi/basic/basic_logic.rb +12 -12
- data/lib/zabbixapi/classes/applications.rb +1 -1
- data/lib/zabbixapi/classes/templates.rb +1 -1
- data/lib/zabbixapi/classes/triggers.rb +4 -0
- data/lib/zabbixapi/client.rb +3 -3
- data/lib/zabbixapi/version.rb +1 -1
- data/spec/localhost.rb +114 -75
- data/spec/run.rb +119 -75
- data/zabbixapi.gemspec +3 -1
- metadata +20 -4
@@ -1,8 +1,7 @@
|
|
1
1
|
class Hash
|
2
2
|
|
3
|
-
def deep_include?(sub_hash
|
3
|
+
def deep_include?(sub_hash)
|
4
4
|
sub_hash.keys.all? do |key|
|
5
|
-
next if key == without_key
|
6
5
|
self.has_key?(key) && if sub_hash[key].is_a?(Hash)
|
7
6
|
self[key].is_a?(Hash) && self[key].deep_include?(sub_hash[key])
|
8
7
|
else
|
@@ -16,10 +15,14 @@ end
|
|
16
15
|
class ZabbixApi
|
17
16
|
class Basic
|
18
17
|
|
18
|
+
def log(message)
|
19
|
+
puts "#{message}" if @client.options[:debug]
|
20
|
+
end
|
21
|
+
|
19
22
|
def symbolize_keys(obj)
|
20
23
|
return obj.inject({}){|memo,(k,v)| memo[k.to_sym] = symbolize_keys(v); memo} if obj.is_a? Hash
|
21
24
|
return obj.inject([]){|memo,v | memo << symbolize_keys(v); memo} if obj.is_a? Array
|
22
|
-
|
25
|
+
obj
|
23
26
|
end
|
24
27
|
|
25
28
|
def parse_keys(data)
|
@@ -2,7 +2,7 @@ class ZabbixApi
|
|
2
2
|
class Basic
|
3
3
|
|
4
4
|
def create(data)
|
5
|
-
|
5
|
+
log "[DEBUG] Call create with parametrs: #{data.inspect}"
|
6
6
|
|
7
7
|
data_with_default = default_options.empty? ? data : merge_params(data)
|
8
8
|
data_create = array_flag ? [data_with_default] : data_with_default
|
@@ -11,7 +11,7 @@ class ZabbixApi
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def delete(data)
|
14
|
-
|
14
|
+
log "[DEBUG] Call delete with parametrs: #{data.inspect}"
|
15
15
|
|
16
16
|
data_delete = array_flag ? [data] : [key.to_sym => 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
|
-
|
22
|
+
log "[DEBUG] Call create_or_update with parametrs: #{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)
|
29
|
-
|
29
|
+
log "[DEBUG] Call update with parametrs: #{data.inspect}"
|
30
30
|
|
31
31
|
dump = {}
|
32
32
|
item_id = data[key.to_sym].to_i
|
@@ -34,18 +34,18 @@ class ZabbixApi
|
|
34
34
|
dump = symbolize_keys(item) if item[key].to_i == data[key.to_sym].to_i
|
35
35
|
end
|
36
36
|
|
37
|
-
|
37
|
+
if dump.deep_include?(data)
|
38
|
+
item_id
|
39
|
+
else
|
38
40
|
data_update = array_flag ? [data] : data
|
39
41
|
result = @client.api_request(:method => "#{method_name}.update", :params => data_update)
|
40
42
|
parse_keys result
|
41
|
-
else
|
42
|
-
item_id
|
43
43
|
end
|
44
44
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def get_full_data(data)
|
48
|
-
|
48
|
+
log "[DEBUG] Call get_full_data with parametrs: #{data.inspect}"
|
49
49
|
|
50
50
|
@client.api_request(
|
51
51
|
:method => "#{method_name}.get",
|
@@ -59,7 +59,7 @@ class ZabbixApi
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def dump_by_id(data)
|
62
|
-
|
62
|
+
log "[DEBUG] Call dump_by_id with parametrs: #{data.inspect}"
|
63
63
|
|
64
64
|
@client.api_request(
|
65
65
|
:method => "#{method_name}.get",
|
@@ -81,7 +81,7 @@ class ZabbixApi
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def get_id(data)
|
84
|
-
|
84
|
+
log "[DEBUG] Call get_id with parametrs: #{data.inspect}"
|
85
85
|
|
86
86
|
result = symbolize_keys( get_full_data(data) )
|
87
87
|
id = nil
|
@@ -90,9 +90,9 @@ class ZabbixApi
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def get_or_create(data)
|
93
|
-
|
93
|
+
log "[DEBUG] Call get_or_create with parametrs: #{data.inspect}"
|
94
94
|
|
95
|
-
unless id = get_id(data)
|
95
|
+
unless (id = get_id(data))
|
96
96
|
id = create(data)
|
97
97
|
end
|
98
98
|
id
|
data/lib/zabbixapi/client.rb
CHANGED
@@ -48,10 +48,10 @@ class ZabbixApi
|
|
48
48
|
|
49
49
|
def http_request(body)
|
50
50
|
uri = URI.parse(@options[:url])
|
51
|
-
|
52
|
-
http = Net::HTTP.new(uri.host, uri.port)
|
53
|
-
else
|
51
|
+
if @proxy_uri.nil?
|
54
52
|
http = Net::HTTP.Proxy(@proxy_host, @proxy_port, @proxy_user, @proxy_pass).new(uri.host, uri.port)
|
53
|
+
else
|
54
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
55
55
|
end
|
56
56
|
request = Net::HTTP::Post.new(uri.request_uri)
|
57
57
|
request.basic_auth @options[:http_user], @options[:http_password] if @options[:http_user]
|
data/lib/zabbixapi/version.rb
CHANGED
data/spec/localhost.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
|
1
3
|
require 'zabbixapi'
|
2
4
|
|
3
5
|
# settings
|
@@ -11,7 +13,7 @@ zbx = ZabbixApi.connect(
|
|
11
13
|
:url => api_url,
|
12
14
|
:user => api_login,
|
13
15
|
:password => api_password,
|
14
|
-
:debug =>
|
16
|
+
:debug => false
|
15
17
|
)
|
16
18
|
|
17
19
|
hostgroup = "hostgroup______1"
|
@@ -26,21 +28,34 @@ usergroup = "SomeUserGroup"
|
|
26
28
|
graph = "graph___a"
|
27
29
|
mediatype = "somemediatype"
|
28
30
|
|
31
|
+
hostgroupid = 0
|
32
|
+
templateid = 0
|
33
|
+
applicationid = 0
|
34
|
+
itemid = 0
|
35
|
+
hostid = 0
|
36
|
+
triggerid = 0
|
37
|
+
userid = 0
|
38
|
+
usergroupid = 0
|
39
|
+
graphid = 0
|
40
|
+
screenid = 0
|
41
|
+
mediatypeid = 0
|
42
|
+
|
29
43
|
|
30
44
|
puts "### Zabbix API server version #{zbx.server.version} ###"
|
31
45
|
|
32
|
-
describe ZabbixApi
|
46
|
+
describe ZabbixApi do
|
33
47
|
|
34
48
|
it "SERVER: Get version api" do
|
35
49
|
zbx.server.version.should be_kind_of(String)
|
36
50
|
end
|
37
51
|
|
38
52
|
it "HOSTGROUP: Create" do
|
39
|
-
zbx.hostgroups.create(:name => hostgroup)
|
53
|
+
hostgroupid = zbx.hostgroups.create(:name => hostgroup)
|
54
|
+
hostgroupid.should be_kind_of(Integer)
|
40
55
|
end
|
41
56
|
|
42
57
|
it "HOSTGROUP: Find" do
|
43
|
-
zbx.hostgroups.get_id(:name => hostgroup).should
|
58
|
+
zbx.hostgroups.get_id(:name => hostgroup).should eq hostgroupid
|
44
59
|
end
|
45
60
|
|
46
61
|
it "HOSTGROUP: Find unknown" do
|
@@ -48,37 +63,38 @@ describe ZabbixApi, "test_api" do
|
|
48
63
|
end
|
49
64
|
|
50
65
|
it "HOSTGROUP: Create or get" do
|
51
|
-
zbx.hostgroups.get_or_create(:name => hostgroup).should
|
66
|
+
zbx.hostgroups.get_or_create(:name => hostgroup).should eq hostgroupid
|
52
67
|
end
|
53
68
|
|
54
69
|
it "HOSTGROUP: Create or update" do
|
55
|
-
zbx.hostgroups.create_or_update(:name => hostgroup).should
|
70
|
+
zbx.hostgroups.create_or_update(:name => hostgroup).should eq hostgroupid
|
56
71
|
end
|
57
72
|
|
58
73
|
it "HOSTGROUP: Get all" do
|
59
|
-
zbx.hostgroups.all.should
|
74
|
+
zbx.hostgroups.all.should include(hostgroup=>hostgroupid.to_s)
|
60
75
|
end
|
61
76
|
|
62
77
|
it "TEMPLATE: Create" do
|
63
|
-
zbx.templates.create(
|
78
|
+
templateid = zbx.templates.create(
|
64
79
|
:host => template,
|
65
80
|
:groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
|
66
|
-
)
|
81
|
+
)
|
82
|
+
templateid.should be_kind_of(Integer)
|
67
83
|
end
|
68
84
|
|
69
85
|
it "TEMPLATE: Get get or create" do
|
70
86
|
zbx.templates.get_or_create(
|
71
87
|
:host => template,
|
72
88
|
:groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
|
73
|
-
).should
|
89
|
+
).should eq templateid
|
74
90
|
end
|
75
91
|
|
76
92
|
it "TEMPLATE: Check full data" do
|
77
|
-
zbx.templates.get_full_data(:host => template)[0]
|
93
|
+
zbx.templates.get_full_data(:host => template)[0].should include("host"=>template)
|
78
94
|
end
|
79
95
|
|
80
96
|
it "TEMPLATE: Find" do
|
81
|
-
zbx.templates.get_id(:host => template).should
|
97
|
+
zbx.templates.get_id(:host => template).should eq templateid
|
82
98
|
end
|
83
99
|
|
84
100
|
it "TEMPLATE: Find unknown" do
|
@@ -86,25 +102,26 @@ describe ZabbixApi, "test_api" do
|
|
86
102
|
end
|
87
103
|
|
88
104
|
it "APPLICATION: Create" do
|
89
|
-
zbx.applications.create(
|
105
|
+
applicationid = zbx.applications.create(
|
90
106
|
:name => application,
|
91
107
|
:hostid => zbx.templates.get_id(:host => template)
|
92
108
|
)
|
109
|
+
applicationid.should be_kind_of(Integer)
|
93
110
|
end
|
94
111
|
|
95
112
|
it "APPLICATION: Get or create" do
|
96
113
|
zbx.applications.get_or_create(
|
97
114
|
:name => application,
|
98
115
|
:hostid => zbx.templates.get_id(:host => template)
|
99
|
-
)
|
116
|
+
).should eq applicationid
|
100
117
|
end
|
101
118
|
|
102
119
|
it "APPLICATION: Full info check" do
|
103
|
-
zbx.applications.get_full_data(:name => application)[0]
|
120
|
+
zbx.applications.get_full_data(:name => application)[0].should include("name"=>application)
|
104
121
|
end
|
105
122
|
|
106
123
|
it "APPLICATION: Find" do
|
107
|
-
zbx.applications.get_id(:name => application).should
|
124
|
+
zbx.applications.get_id(:name => application).should eq applicationid
|
108
125
|
end
|
109
126
|
|
110
127
|
it "APPLICATION: Find unknown" do
|
@@ -112,57 +129,69 @@ describe ZabbixApi, "test_api" do
|
|
112
129
|
end
|
113
130
|
|
114
131
|
it "ITEM: Create" do
|
115
|
-
zbx.items.create(
|
132
|
+
itemid = zbx.items.create(
|
116
133
|
:description => item,
|
117
134
|
:key_ => "proc.num[aaa]",
|
118
135
|
:hostid => zbx.templates.get_id(:host => template),
|
119
136
|
:applications => [zbx.applications.get_id(:name => application)]
|
120
|
-
)
|
137
|
+
)
|
138
|
+
itemid.should be_kind_of(Integer)
|
121
139
|
end
|
122
140
|
|
123
141
|
it "ITEM: Full info check" do
|
124
|
-
zbx.items.get_full_data(:description => item)[0]
|
142
|
+
zbx.items.get_full_data(:description => item)[0].should include("description"=>item)
|
125
143
|
end
|
126
144
|
|
127
145
|
it "ITEM: Find" do
|
128
|
-
zbx.items.get_id(:description => item).should
|
146
|
+
zbx.items.get_id(:description => item).should eq itemid
|
129
147
|
end
|
130
148
|
|
131
149
|
it "ITEM: Update" do
|
132
150
|
zbx.items.update(
|
133
151
|
:itemid => zbx.items.get_id(:description => item),
|
134
|
-
:status =>
|
135
|
-
).should
|
152
|
+
:status => 1
|
153
|
+
).should eq itemid
|
136
154
|
end
|
137
155
|
|
138
|
-
it "ITEM: Create or update" do
|
156
|
+
it "ITEM: Create or update (update)" do
|
139
157
|
zbx.items.create_or_update(
|
140
158
|
:description => item,
|
141
159
|
:key_ => "proc.num[aaa]",
|
142
160
|
:status => 0,
|
143
161
|
:hostid => zbx.templates.get_id(:host => template),
|
144
162
|
:applications => [zbx.applications.get_id(:name => application)]
|
145
|
-
).should
|
163
|
+
).should eq itemid
|
164
|
+
end
|
165
|
+
|
166
|
+
it "ITEM: Create or update (create)" do
|
167
|
+
zbx.items.create_or_update(
|
168
|
+
:description => item + "____1",
|
169
|
+
:key_ => "proc.num[aaabb]",
|
170
|
+
:status => 0,
|
171
|
+
:hostid => zbx.templates.get_id(:host => template),
|
172
|
+
:applications => [zbx.applications.get_id(:name => application)]
|
173
|
+
).should eq itemid + 1
|
146
174
|
end
|
147
175
|
|
148
176
|
it "ITEM: Get unknown" do
|
149
|
-
zbx.items.get_id(:description => "#{item}_____")
|
177
|
+
zbx.items.get_id(:description => "#{item}_____").should be_kind_of(NilClass)
|
150
178
|
end
|
151
179
|
|
152
180
|
it "HOST: Create" do
|
153
|
-
zbx.hosts.create(
|
181
|
+
hostid = zbx.hosts.create(
|
154
182
|
:host => host,
|
155
183
|
:ip => "10.20.48.88",
|
156
184
|
:groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
|
157
|
-
)
|
185
|
+
)
|
186
|
+
hostid.should be_kind_of(Integer)
|
158
187
|
end
|
159
188
|
|
160
|
-
it "HOST: Update or create" do
|
189
|
+
it "HOST: Update or create (update)" do
|
161
190
|
zbx.hosts.create_or_update(
|
162
191
|
:host => host,
|
163
192
|
:ip => "10.20.48.89",
|
164
193
|
:groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
|
165
|
-
).should
|
194
|
+
).should eq hostid
|
166
195
|
end
|
167
196
|
|
168
197
|
it "HOST: Find unknown" do
|
@@ -170,20 +199,29 @@ describe ZabbixApi, "test_api" do
|
|
170
199
|
end
|
171
200
|
|
172
201
|
it "HOST: Find" do
|
173
|
-
zbx.hosts.get_id(:host => host).should
|
202
|
+
zbx.hosts.get_id(:host => host).should eq hostid
|
174
203
|
end
|
175
204
|
|
176
205
|
it "HOST: Update" do
|
177
206
|
zbx.hosts.update(
|
178
207
|
:hostid => zbx.hosts.get_id(:host => host),
|
179
208
|
:status => 0
|
180
|
-
)
|
209
|
+
).should eq hostid
|
210
|
+
end
|
211
|
+
|
212
|
+
it "TEMPLATE: Update hosts with templates" do
|
213
|
+
zbx.templates.mass_update(
|
214
|
+
:hosts_id => [zbx.hosts.get_id(:host => host)],
|
215
|
+
:templates_id => [zbx.templates.get_id(:host => template)]
|
216
|
+
).should be_kind_of(TrueClass)
|
181
217
|
end
|
182
218
|
|
183
219
|
it "TEMPLATE: Get all templates linked with host" do
|
184
|
-
zbx.templates.get_ids_by_host(
|
220
|
+
tmpl_array = zbx.templates.get_ids_by_host(
|
185
221
|
:hostids => [zbx.hosts.get_id(:host => host)]
|
186
|
-
)
|
222
|
+
)
|
223
|
+
tmpl_array.should be_kind_of(Array)
|
224
|
+
tmpl_array.should include templateid.to_s
|
187
225
|
end
|
188
226
|
|
189
227
|
it "TEMPLATE: Linked hosts with templates" do
|
@@ -193,19 +231,12 @@ describe ZabbixApi, "test_api" do
|
|
193
231
|
).should be_kind_of(TrueClass)
|
194
232
|
end
|
195
233
|
|
196
|
-
it "TEMPLATE: Update hosts with templates" do
|
197
|
-
zbx.templates.mass_update(
|
198
|
-
:hosts_id => [zbx.hosts.get_id(:host => host)],
|
199
|
-
:templates_id => [zbx.templates.get_id(:host => template)]
|
200
|
-
).should be_kind_of(TrueClass)
|
201
|
-
end
|
202
|
-
|
203
234
|
it "TEMPLATE: Get all" do
|
204
|
-
zbx.templates.all.should
|
235
|
+
zbx.templates.all.should include(template=>templateid.to_s)
|
205
236
|
end
|
206
237
|
|
207
238
|
it "TRIGGER: Create" do
|
208
|
-
zbx.triggers.create(
|
239
|
+
triggerid = zbx.triggers.create(
|
209
240
|
:description => trigger,
|
210
241
|
:expression => "{#{template}:proc.num[aaa].last(0)}<1",
|
211
242
|
:comments => "Bla-bla is faulty (disaster)",
|
@@ -213,11 +244,12 @@ describe ZabbixApi, "test_api" do
|
|
213
244
|
:status => 0,
|
214
245
|
:templateid => 0,
|
215
246
|
:type => 0
|
216
|
-
)
|
247
|
+
)
|
248
|
+
triggerid.should be_kind_of(Integer)
|
217
249
|
end
|
218
250
|
|
219
251
|
it "TRIGGER: Find" do
|
220
|
-
zbx.triggers.get_id(:description => trigger).should
|
252
|
+
zbx.triggers.get_id(:description => trigger).should eq triggerid + 1 # вау блять
|
221
253
|
end
|
222
254
|
|
223
255
|
it "GRAPH: Create" do
|
@@ -227,13 +259,14 @@ describe ZabbixApi, "test_api" do
|
|
227
259
|
:type => "0",
|
228
260
|
:periods_cnt => "5"
|
229
261
|
}
|
230
|
-
zbx.graphs.create(
|
262
|
+
graphid = zbx.graphs.create(
|
231
263
|
:gitems => [gitems],
|
232
264
|
:show_triggers => "0",
|
233
265
|
:name => graph,
|
234
266
|
:width => "900",
|
235
267
|
:height => "200"
|
236
|
-
)
|
268
|
+
)
|
269
|
+
graphid.should be_kind_of(Integer)
|
237
270
|
end
|
238
271
|
|
239
272
|
it "GRAPH: Create or get" do
|
@@ -249,7 +282,7 @@ describe ZabbixApi, "test_api" do
|
|
249
282
|
:name => graph,
|
250
283
|
:width => "900",
|
251
284
|
:height => "200"
|
252
|
-
).should
|
285
|
+
).should eq graphid
|
253
286
|
end
|
254
287
|
|
255
288
|
it "GRAPH: Find gititems" do
|
@@ -257,11 +290,13 @@ describe ZabbixApi, "test_api" do
|
|
257
290
|
end
|
258
291
|
|
259
292
|
it "GRAPH: Find" do
|
260
|
-
zbx.graphs.get_id( :name => graph ).should
|
293
|
+
zbx.graphs.get_id( :name => graph ).should eq graphid
|
261
294
|
end
|
262
295
|
|
263
296
|
it "GRAPH: get_ids_by_host" do
|
264
|
-
zbx.graphs.get_ids_by_host( :host => host )
|
297
|
+
graph_array = zbx.graphs.get_ids_by_host( :host => host )
|
298
|
+
graph_array.should be_kind_of(Array)
|
299
|
+
graph_array.should include(graphid.to_s)
|
265
300
|
end
|
266
301
|
|
267
302
|
it "GRAPH: Update" do
|
@@ -271,7 +306,7 @@ describe ZabbixApi, "test_api" do
|
|
271
306
|
:hostid => zbx.hosts.get_id(:host => host)
|
272
307
|
),
|
273
308
|
:ymax_type => 1
|
274
|
-
).should
|
309
|
+
).should eq graphid
|
275
310
|
end
|
276
311
|
|
277
312
|
it "GRAPH: Create or Update" do
|
@@ -287,14 +322,15 @@ describe ZabbixApi, "test_api" do
|
|
287
322
|
:name => graph,
|
288
323
|
:width => "900",
|
289
324
|
:height => "200"
|
290
|
-
).should
|
325
|
+
).should eq graphid
|
291
326
|
end
|
292
327
|
|
293
328
|
it "SCREEN: Get or create for host" do
|
294
|
-
zbx.screens.get_or_create_for_host(
|
329
|
+
screenid = zbx.screens.get_or_create_for_host(
|
295
330
|
:host => host,
|
296
331
|
:graphids => zbx.graphs.get_ids_by_host(:host => host)
|
297
|
-
)
|
332
|
+
)
|
333
|
+
screenid.should be_kind_of(Integer)
|
298
334
|
end
|
299
335
|
|
300
336
|
it "TEMPLATE: Unlink hosts from templates" do
|
@@ -307,7 +343,7 @@ describe ZabbixApi, "test_api" do
|
|
307
343
|
it "SCREEN: Delete" do
|
308
344
|
zbx.screens.delete(
|
309
345
|
[zbx.screens.get_id(:name => "#{host}_graphs")]
|
310
|
-
).should
|
346
|
+
).should eq screenid
|
311
347
|
end
|
312
348
|
|
313
349
|
it "GRAPH: Delete" do
|
@@ -315,40 +351,41 @@ describe ZabbixApi, "test_api" do
|
|
315
351
|
end
|
316
352
|
|
317
353
|
it "TRIGGER: Delete" do
|
318
|
-
zbx.triggers.delete( zbx.triggers.get_id(:description => trigger) ).should
|
354
|
+
zbx.triggers.delete( zbx.triggers.get_id(:description => trigger) ).should eq triggerid + 1
|
319
355
|
end
|
320
356
|
|
321
357
|
it "HOST: Delete" do
|
322
|
-
zbx.hosts.delete( zbx.hosts.get_id(:host => host) ).should
|
358
|
+
zbx.hosts.delete( zbx.hosts.get_id(:host => host) ).should eq hostid
|
323
359
|
end
|
324
360
|
|
325
361
|
it "ITEM: Delete" do
|
326
362
|
zbx.items.delete(
|
327
363
|
zbx.items.get_id(:description => item)
|
328
|
-
).should
|
364
|
+
).should eq itemid
|
329
365
|
end
|
330
366
|
|
331
367
|
it "APPLICATION: Delete" do
|
332
|
-
zbx.applications.delete( zbx.applications.get_id(:name => application) )
|
368
|
+
zbx.applications.delete( zbx.applications.get_id(:name => application) ).should eq applicationid
|
333
369
|
end
|
334
370
|
|
335
371
|
it "TEMPLATE: Delete" do
|
336
|
-
zbx.templates.delete(zbx.templates.get_id(:host => template))
|
372
|
+
zbx.templates.delete(zbx.templates.get_id(:host => template)).should eq templateid
|
337
373
|
end
|
338
374
|
|
339
375
|
it "HOSTGROUP: Delete" do
|
340
376
|
zbx.hostgroups.delete(
|
341
377
|
zbx.hostgroups.get_id(:name => hostgroup)
|
342
|
-
).should
|
378
|
+
).should eq hostgroupid
|
343
379
|
end
|
344
380
|
|
345
381
|
it "USER: Create" do
|
346
|
-
zbx.users.create(
|
382
|
+
userid = zbx.users.create(
|
347
383
|
:alias => "Test #{user}",
|
348
384
|
:name => user,
|
349
385
|
:surname => user,
|
350
386
|
:passwd => user
|
351
|
-
)
|
387
|
+
)
|
388
|
+
userid.should be_kind_of(Integer)
|
352
389
|
end
|
353
390
|
|
354
391
|
it "USER: Create or update" do
|
@@ -357,7 +394,7 @@ describe ZabbixApi, "test_api" do
|
|
357
394
|
:name => user,
|
358
395
|
:surname => user,
|
359
396
|
:passwd => user
|
360
|
-
).should
|
397
|
+
).should eq userid
|
361
398
|
end
|
362
399
|
|
363
400
|
it "USER: Find" do
|
@@ -369,22 +406,23 @@ describe ZabbixApi, "test_api" do
|
|
369
406
|
end
|
370
407
|
|
371
408
|
it "USER: Find unknown" do
|
372
|
-
zbx.users.get_id(:name => "#{user}_____")
|
409
|
+
zbx.users.get_id(:name => "#{user}_____").should be_kind_of(NilClass)
|
373
410
|
end
|
374
411
|
|
375
412
|
it "USERGROUPS: Create" do
|
376
|
-
zbx.usergroups.create(:name => usergroup)
|
413
|
+
usergroupid = zbx.usergroups.create(:name => usergroup)
|
414
|
+
usergroupid.should be_kind_of(Integer)
|
377
415
|
end
|
378
416
|
|
379
417
|
it "USERGROUPS: Create or update" do
|
380
|
-
zbx.usergroups.get_or_create(:name => usergroup).should
|
418
|
+
zbx.usergroups.get_or_create(:name => usergroup).should eq usergroupid
|
381
419
|
end
|
382
420
|
|
383
421
|
it "USERGROUPS: Add user" do
|
384
422
|
zbx.usergroups.add_user(
|
385
423
|
:usrgrpids => [zbx.usergroups.get_id(:name => usergroup)],
|
386
424
|
:userids => [zbx.users.get_id(:name => user2)]
|
387
|
-
).should
|
425
|
+
).should eq usergroupid
|
388
426
|
end
|
389
427
|
|
390
428
|
it "USERGROUPS: Set UserGroup read & write perm" do
|
@@ -392,23 +430,24 @@ describe ZabbixApi, "test_api" do
|
|
392
430
|
:usrgrpid => zbx.usergroups.get_or_create(:name => usergroup).to_s,
|
393
431
|
:hostgroupids => zbx.hostgroups.all.values,
|
394
432
|
:permission => 3
|
395
|
-
).should
|
433
|
+
).should eq usergroupid
|
396
434
|
end
|
397
435
|
|
398
436
|
it "MEDIATYPE: Create" do
|
399
|
-
zbx.mediatypes.create(
|
437
|
+
mediatypeid = zbx.mediatypes.create(
|
400
438
|
:description => mediatype,
|
401
439
|
:type => 0,
|
402
440
|
:smtp_server => "127.0.0.1",
|
403
441
|
:smtp_email => "zabbix@test.com"
|
404
|
-
)
|
442
|
+
)
|
443
|
+
mediatypeid.should be_kind_of(Integer)
|
405
444
|
end
|
406
445
|
|
407
446
|
it "MEDIATYPE: Update or create" do
|
408
447
|
zbx.mediatypes.create_or_update(
|
409
448
|
:description => mediatype,
|
410
449
|
:smtp_email => "zabbix2@test.com"
|
411
|
-
).should
|
450
|
+
).should eq mediatypeid
|
412
451
|
end
|
413
452
|
|
414
453
|
it "USER: Add mediatype" do
|
@@ -423,21 +462,21 @@ describe ZabbixApi, "test_api" do
|
|
423
462
|
:severity => "56"
|
424
463
|
}
|
425
464
|
]
|
426
|
-
).should
|
465
|
+
).should eq userid
|
427
466
|
end
|
428
467
|
|
429
468
|
it "MEDIATYPE: Delete" do
|
430
469
|
zbx.mediatypes.delete(
|
431
470
|
zbx.mediatypes.get_id(:description => mediatype)
|
432
|
-
).should
|
471
|
+
).should eq mediatypeid
|
433
472
|
end
|
434
473
|
|
435
474
|
it "USER: Delete" do
|
436
|
-
zbx.users.delete(zbx.users.get_id(:name => user2)).should
|
475
|
+
zbx.users.delete(zbx.users.get_id(:name => user2)).should eq userid
|
437
476
|
end
|
438
477
|
|
439
478
|
it "USERGROUPS: Delete" do
|
440
|
-
zbx.usergroups.delete([zbx.usergroups.get_id(:name => usergroup)]).should
|
479
|
+
zbx.usergroups.delete([zbx.usergroups.get_id(:name => usergroup)]).should eq usergroupid
|
441
480
|
end
|
442
481
|
|
443
482
|
it "QUERY" do
|
data/spec/run.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
|
1
3
|
require 'zabbixapi'
|
2
4
|
|
3
5
|
# settings
|
@@ -24,20 +26,34 @@ usergroup = "SomeUserGroup"
|
|
24
26
|
graph = "graph"
|
25
27
|
mediatype = "somemediatype"
|
26
28
|
|
29
|
+
hostgroupid = 0
|
30
|
+
templateid = 0
|
31
|
+
applicationid = 0
|
32
|
+
itemid = 0
|
33
|
+
hostid = 0
|
34
|
+
triggerid = 0
|
35
|
+
userid = 0
|
36
|
+
usergroupid = 0
|
37
|
+
graphid = 0
|
38
|
+
screenid = 0
|
39
|
+
mediatypeid = 0
|
40
|
+
|
41
|
+
|
27
42
|
puts "### Zabbix API server version #{zbx.server.version} ###"
|
28
43
|
|
29
|
-
describe ZabbixApi
|
44
|
+
describe ZabbixApi do
|
30
45
|
|
31
46
|
it "SERVER: Get version api" do
|
32
47
|
zbx.server.version.should be_kind_of(String)
|
33
48
|
end
|
34
49
|
|
35
50
|
it "HOSTGROUP: Create" do
|
36
|
-
zbx.hostgroups.create(:name => hostgroup)
|
51
|
+
hostgroupid = zbx.hostgroups.create(:name => hostgroup)
|
52
|
+
hostgroupid.should be_kind_of(Integer)
|
37
53
|
end
|
38
54
|
|
39
55
|
it "HOSTGROUP: Find" do
|
40
|
-
zbx.hostgroups.get_id(:name => hostgroup).should
|
56
|
+
zbx.hostgroups.get_id(:name => hostgroup).should eq hostgroupid
|
41
57
|
end
|
42
58
|
|
43
59
|
it "HOSTGROUP: Find unknown" do
|
@@ -45,33 +61,38 @@ describe ZabbixApi, "test_api" do
|
|
45
61
|
end
|
46
62
|
|
47
63
|
it "HOSTGROUP: Create or get" do
|
48
|
-
zbx.hostgroups.get_or_create(:name => hostgroup).should
|
64
|
+
zbx.hostgroups.get_or_create(:name => hostgroup).should eq hostgroupid
|
65
|
+
end
|
66
|
+
|
67
|
+
it "HOSTGROUP: Create or update" do
|
68
|
+
zbx.hostgroups.create_or_update(:name => hostgroup).should eq hostgroupid
|
49
69
|
end
|
50
70
|
|
51
71
|
it "HOSTGROUP: Get all" do
|
52
|
-
zbx.hostgroups.all.should
|
72
|
+
zbx.hostgroups.all.should include(hostgroup=>hostgroupid.to_s)
|
53
73
|
end
|
54
74
|
|
55
75
|
it "TEMPLATE: Create" do
|
56
|
-
zbx.templates.create(
|
76
|
+
templateid = zbx.templates.create(
|
57
77
|
:host => template,
|
58
78
|
:groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
|
59
|
-
)
|
79
|
+
)
|
80
|
+
templateid.should be_kind_of(Integer)
|
60
81
|
end
|
61
82
|
|
62
83
|
it "TEMPLATE: Get get or create" do
|
63
84
|
zbx.templates.get_or_create(
|
64
85
|
:host => template,
|
65
86
|
:groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
|
66
|
-
).should
|
87
|
+
).should eq templateid
|
67
88
|
end
|
68
89
|
|
69
90
|
it "TEMPLATE: Check full data" do
|
70
|
-
zbx.templates.get_full_data(:host => template)[0]
|
91
|
+
zbx.templates.get_full_data(:host => template)[0].should include("host"=>template)
|
71
92
|
end
|
72
93
|
|
73
94
|
it "TEMPLATE: Find" do
|
74
|
-
zbx.templates.get_id(:host => template).should
|
95
|
+
zbx.templates.get_id(:host => template).should eq templateid
|
75
96
|
end
|
76
97
|
|
77
98
|
it "TEMPLATE: Find unknown" do
|
@@ -79,25 +100,26 @@ describe ZabbixApi, "test_api" do
|
|
79
100
|
end
|
80
101
|
|
81
102
|
it "APPLICATION: Create" do
|
82
|
-
zbx.applications.create(
|
103
|
+
applicationid = zbx.applications.create(
|
83
104
|
:name => application,
|
84
105
|
:hostid => zbx.templates.get_id(:host => template)
|
85
106
|
)
|
107
|
+
applicationid.should be_kind_of(Integer)
|
86
108
|
end
|
87
109
|
|
88
110
|
it "APPLICATION: Get or create" do
|
89
111
|
zbx.applications.get_or_create(
|
90
112
|
:name => application,
|
91
113
|
:hostid => zbx.templates.get_id(:host => template)
|
92
|
-
)
|
114
|
+
).should eq applicationid
|
93
115
|
end
|
94
116
|
|
95
117
|
it "APPLICATION: Full info check" do
|
96
|
-
zbx.applications.get_full_data(:name => application)[0]
|
118
|
+
zbx.applications.get_full_data(:name => application)[0].should include("name"=>application)
|
97
119
|
end
|
98
120
|
|
99
121
|
it "APPLICATION: Find" do
|
100
|
-
zbx.applications.get_id(:name => application).should
|
122
|
+
zbx.applications.get_id(:name => application).should eq applicationid
|
101
123
|
end
|
102
124
|
|
103
125
|
it "APPLICATION: Find unknown" do
|
@@ -105,57 +127,69 @@ describe ZabbixApi, "test_api" do
|
|
105
127
|
end
|
106
128
|
|
107
129
|
it "ITEM: Create" do
|
108
|
-
zbx.items.create(
|
130
|
+
itemid = zbx.items.create(
|
109
131
|
:description => item,
|
110
132
|
:key_ => "proc.num[aaa]",
|
111
133
|
:hostid => zbx.templates.get_id(:host => template),
|
112
134
|
:applications => [zbx.applications.get_id(:name => application)]
|
113
|
-
)
|
135
|
+
)
|
136
|
+
itemid.should be_kind_of(Integer)
|
114
137
|
end
|
115
138
|
|
116
139
|
it "ITEM: Full info check" do
|
117
|
-
zbx.items.get_full_data(:description => item)[0]
|
140
|
+
zbx.items.get_full_data(:description => item)[0].should include("description"=>item)
|
118
141
|
end
|
119
142
|
|
120
143
|
it "ITEM: Find" do
|
121
|
-
zbx.items.get_id(:description => item).should
|
144
|
+
zbx.items.get_id(:description => item).should eq itemid
|
122
145
|
end
|
123
146
|
|
124
147
|
it "ITEM: Update" do
|
125
148
|
zbx.items.update(
|
126
149
|
:itemid => zbx.items.get_id(:description => item),
|
127
|
-
:status =>
|
128
|
-
).should
|
150
|
+
:status => 1
|
151
|
+
).should eq itemid
|
129
152
|
end
|
130
153
|
|
131
|
-
it "ITEM: Create or update" do
|
154
|
+
it "ITEM: Create or update (update)" do
|
132
155
|
zbx.items.create_or_update(
|
133
156
|
:description => item,
|
134
157
|
:key_ => "proc.num[aaa]",
|
135
|
-
:
|
158
|
+
:status => 0,
|
136
159
|
:hostid => zbx.templates.get_id(:host => template),
|
137
160
|
:applications => [zbx.applications.get_id(:name => application)]
|
138
|
-
).should
|
161
|
+
).should eq itemid
|
162
|
+
end
|
163
|
+
|
164
|
+
it "ITEM: Create or update (create)" do
|
165
|
+
zbx.items.create_or_update(
|
166
|
+
:description => item + "____1",
|
167
|
+
:key_ => "proc.num[aaabb]",
|
168
|
+
:status => 0,
|
169
|
+
:hostid => zbx.templates.get_id(:host => template),
|
170
|
+
:applications => [zbx.applications.get_id(:name => application)]
|
171
|
+
).should eq itemid + 1
|
139
172
|
end
|
140
173
|
|
141
174
|
it "ITEM: Get unknown" do
|
142
|
-
zbx.items.get_id(:description => "#{item}_____")
|
175
|
+
zbx.items.get_id(:description => "#{item}_____").should be_kind_of(NilClass)
|
143
176
|
end
|
144
177
|
|
145
178
|
it "HOST: Create" do
|
146
|
-
zbx.hosts.create(
|
179
|
+
hostid = zbx.hosts.create(
|
147
180
|
:host => host,
|
148
181
|
:ip => "10.20.48.88",
|
149
182
|
:groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
|
150
|
-
)
|
183
|
+
)
|
184
|
+
hostid.should be_kind_of(Integer)
|
151
185
|
end
|
152
186
|
|
153
|
-
it "HOST: Update or create" do
|
187
|
+
it "HOST: Update or create (update)" do
|
154
188
|
zbx.hosts.create_or_update(
|
155
189
|
:host => host,
|
156
190
|
:ip => "10.20.48.89",
|
157
191
|
:groups => [:groupid => zbx.hostgroups.get_id(:name => hostgroup)]
|
158
|
-
).should
|
192
|
+
).should eq hostid
|
159
193
|
end
|
160
194
|
|
161
195
|
it "HOST: Find unknown" do
|
@@ -163,20 +197,29 @@ describe ZabbixApi, "test_api" do
|
|
163
197
|
end
|
164
198
|
|
165
199
|
it "HOST: Find" do
|
166
|
-
zbx.hosts.get_id(:host => host).should
|
200
|
+
zbx.hosts.get_id(:host => host).should eq hostid
|
167
201
|
end
|
168
202
|
|
169
203
|
it "HOST: Update" do
|
170
204
|
zbx.hosts.update(
|
171
205
|
:hostid => zbx.hosts.get_id(:host => host),
|
172
206
|
:status => 0
|
173
|
-
)
|
207
|
+
).should eq hostid
|
208
|
+
end
|
209
|
+
|
210
|
+
it "TEMPLATE: Update hosts with templates" do
|
211
|
+
zbx.templates.mass_update(
|
212
|
+
:hosts_id => [zbx.hosts.get_id(:host => host)],
|
213
|
+
:templates_id => [zbx.templates.get_id(:host => template)]
|
214
|
+
).should be_kind_of(TrueClass)
|
174
215
|
end
|
175
216
|
|
176
217
|
it "TEMPLATE: Get all templates linked with host" do
|
177
|
-
zbx.templates.get_ids_by_host(
|
218
|
+
tmpl_array = zbx.templates.get_ids_by_host(
|
178
219
|
:hostids => [zbx.hosts.get_id(:host => host)]
|
179
|
-
)
|
220
|
+
)
|
221
|
+
tmpl_array.should be_kind_of(Array)
|
222
|
+
tmpl_array.should include templateid.to_s
|
180
223
|
end
|
181
224
|
|
182
225
|
it "TEMPLATE: Linked hosts with templates" do
|
@@ -186,19 +229,12 @@ describe ZabbixApi, "test_api" do
|
|
186
229
|
).should be_kind_of(TrueClass)
|
187
230
|
end
|
188
231
|
|
189
|
-
it "TEMPLATE: Update hosts with templates" do
|
190
|
-
zbx.templates.mass_update(
|
191
|
-
:hosts_id => [zbx.hosts.get_id(:host => host)],
|
192
|
-
:templates_id => [zbx.templates.get_id(:host => template)]
|
193
|
-
).should be_kind_of(TrueClass)
|
194
|
-
end
|
195
|
-
|
196
232
|
it "TEMPLATE: Get all" do
|
197
|
-
zbx.templates.all.should
|
233
|
+
zbx.templates.all.should include(template=>templateid.to_s)
|
198
234
|
end
|
199
235
|
|
200
236
|
it "TRIGGER: Create" do
|
201
|
-
zbx.triggers.create(
|
237
|
+
triggerid = zbx.triggers.create(
|
202
238
|
:description => trigger,
|
203
239
|
:expression => "{#{template}:proc.num[aaa].last(0)}<1",
|
204
240
|
:comments => "Bla-bla is faulty (disaster)",
|
@@ -206,11 +242,12 @@ describe ZabbixApi, "test_api" do
|
|
206
242
|
:status => 0,
|
207
243
|
:templateid => 0,
|
208
244
|
:type => 0
|
209
|
-
)
|
245
|
+
)
|
246
|
+
triggerid.should be_kind_of(Integer)
|
210
247
|
end
|
211
248
|
|
212
249
|
it "TRIGGER: Find" do
|
213
|
-
zbx.triggers.get_id(:description => trigger).should
|
250
|
+
zbx.triggers.get_id(:description => trigger).should eq triggerid + 1 # вау блять
|
214
251
|
end
|
215
252
|
|
216
253
|
it "GRAPH: Create" do
|
@@ -220,13 +257,14 @@ describe ZabbixApi, "test_api" do
|
|
220
257
|
:type => "0",
|
221
258
|
:periods_cnt => "5"
|
222
259
|
}
|
223
|
-
zbx.graphs.create(
|
260
|
+
graphid = zbx.graphs.create(
|
224
261
|
:gitems => [gitems],
|
225
262
|
:show_triggers => "0",
|
226
263
|
:name => graph,
|
227
264
|
:width => "900",
|
228
265
|
:height => "200"
|
229
|
-
)
|
266
|
+
)
|
267
|
+
graphid.should be_kind_of(Integer)
|
230
268
|
end
|
231
269
|
|
232
270
|
it "GRAPH: Create or get" do
|
@@ -242,7 +280,7 @@ describe ZabbixApi, "test_api" do
|
|
242
280
|
:name => graph,
|
243
281
|
:width => "900",
|
244
282
|
:height => "200"
|
245
|
-
).should
|
283
|
+
).should eq graphid
|
246
284
|
end
|
247
285
|
|
248
286
|
it "GRAPH: Find gititems" do
|
@@ -250,11 +288,13 @@ describe ZabbixApi, "test_api" do
|
|
250
288
|
end
|
251
289
|
|
252
290
|
it "GRAPH: Find" do
|
253
|
-
zbx.graphs.get_id( :name => graph ).should
|
291
|
+
zbx.graphs.get_id( :name => graph ).should eq graphid
|
254
292
|
end
|
255
293
|
|
256
294
|
it "GRAPH: get_ids_by_host" do
|
257
|
-
zbx.graphs.get_ids_by_host( :host => host )
|
295
|
+
graph_array = zbx.graphs.get_ids_by_host( :host => host )
|
296
|
+
graph_array.should be_kind_of(Array)
|
297
|
+
graph_array.should include(graphid.to_s)
|
258
298
|
end
|
259
299
|
|
260
300
|
it "GRAPH: Update" do
|
@@ -264,7 +304,7 @@ describe ZabbixApi, "test_api" do
|
|
264
304
|
:hostid => zbx.hosts.get_id(:host => host)
|
265
305
|
),
|
266
306
|
:ymax_type => 1
|
267
|
-
).should
|
307
|
+
).should eq graphid
|
268
308
|
end
|
269
309
|
|
270
310
|
it "GRAPH: Create or Update" do
|
@@ -280,14 +320,15 @@ describe ZabbixApi, "test_api" do
|
|
280
320
|
:name => graph,
|
281
321
|
:width => "900",
|
282
322
|
:height => "200"
|
283
|
-
).should
|
323
|
+
).should eq graphid
|
284
324
|
end
|
285
325
|
|
286
326
|
it "SCREEN: Get or create for host" do
|
287
|
-
zbx.screens.get_or_create_for_host(
|
327
|
+
screenid = zbx.screens.get_or_create_for_host(
|
288
328
|
:host => host,
|
289
329
|
:graphids => zbx.graphs.get_ids_by_host(:host => host)
|
290
|
-
)
|
330
|
+
)
|
331
|
+
screenid.should be_kind_of(Integer)
|
291
332
|
end
|
292
333
|
|
293
334
|
it "TEMPLATE: Unlink hosts from templates" do
|
@@ -300,48 +341,49 @@ describe ZabbixApi, "test_api" do
|
|
300
341
|
it "SCREEN: Delete" do
|
301
342
|
zbx.screens.delete(
|
302
343
|
[zbx.screens.get_id(:name => "#{host}_graphs")]
|
303
|
-
).should
|
344
|
+
).should eq screenid
|
304
345
|
end
|
305
346
|
|
306
347
|
it "GRAPH: Delete" do
|
307
|
-
zbx.graphs.delete(zbx.graphs.get_id(:name => graph)).should be_kind_of(
|
348
|
+
zbx.graphs.delete(zbx.graphs.get_id(:name => graph)).should be_kind_of(TrueClass)
|
308
349
|
end
|
309
350
|
|
310
351
|
it "TRIGGER: Delete" do
|
311
|
-
zbx.triggers.delete( zbx.triggers.get_id(:description => trigger) ).should
|
352
|
+
zbx.triggers.delete( zbx.triggers.get_id(:description => trigger) ).should eq triggerid + 1
|
312
353
|
end
|
313
354
|
|
314
355
|
it "HOST: Delete" do
|
315
|
-
zbx.hosts.delete( zbx.hosts.get_id(:host => host) ).should
|
356
|
+
zbx.hosts.delete( zbx.hosts.get_id(:host => host) ).should eq hostid
|
316
357
|
end
|
317
358
|
|
318
359
|
it "ITEM: Delete" do
|
319
360
|
zbx.items.delete(
|
320
361
|
zbx.items.get_id(:description => item)
|
321
|
-
).should
|
362
|
+
).should eq itemid
|
322
363
|
end
|
323
364
|
|
324
365
|
it "APPLICATION: Delete" do
|
325
|
-
zbx.applications.delete( zbx.applications.get_id(:name => application) )
|
366
|
+
zbx.applications.delete( zbx.applications.get_id(:name => application) ).should eq applicationid
|
326
367
|
end
|
327
368
|
|
328
369
|
it "TEMPLATE: Delete" do
|
329
|
-
zbx.templates.delete(zbx.templates.get_id(:host => template))
|
370
|
+
zbx.templates.delete(zbx.templates.get_id(:host => template)).should eq templateid
|
330
371
|
end
|
331
372
|
|
332
373
|
it "HOSTGROUP: Delete" do
|
333
374
|
zbx.hostgroups.delete(
|
334
375
|
zbx.hostgroups.get_id(:name => hostgroup)
|
335
|
-
).should
|
376
|
+
).should eq hostgroupid
|
336
377
|
end
|
337
378
|
|
338
379
|
it "USER: Create" do
|
339
|
-
zbx.users.create(
|
380
|
+
userid = zbx.users.create(
|
340
381
|
:alias => "Test #{user}",
|
341
382
|
:name => user,
|
342
383
|
:surname => user,
|
343
384
|
:passwd => user
|
344
|
-
)
|
385
|
+
)
|
386
|
+
userid.should be_kind_of(Integer)
|
345
387
|
end
|
346
388
|
|
347
389
|
it "USER: Create or update" do
|
@@ -350,7 +392,7 @@ describe ZabbixApi, "test_api" do
|
|
350
392
|
:name => user,
|
351
393
|
:surname => user,
|
352
394
|
:passwd => user
|
353
|
-
).should
|
395
|
+
).should eq userid
|
354
396
|
end
|
355
397
|
|
356
398
|
it "USER: Find" do
|
@@ -362,22 +404,23 @@ describe ZabbixApi, "test_api" do
|
|
362
404
|
end
|
363
405
|
|
364
406
|
it "USER: Find unknown" do
|
365
|
-
zbx.users.get_id(:name => "#{user}_____")
|
407
|
+
zbx.users.get_id(:name => "#{user}_____").should be_kind_of(NilClass)
|
366
408
|
end
|
367
409
|
|
368
410
|
it "USERGROUPS: Create" do
|
369
|
-
zbx.usergroups.create(:name => usergroup)
|
411
|
+
usergroupid = zbx.usergroups.create(:name => usergroup)
|
412
|
+
usergroupid.should be_kind_of(Integer)
|
370
413
|
end
|
371
414
|
|
372
415
|
it "USERGROUPS: Create or update" do
|
373
|
-
zbx.usergroups.get_or_create(:name => usergroup).should
|
416
|
+
zbx.usergroups.get_or_create(:name => usergroup).should eq usergroupid
|
374
417
|
end
|
375
418
|
|
376
419
|
it "USERGROUPS: Add user" do
|
377
420
|
zbx.usergroups.add_user(
|
378
421
|
:usrgrpids => [zbx.usergroups.get_id(:name => usergroup)],
|
379
422
|
:userids => [zbx.users.get_id(:name => user2)]
|
380
|
-
).should
|
423
|
+
).should eq usergroupid
|
381
424
|
end
|
382
425
|
|
383
426
|
it "USERGROUPS: Set UserGroup read & write perm" do
|
@@ -385,23 +428,24 @@ describe ZabbixApi, "test_api" do
|
|
385
428
|
:usrgrpid => zbx.usergroups.get_or_create(:name => usergroup).to_s,
|
386
429
|
:hostgroupids => zbx.hostgroups.all.values,
|
387
430
|
:permission => 3
|
388
|
-
).should
|
431
|
+
).should eq usergroupid
|
389
432
|
end
|
390
433
|
|
391
434
|
it "MEDIATYPE: Create" do
|
392
|
-
zbx.mediatypes.create(
|
435
|
+
mediatypeid = zbx.mediatypes.create(
|
393
436
|
:description => mediatype,
|
394
437
|
:type => 0,
|
395
438
|
:smtp_server => "127.0.0.1",
|
396
439
|
:smtp_email => "zabbix@test.com"
|
397
|
-
)
|
440
|
+
)
|
441
|
+
mediatypeid.should be_kind_of(Integer)
|
398
442
|
end
|
399
443
|
|
400
444
|
it "MEDIATYPE: Update or create" do
|
401
445
|
zbx.mediatypes.create_or_update(
|
402
446
|
:description => mediatype,
|
403
447
|
:smtp_email => "zabbix2@test.com"
|
404
|
-
).should
|
448
|
+
).should eq mediatypeid
|
405
449
|
end
|
406
450
|
|
407
451
|
it "USER: Add mediatype" do
|
@@ -416,21 +460,21 @@ describe ZabbixApi, "test_api" do
|
|
416
460
|
:severity => "56"
|
417
461
|
}
|
418
462
|
]
|
419
|
-
).should
|
463
|
+
).should eq userid
|
420
464
|
end
|
421
465
|
|
422
466
|
it "MEDIATYPE: Delete" do
|
423
467
|
zbx.mediatypes.delete(
|
424
468
|
zbx.mediatypes.get_id(:description => mediatype)
|
425
|
-
).should
|
469
|
+
).should eq mediatypeid
|
426
470
|
end
|
427
471
|
|
428
472
|
it "USER: Delete" do
|
429
|
-
zbx.users.delete(zbx.users.get_id(:name => user2)).should
|
473
|
+
zbx.users.delete(zbx.users.get_id(:name => user2)).should eq userid
|
430
474
|
end
|
431
475
|
|
432
476
|
it "USERGROUPS: Delete" do
|
433
|
-
zbx.usergroups.delete([zbx.usergroups.get_id(:name => usergroup)]).should
|
477
|
+
zbx.usergroups.delete([zbx.usergroups.get_id(:name => usergroup)]).should eq usergroupid
|
434
478
|
end
|
435
479
|
|
436
480
|
it "QUERY" do
|
data/zabbixapi.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
$:.push File.expand_path("../lib", __FILE__)
|
3
|
-
require
|
3
|
+
require 'zabbixapi/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "zabbixapi"
|
@@ -11,6 +11,8 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.summary = %q{Realization for Zabbix API.}
|
12
12
|
s.description = %q{Allows you to work with zabbix api from ruby.}
|
13
13
|
s.licenses = %w(MIT)
|
14
|
+
|
15
|
+
s.add_dependency('json')
|
14
16
|
|
15
17
|
s.rubyforge_project = "zabbixapi"
|
16
18
|
|
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: 0.5.
|
4
|
+
version: 0.5.1b11
|
5
5
|
prerelease: 5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
13
|
-
dependencies:
|
12
|
+
date: 2012-12-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: json
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
14
30
|
description: Allows you to work with zabbix api from ruby.
|
15
31
|
email:
|
16
32
|
- vadv.mkn@gmail.com
|
@@ -63,7 +79,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
63
79
|
version: '0'
|
64
80
|
segments:
|
65
81
|
- 0
|
66
|
-
hash: -
|
82
|
+
hash: -2676631147213702854
|
67
83
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
84
|
none: false
|
69
85
|
requirements:
|