baruwa 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/.codeclimate.yml +4 -0
- data/.gitignore +5 -0
- data/.rspec +1 -0
- data/.travis.yml +11 -0
- data/Gemfile +6 -0
- data/LICENSE +373 -0
- data/README.md +37 -0
- data/Rakefile +7 -0
- data/baruwa.gemspec +33 -0
- data/lib/baruwa/version.rb +11 -0
- data/lib/baruwa.rb +401 -0
- data/spec/baruwa_alias_spec.rb +63 -0
- data/spec/baruwa_authservers_spec.rb +79 -0
- data/spec/baruwa_deliveryservers_spec.rb +79 -0
- data/spec/baruwa_domainalias_spec.rb +79 -0
- data/spec/baruwa_domains_spec.rb +95 -0
- data/spec/baruwa_ldapsettings_spec.rb +70 -0
- data/spec/baruwa_organizations_spec.rb +75 -0
- data/spec/baruwa_radiusettings_spec.rb +70 -0
- data/spec/baruwa_relays_spec.rb +63 -0
- data/spec/baruwa_status_spec.rb +23 -0
- data/spec/baruwa_users_spec.rb +104 -0
- data/spec/spec_helper.rb +13 -0
- metadata +135 -0
data/lib/baruwa.rb
ADDED
@@ -0,0 +1,401 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
# vim: ai ts=4 sts=4 et sw=4
|
3
|
+
# baruwa: Ruby bindings for the Baruwa REST API
|
4
|
+
# Copyright (C) 2015 Andrew Colin Kissa <andrew@topdog.za.net>
|
5
|
+
#
|
6
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
7
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
8
|
+
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
9
|
+
require "baruwa/version"
|
10
|
+
require "json"
|
11
|
+
require "net/http"
|
12
|
+
|
13
|
+
class BaruwaAPIError < StandardError; end
|
14
|
+
|
15
|
+
class BaruwaAPI
|
16
|
+
ENDPOINTS = {
|
17
|
+
:users => {
|
18
|
+
:list => {:name => '/users', :method => :get},
|
19
|
+
:new => {:name => '/users', :method => :post},
|
20
|
+
:get => {:name => '/users/%s', :method => :get},
|
21
|
+
:update => {:name => '/users', :method => :put},
|
22
|
+
:delete => {:name => '/users/%s', :method => :delete},
|
23
|
+
:password => {:name => '/users/chpw/%s', :method => :post}
|
24
|
+
},
|
25
|
+
:aliases => {
|
26
|
+
:get => {:name => '/aliasaddresses/%s', :method => :get},
|
27
|
+
:new => {:name => '/aliasaddresses/%s', :method => :post},
|
28
|
+
:update => {:name => '/aliasaddresses/%s', :method => :put},
|
29
|
+
:delete => {:name => '/aliasaddresses/%s', :method => :delete}
|
30
|
+
},
|
31
|
+
:domains => {
|
32
|
+
:list => {:name => '/domains', :method => :get},
|
33
|
+
:new => {:name => '/domains', :method => :post},
|
34
|
+
:get => {:name => '/domains/%s', :method => :get},
|
35
|
+
:update => {:name => '/domains/%s', :method => :put},
|
36
|
+
:delete => {:name => '/domains/%s', :method => :delete}
|
37
|
+
},
|
38
|
+
:domainaliases => {
|
39
|
+
:list => {:name => '/domainaliases/%s', :method => :get},
|
40
|
+
:new => {:name => '/domainaliases/%s', :method => :post},
|
41
|
+
:get => {:name => '/domainaliases/%s/%s', :method => :get},
|
42
|
+
:update => {:name => '/domainaliases/%s/%s', :method => :put},
|
43
|
+
:delete => {:name => '/domainaliases/%s/%s', :method => :delete}
|
44
|
+
},
|
45
|
+
:deliveryservers => {
|
46
|
+
:list => {:name => '/deliveryservers/%s', :method => :get},
|
47
|
+
:new => {:name => '/deliveryservers/%s', :method => :post},
|
48
|
+
:get => {:name => '/deliveryservers/%s/%s', :method => :get},
|
49
|
+
:update => {:name => '/deliveryservers/%s/%s', :method => :put},
|
50
|
+
:delete => {:name => '/deliveryservers/%s/%s', :method => :delete}
|
51
|
+
},
|
52
|
+
:authservers => {
|
53
|
+
:list => {:name => '/authservers/%s', :method => :get},
|
54
|
+
:new => {:name => '/authservers/%s', :method => :post},
|
55
|
+
:get => {:name => '/authservers/%s/%s', :method => :get},
|
56
|
+
:update => {:name => '/authservers/%s/%s', :method => :put},
|
57
|
+
:delete => {:name => '/authservers/%s/%s', :method => :delete}
|
58
|
+
},
|
59
|
+
:ldapsettings => {
|
60
|
+
:new => {:name => '/ldapsettings/%s/%s', :method => :post},
|
61
|
+
:get => {:name => '/ldapsettings/%s/%s/%s', :method => :get},
|
62
|
+
:update => {:name => '/ldapsettings/%s/%s/%s', :method => :put},
|
63
|
+
:delete => {:name => '/ldapsettings/%s/%s/%s', :method => :delete}
|
64
|
+
},
|
65
|
+
:radiussettings => {
|
66
|
+
:new => {:name => '/radiussettings/%s/%s', :method => :post},
|
67
|
+
:get => {:name => '/radiussettings/%s/%s/%s', :method => :get},
|
68
|
+
:update => {:name => '/radiussettings/%s/%s/%s', :method => :put},
|
69
|
+
:delete => {:name => '/radiussettings/%s/%s/%s', :method => :delete}
|
70
|
+
},
|
71
|
+
:organizations => {
|
72
|
+
:list => {:name => '/organizations', :method => :get},
|
73
|
+
:new => {:name => '/organizations', :method => :post},
|
74
|
+
:get => {:name => '/organizations/%s', :method => :get},
|
75
|
+
:update => {:name => '/organizations/%s', :method => :put},
|
76
|
+
:delete => {:name => '/organizations/%s', :method => :delete}
|
77
|
+
},
|
78
|
+
:relays => {
|
79
|
+
:new => {:name => '/relays/%s', :method => :post},
|
80
|
+
:get => {:name => '/relays/%s', :method => :get},
|
81
|
+
:update => {:name => '/relays/%s', :method => :put},
|
82
|
+
:delete => {:name => '/relays/%s', :method => :delete}
|
83
|
+
},
|
84
|
+
:status => {:name => '/status', :method => :get}
|
85
|
+
}
|
86
|
+
def initialize (url, token, ssl_verify=false)
|
87
|
+
@baruwa_url = "#{url}/api/v1"
|
88
|
+
@baruwa_token = token
|
89
|
+
end
|
90
|
+
|
91
|
+
def get_users
|
92
|
+
# get users
|
93
|
+
call_api(ENDPOINTS[:users][:list])
|
94
|
+
end
|
95
|
+
|
96
|
+
def get_user(userid)
|
97
|
+
# get a user
|
98
|
+
call_api(ENDPOINTS[:users][:get], [userid])
|
99
|
+
end
|
100
|
+
|
101
|
+
def create_user(data)
|
102
|
+
# create a user
|
103
|
+
call_api(ENDPOINTS[:users][:new], [], data)
|
104
|
+
end
|
105
|
+
|
106
|
+
def update_user(data)
|
107
|
+
# update a user
|
108
|
+
call_api(ENDPOINTS[:users][:update], [], data)
|
109
|
+
end
|
110
|
+
|
111
|
+
def delete_user(userid)
|
112
|
+
# delete a user
|
113
|
+
call_api(ENDPOINTS[:users][:delete], [userid])
|
114
|
+
end
|
115
|
+
|
116
|
+
def set_user_passwd(userid, data)
|
117
|
+
# set a user password
|
118
|
+
call_api(ENDPOINTS[:users][:password], [userid], data)
|
119
|
+
end
|
120
|
+
|
121
|
+
def get_aliases(addressid)
|
122
|
+
# get aliases
|
123
|
+
call_api(ENDPOINTS[:aliases][:get], [addressid])
|
124
|
+
end
|
125
|
+
|
126
|
+
def create_alias(userid, data)
|
127
|
+
# create an alias address
|
128
|
+
call_api(ENDPOINTS[:aliases][:new], [userid], data)
|
129
|
+
end
|
130
|
+
|
131
|
+
def update_alias(addressid, data)
|
132
|
+
# update an alias address
|
133
|
+
call_api(ENDPOINTS[:aliases][:update], [addressid], data)
|
134
|
+
end
|
135
|
+
|
136
|
+
def delete_alias(addressid, data)
|
137
|
+
# delete an alias address
|
138
|
+
call_api(ENDPOINTS[:aliases][:delete], [addressid], data)
|
139
|
+
end
|
140
|
+
|
141
|
+
def get_domains
|
142
|
+
# get domains
|
143
|
+
call_api(ENDPOINTS[:domains][:list])
|
144
|
+
end
|
145
|
+
|
146
|
+
def get_domain(domainid)
|
147
|
+
# get a domain
|
148
|
+
call_api(ENDPOINTS[:domains][:get], [domainid])
|
149
|
+
end
|
150
|
+
|
151
|
+
def create_domain(data)
|
152
|
+
# create a domain
|
153
|
+
call_api(ENDPOINTS[:domains][:new], [], data)
|
154
|
+
end
|
155
|
+
|
156
|
+
def update_domain(domainid, data)
|
157
|
+
# update a domain
|
158
|
+
call_api(ENDPOINTS[:domains][:update], [domainid], data)
|
159
|
+
end
|
160
|
+
|
161
|
+
def delete_domain(domainid)
|
162
|
+
# delete a domain
|
163
|
+
call_api(ENDPOINTS[:domains][:delete], [domainid])
|
164
|
+
end
|
165
|
+
|
166
|
+
def get_domainaliases(domainid)
|
167
|
+
# get domain aliases
|
168
|
+
call_api(ENDPOINTS[:domainaliases][:list], [domainid])
|
169
|
+
end
|
170
|
+
|
171
|
+
def get_domainalias(domainid, aliasid)
|
172
|
+
# get domain alias
|
173
|
+
call_api(ENDPOINTS[:domainaliases][:get], [domainid, aliasid])
|
174
|
+
end
|
175
|
+
|
176
|
+
def create_domainalias(domainid, data)
|
177
|
+
# create a domain alias
|
178
|
+
call_api(ENDPOINTS[:domainaliases][:new], [domainid], data)
|
179
|
+
end
|
180
|
+
|
181
|
+
def update_domainalias(domainid, aliasid, data)
|
182
|
+
# update a domain alias
|
183
|
+
call_api(ENDPOINTS[:domainaliases][:update], [domainid, aliasid], data)
|
184
|
+
end
|
185
|
+
|
186
|
+
def delete_domainalias(domainid, aliasid, data)
|
187
|
+
# delete a domain alias
|
188
|
+
call_api(ENDPOINTS[:domainaliases][:delete], [domainid, aliasid], data)
|
189
|
+
end
|
190
|
+
|
191
|
+
def get_deliveryservers(domainid)
|
192
|
+
# get delivery servers
|
193
|
+
call_api(ENDPOINTS[:deliveryservers][:list], [domainid])
|
194
|
+
end
|
195
|
+
|
196
|
+
def get_deliveryserver(domainid, serverid)
|
197
|
+
# get a delivery server
|
198
|
+
call_api(ENDPOINTS[:deliveryservers][:get], [domainid, serverid])
|
199
|
+
end
|
200
|
+
|
201
|
+
def create_deliveryserver(domainid, data)
|
202
|
+
# create a delivery server
|
203
|
+
call_api(ENDPOINTS[:deliveryservers][:new], [domainid], data)
|
204
|
+
end
|
205
|
+
|
206
|
+
def update_deliveryserver(domainid, serverid, data)
|
207
|
+
# update a delivery server
|
208
|
+
call_api(ENDPOINTS[:deliveryservers][:update], [domainid, serverid], data)
|
209
|
+
end
|
210
|
+
|
211
|
+
def delete_deliveryserver(domainid, serverid, data)
|
212
|
+
# delete delivery servers
|
213
|
+
call_api(ENDPOINTS[:deliveryservers][:delete], [domainid, serverid], data)
|
214
|
+
end
|
215
|
+
|
216
|
+
def get_authservers(domainid)
|
217
|
+
# get auth servers
|
218
|
+
call_api(ENDPOINTS[:authservers][:list], [domainid])
|
219
|
+
end
|
220
|
+
|
221
|
+
def get_authserver(domainid, serverid)
|
222
|
+
# get auth server
|
223
|
+
call_api(ENDPOINTS[:authservers][:get], [domainid, serverid])
|
224
|
+
end
|
225
|
+
|
226
|
+
def create_authserver(domainid, data)
|
227
|
+
# create auth server
|
228
|
+
call_api(ENDPOINTS[:authservers][:new], [domainid], data)
|
229
|
+
end
|
230
|
+
|
231
|
+
def update_authserver(domainid, serverid, data)
|
232
|
+
# update an auth server
|
233
|
+
call_api(ENDPOINTS[:authservers][:update], [domainid, serverid], data)
|
234
|
+
end
|
235
|
+
|
236
|
+
def delete_authserver(domainid, serverid, data)
|
237
|
+
# delete an auth server
|
238
|
+
call_api(ENDPOINTS[:authservers][:delete], [domainid, serverid], data)
|
239
|
+
end
|
240
|
+
|
241
|
+
def get_ldapsettings(domainid, serverid, settingsid)
|
242
|
+
# get ldap settings
|
243
|
+
call_api(ENDPOINTS[:ldapsettings][:get], [domainid, serverid, settingsid])
|
244
|
+
end
|
245
|
+
|
246
|
+
def create_ldapsettings(domainid, serverid, data)
|
247
|
+
# create ldap settings
|
248
|
+
call_api(ENDPOINTS[:ldapsettings][:new], [domainid, serverid], data)
|
249
|
+
end
|
250
|
+
|
251
|
+
def update_ldapsettings(domainid, serverid, settingsid, data)
|
252
|
+
# update ldap settings
|
253
|
+
call_api(ENDPOINTS[:ldapsettings][:update], [domainid, serverid, settingsid], data)
|
254
|
+
end
|
255
|
+
|
256
|
+
def delete_ldapsettings(domainid, serverid, settingsid, data)
|
257
|
+
# delete ldap settings
|
258
|
+
call_api(ENDPOINTS[:ldapsettings][:delete], [domainid, serverid, settingsid], data)
|
259
|
+
end
|
260
|
+
|
261
|
+
def get_radiussettings(domainid, serverid, settingsid)
|
262
|
+
# get radius settings
|
263
|
+
call_api(ENDPOINTS[:radiussettings][:get], [domainid, serverid, settingsid])
|
264
|
+
end
|
265
|
+
|
266
|
+
def create_radiussettings(domainid, serverid, data)
|
267
|
+
# create radius settings
|
268
|
+
call_api(ENDPOINTS[:radiussettings][:new], [domainid, serverid], data)
|
269
|
+
end
|
270
|
+
|
271
|
+
def update_radiussettings(domainid, serverid, settingsid, data)
|
272
|
+
# update radius settings
|
273
|
+
call_api(ENDPOINTS[:radiussettings][:update], [domainid, serverid, settingsid], data)
|
274
|
+
end
|
275
|
+
|
276
|
+
def delete_radiussettings(domainid, serverid, settingsid, data)
|
277
|
+
# delete radius settings
|
278
|
+
call_api(ENDPOINTS[:radiussettings][:delete], [domainid, serverid, settingsid], data)
|
279
|
+
end
|
280
|
+
|
281
|
+
def get_organizations
|
282
|
+
# get organizations
|
283
|
+
call_api(ENDPOINTS[:organizations][:list])
|
284
|
+
end
|
285
|
+
|
286
|
+
def get_organization(orgid)
|
287
|
+
# get organization
|
288
|
+
call_api(ENDPOINTS[:organizations][:get], [orgid])
|
289
|
+
end
|
290
|
+
|
291
|
+
def create_organization(data)
|
292
|
+
# create an organization
|
293
|
+
call_api(ENDPOINTS[:organizations][:new], [], data)
|
294
|
+
end
|
295
|
+
|
296
|
+
def update_organization(orgid, data)
|
297
|
+
# update an organization
|
298
|
+
call_api(ENDPOINTS[:organizations][:update], [orgid], data)
|
299
|
+
end
|
300
|
+
|
301
|
+
def delete_organization(orgid)
|
302
|
+
# delete an organization
|
303
|
+
call_api(ENDPOINTS[:organizations][:delete], [orgid])
|
304
|
+
end
|
305
|
+
|
306
|
+
def get_relay(relayid)
|
307
|
+
# get a relay setting
|
308
|
+
call_api(ENDPOINTS[:relays][:get], [relayid])
|
309
|
+
end
|
310
|
+
|
311
|
+
def create_relay(orgid, data)
|
312
|
+
# create a relay setting
|
313
|
+
call_api(ENDPOINTS[:relays][:new], [orgid], data)
|
314
|
+
end
|
315
|
+
|
316
|
+
def update_relay(relayid, data)
|
317
|
+
# update relay settings
|
318
|
+
call_api(ENDPOINTS[:relays][:update], [relayid], data)
|
319
|
+
end
|
320
|
+
|
321
|
+
def delete_relay(relayid, data)
|
322
|
+
# delete relay settings
|
323
|
+
call_api(ENDPOINTS[:relays][:delete], [relayid], data)
|
324
|
+
end
|
325
|
+
|
326
|
+
def get_status
|
327
|
+
# get status
|
328
|
+
call_api(ENDPOINTS[:status])
|
329
|
+
end
|
330
|
+
|
331
|
+
def get_params(params)
|
332
|
+
# convert params has to string
|
333
|
+
if params then
|
334
|
+
params.collect {|k,v| "#{k}=#{CGI::escape(v.to_s)}"}.join('&')
|
335
|
+
else
|
336
|
+
params
|
337
|
+
end
|
338
|
+
end
|
339
|
+
|
340
|
+
def parse_url(endpoint, opts, params=false)
|
341
|
+
if opts.length > 0 then
|
342
|
+
endpoint_string = endpoint[:name] % opts
|
343
|
+
else
|
344
|
+
endpoint_string = endpoint[:name]
|
345
|
+
end
|
346
|
+
url_string = @baruwa_url + endpoint_string
|
347
|
+
url_string << params if params
|
348
|
+
uri = URI.parse(url_string)
|
349
|
+
end
|
350
|
+
|
351
|
+
def set_headers
|
352
|
+
{
|
353
|
+
'Content-Type' =>'application/json',
|
354
|
+
'User-Agent' => 'BaruwaAPI/Ruby',
|
355
|
+
'Authorization' => 'Bearer %s' % @baruwa_token
|
356
|
+
}
|
357
|
+
end
|
358
|
+
|
359
|
+
def get_request(endpoint, url)
|
360
|
+
case endpoint[:method]
|
361
|
+
when :post
|
362
|
+
Net::HTTP::Post.new(url.request_uri, set_headers)
|
363
|
+
when :get
|
364
|
+
Net::HTTP::Get.new(url.request_uri, set_headers)
|
365
|
+
when :put
|
366
|
+
Net::HTTP::Put.new(url.request_uri, set_headers)
|
367
|
+
when :delete
|
368
|
+
Net::HTTP::Delete.new(url.request_uri, set_headers)
|
369
|
+
else
|
370
|
+
throw "Unknown call method #{endpoint[:method]}"
|
371
|
+
end
|
372
|
+
end
|
373
|
+
|
374
|
+
def parse_response(response)
|
375
|
+
if response.code.to_i == 200 || response.code.to_i == 201
|
376
|
+
if response.body.nil? || response.body.blank?
|
377
|
+
{:code => response.code.to_i, :message => "Completed successfully"}
|
378
|
+
else
|
379
|
+
JSON.parse(response.body)
|
380
|
+
end
|
381
|
+
else
|
382
|
+
raise BaruwaApiError.new("#{response.code} #{response.body.to_s}")
|
383
|
+
end
|
384
|
+
end
|
385
|
+
|
386
|
+
def call_api(endpoint, opts=[], data=false, params=false)
|
387
|
+
url = parse_url(endpoint, opts, params)
|
388
|
+
call = get_request(endpoint, url)
|
389
|
+
call.body = get_params(data)
|
390
|
+
request = Net::HTTP.new(url.host, url.port)
|
391
|
+
usessl = @baruwa_url.match('https')
|
392
|
+
request.use_ssl = usessl
|
393
|
+
if usessl
|
394
|
+
if @ssl_verify == false
|
395
|
+
request.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
396
|
+
end
|
397
|
+
end
|
398
|
+
response = request.start {|http| http.request(call)}
|
399
|
+
parse_response(response)
|
400
|
+
end
|
401
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Test Aliases' do
|
4
|
+
before(:each) do
|
5
|
+
WebMock.reset!
|
6
|
+
end
|
7
|
+
|
8
|
+
before do
|
9
|
+
@baruwapi = BaruwaAPI.new('https://testbaruwa.com', '6e2347bc-278e-42f6-a84b-fa1766140cbd')
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should get aliases' do
|
13
|
+
addressid = 2
|
14
|
+
stub_request(:get, "https://testbaruwa.com/api/v1/aliasaddresses/#{addressid}").
|
15
|
+
with(:body => false,
|
16
|
+
:headers => {'Accept'=>'*/*',
|
17
|
+
'Content-Type'=>'application/json',
|
18
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
19
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
20
|
+
to_return(:status => 200, :body => "", :headers => {})
|
21
|
+
@baruwapi.get_aliases(addressid)
|
22
|
+
expect(WebMock).to have_requested(:get, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/aliasaddresses/#{addressid}")
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should create an alias' do
|
26
|
+
addressid = 2
|
27
|
+
stub_request(:post, "https://testbaruwa.com/api/v1/aliasaddresses/#{addressid}").
|
28
|
+
with(:body => {},
|
29
|
+
:headers => {'Accept'=>'*/*',
|
30
|
+
'Content-Type'=>'application/json',
|
31
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
32
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
33
|
+
to_return(:status => 200, :body => "", :headers => {})
|
34
|
+
@baruwapi.create_alias(addressid, {})
|
35
|
+
expect(WebMock).to have_requested(:post, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/aliasaddresses/#{addressid}")
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should update an alias' do
|
39
|
+
addressid = 2
|
40
|
+
stub_request(:put, "https://testbaruwa.com/api/v1/aliasaddresses/#{addressid}").
|
41
|
+
with(:body => {},
|
42
|
+
:headers => {'Accept'=>'*/*',
|
43
|
+
'Content-Type'=>'application/json',
|
44
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
45
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
46
|
+
to_return(:status => 200, :body => "", :headers => {})
|
47
|
+
@baruwapi.update_alias(addressid, {})
|
48
|
+
expect(WebMock).to have_requested(:put, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/aliasaddresses/#{addressid}")
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'should delete an alias' do
|
52
|
+
addressid = 2
|
53
|
+
stub_request(:delete, "https://testbaruwa.com/api/v1/aliasaddresses/#{addressid}").
|
54
|
+
with(:body => {},
|
55
|
+
:headers => {'Accept'=>'*/*',
|
56
|
+
'Content-Type'=>'application/json',
|
57
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
58
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
59
|
+
to_return(:status => 200, :body => "", :headers => {})
|
60
|
+
@baruwapi.delete_alias(addressid, {})
|
61
|
+
expect(WebMock).to have_requested(:delete, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/aliasaddresses/#{addressid}")
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Test Authentication Settings' do
|
4
|
+
before(:each) do
|
5
|
+
WebMock.reset!
|
6
|
+
end
|
7
|
+
|
8
|
+
before do
|
9
|
+
@baruwapi = BaruwaAPI.new('https://testbaruwa.com', '6e2347bc-278e-42f6-a84b-fa1766140cbd')
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should get auth servers' do
|
13
|
+
domainid = 10
|
14
|
+
stub_request(:get, "https://testbaruwa.com/api/v1/authservers/#{domainid}").
|
15
|
+
with(:body => false,
|
16
|
+
:headers => {'Accept'=>'*/*',
|
17
|
+
'Content-Type'=>'application/json',
|
18
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
19
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
20
|
+
to_return(:status => 200, :body => "", :headers => {})
|
21
|
+
@baruwapi.get_authservers(domainid)
|
22
|
+
expect(WebMock).to have_requested(:get, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/authservers/#{domainid}")
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should get auth server' do
|
26
|
+
domainid = 10
|
27
|
+
serverid = 10
|
28
|
+
stub_request(:get, "https://testbaruwa.com/api/v1/authservers/#{domainid}/#{serverid}").
|
29
|
+
with(:body => false,
|
30
|
+
:headers => {'Accept'=>'*/*',
|
31
|
+
'Content-Type'=>'application/json',
|
32
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
33
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
34
|
+
to_return(:status => 200, :body => "", :headers => {})
|
35
|
+
@baruwapi.get_authserver(domainid, serverid)
|
36
|
+
expect(WebMock).to have_requested(:get, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/authservers/#{domainid}/#{serverid}")
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should create an auth server' do
|
40
|
+
domainid = 10
|
41
|
+
stub_request(:post, "https://testbaruwa.com/api/v1/authservers/#{domainid}").
|
42
|
+
with(:body => {},
|
43
|
+
:headers => {'Accept'=>'*/*',
|
44
|
+
'Content-Type'=>'application/json',
|
45
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
46
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
47
|
+
to_return(:status => 200, :body => "", :headers => {})
|
48
|
+
@baruwapi.create_authserver(domainid, {})
|
49
|
+
expect(WebMock).to have_requested(:post, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/authservers/#{domainid}")
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'should update an auth server' do
|
53
|
+
domainid = 10
|
54
|
+
serverid = 10
|
55
|
+
stub_request(:put, "https://testbaruwa.com/api/v1/authservers/#{domainid}/#{serverid}").
|
56
|
+
with(:body => {},
|
57
|
+
:headers => {'Accept'=>'*/*',
|
58
|
+
'Content-Type'=>'application/json',
|
59
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
60
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
61
|
+
to_return(:status => 200, :body => "", :headers => {})
|
62
|
+
@baruwapi.update_authserver(domainid, serverid, {})
|
63
|
+
expect(WebMock).to have_requested(:put, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/authservers/#{domainid}/#{serverid}")
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'should delete an auth server' do
|
67
|
+
domainid = 10
|
68
|
+
serverid = 10
|
69
|
+
stub_request(:delete, "https://testbaruwa.com/api/v1/authservers/#{domainid}/#{serverid}").
|
70
|
+
with(:body => {},
|
71
|
+
:headers => {'Accept'=>'*/*',
|
72
|
+
'Content-Type'=>'application/json',
|
73
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
74
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
75
|
+
to_return(:status => 200, :body => "", :headers => {})
|
76
|
+
@baruwapi.delete_authserver(domainid, serverid, {})
|
77
|
+
expect(WebMock).to have_requested(:delete, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/authservers/#{domainid}/#{serverid}")
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Test Delivery servers' do
|
4
|
+
before(:each) do
|
5
|
+
WebMock.reset!
|
6
|
+
end
|
7
|
+
|
8
|
+
before do
|
9
|
+
@baruwapi = BaruwaAPI.new('https://testbaruwa.com', '6e2347bc-278e-42f6-a84b-fa1766140cbd')
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should get delivery servers' do
|
13
|
+
domainid = 10
|
14
|
+
stub_request(:get, "https://testbaruwa.com/api/v1/deliveryservers/#{domainid}").
|
15
|
+
with(:body => false,
|
16
|
+
:headers => {'Accept'=>'*/*',
|
17
|
+
'Content-Type'=>'application/json',
|
18
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
19
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
20
|
+
to_return(:status => 200, :body => "", :headers => {})
|
21
|
+
@baruwapi.get_deliveryservers(domainid)
|
22
|
+
expect(WebMock).to have_requested(:get, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/deliveryservers/#{domainid}")
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should get a delivery server' do
|
26
|
+
domainid = 10
|
27
|
+
serverid = 10
|
28
|
+
stub_request(:get, "https://testbaruwa.com/api/v1/deliveryservers/#{domainid}/#{serverid}").
|
29
|
+
with(:body => false,
|
30
|
+
:headers => {'Accept'=>'*/*',
|
31
|
+
'Content-Type'=>'application/json',
|
32
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
33
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
34
|
+
to_return(:status => 200, :body => "", :headers => {})
|
35
|
+
@baruwapi.get_deliveryserver(domainid, serverid)
|
36
|
+
expect(WebMock).to have_requested(:get, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/deliveryservers/#{domainid}/#{serverid}")
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should create a delivery server' do
|
40
|
+
domainid = 10
|
41
|
+
stub_request(:post, "https://testbaruwa.com/api/v1/deliveryservers/#{domainid}").
|
42
|
+
with(:body => {},
|
43
|
+
:headers => {'Accept'=>'*/*',
|
44
|
+
'Content-Type'=>'application/json',
|
45
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
46
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
47
|
+
to_return(:status => 200, :body => "", :headers => {})
|
48
|
+
@baruwapi.create_deliveryserver(domainid, {})
|
49
|
+
expect(WebMock).to have_requested(:post, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/deliveryservers/#{domainid}")
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'should update a delivery server' do
|
53
|
+
domainid = 10
|
54
|
+
serverid = 10
|
55
|
+
stub_request(:put, "https://testbaruwa.com/api/v1/deliveryservers/#{domainid}/#{serverid}").
|
56
|
+
with(:body => {},
|
57
|
+
:headers => {'Accept'=>'*/*',
|
58
|
+
'Content-Type'=>'application/json',
|
59
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
60
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
61
|
+
to_return(:status => 200, :body => "", :headers => {})
|
62
|
+
@baruwapi.update_deliveryserver(domainid, serverid, {})
|
63
|
+
expect(WebMock).to have_requested(:put, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/deliveryservers/#{domainid}/#{serverid}")
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'should delete a delivery server' do
|
67
|
+
domainid = 10
|
68
|
+
serverid = 10
|
69
|
+
stub_request(:delete, "https://testbaruwa.com/api/v1/deliveryservers/#{domainid}/#{serverid}").
|
70
|
+
with(:body => {},
|
71
|
+
:headers => {'Accept'=>'*/*',
|
72
|
+
'Content-Type'=>'application/json',
|
73
|
+
'User-Agent'=>'BaruwaAPI/Ruby',
|
74
|
+
'Authorization'=>'Bearer 6e2347bc-278e-42f6-a84b-fa1766140cbd'}).
|
75
|
+
to_return(:status => 200, :body => "", :headers => {})
|
76
|
+
@baruwapi.delete_deliveryserver(domainid, serverid, {})
|
77
|
+
expect(WebMock).to have_requested(:delete, "#{@baruwapi.instance_variable_get(:@baruwa_url)}/deliveryservers/#{domainid}/#{serverid}")
|
78
|
+
end
|
79
|
+
end
|