Skip to content

Commit 39770cb

Browse files
authored
Merge pull request #58 from mikkergimenez/fix_method_signature
Fix error with delete command for vmpooler and nspooler
2 parents bc1198f + dc3bfec commit 39770cb

File tree

6 files changed

+57
-6
lines changed

6 files changed

+57
-6
lines changed

lib/vmfloaty/abs.rb

+12
Original file line numberDiff line numberDiff line change
@@ -290,4 +290,16 @@ def self.query(verbose, url, hostname)
290290
res = conn.get "host/#{hostname}"
291291
JSON.parse(res.body)
292292
end
293+
294+
def self.modify(_verbose, _url, _hostname, _token, _modify_hash)
295+
raise NoMethodError, 'modify is not defined for ABS'
296+
end
297+
298+
def self.disk(_verbose, _url, _hostname, _token, _disk)
299+
raise NoMethodError, 'disk is not defined for ABS'
300+
end
301+
302+
def self.revert(_verbose, _url, _hostname, _token, _snapshot_sha)
303+
raise NoMethodError, 'revert is not defined for ABS'
304+
end
293305
end

lib/vmfloaty/nonstandard_pooler.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def self.revert(_verbose, _url, _hostname, _token, _snapshot_sha)
7777
raise ModifyError, 'Configured service type does not support snapshots'
7878
end
7979

80-
def self.delete(verbose, url, hosts, token)
80+
def self.delete(verbose, url, hosts, token, _user)
8181
raise TokenError, 'Token provided was nil; Request cannot be made to delete VM' if token.nil?
8282

8383
conn = Http.get_conn(verbose, url)

lib/vmfloaty/pooler.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def self.disk(verbose, url, hostname, token, disk)
9494
res_body
9595
end
9696

97-
def self.delete(verbose, url, hosts, token)
97+
def self.delete(verbose, url, hosts, token, _user)
9898
raise TokenError, 'Token provided was nil. Request cannot be made to delete vm' if token.nil?
9999

100100
conn = Http.get_conn(verbose, url)

spec/vmfloaty/nonstandard_pooler_spec.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@
274274
.with(:headers => @auth_token_headers)
275275
.to_return(:status => 200, :body => @delete_response_success, :headers => {})
276276

277-
request = NonstandardPooler.delete(false, @nspooler_url, 'sol11-7', 'token-value')
277+
request = NonstandardPooler.delete(false, @nspooler_url, 'sol11-7', 'token-value', nil)
278278
expect(request['sol11-7']['ok']).to be true
279279
end
280280

@@ -283,7 +283,7 @@
283283
.with(:headers => @auth_token_headers)
284284
.to_return(:status => 401, :body => @delete_response_failure, :headers => {})
285285

286-
request = NonstandardPooler.delete(false, @nspooler_url, 'fakehost', 'token-value')
286+
request = NonstandardPooler.delete(false, @nspooler_url, 'fakehost', 'token-value', nil)
287287
expect(request['fakehost']['ok']).to be false
288288
end
289289
end

spec/vmfloaty/pooler_spec.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -119,11 +119,11 @@
119119
.with(:headers => { 'X-Auth-Token' => 'mytokenfile' })
120120
.to_return(:status => 200, :body => @delete_response_body_success, :headers => {})
121121

122-
expect(Pooler.delete(false, @vmpooler_url, ['fq6qlpjlsskycq6'], 'mytokenfile')).to eq @delete_response
122+
expect(Pooler.delete(false, @vmpooler_url, ['fq6qlpjlsskycq6'], 'mytokenfile', nil)).to eq @delete_response
123123
end
124124

125125
it 'raises a token error if no token provided' do
126-
expect { Pooler.delete(false, @vmpooler_url, ['myfakehost'], nil) }.to raise_error(TokenError)
126+
expect { Pooler.delete(false, @vmpooler_url, ['myfakehost'], nil, nil) }.to raise_error(TokenError)
127127
end
128128
end
129129

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# frozen_string_literal: true
2+
3+
# All of the interfaces for the different services must be the
4+
# same, otherwise there will be errors when you change the caller
5+
# for the services from services.rb.
6+
#
7+
8+
require_relative '../../lib/vmfloaty/pooler'
9+
require_relative '../../lib/vmfloaty/abs'
10+
require_relative '../../lib/vmfloaty/nonstandard_pooler'
11+
12+
shared_examples 'a vmfloaty service' do
13+
it { is_expected.to respond_to(:delete).with(5).arguments }
14+
it { is_expected.to respond_to(:disk).with(5).arguments }
15+
it { is_expected.to respond_to(:list).with(3).arguments }
16+
it { is_expected.to respond_to(:list_active).with(4).arguments }
17+
it { is_expected.to respond_to(:modify).with(5).arguments }
18+
it { is_expected.to respond_to(:retrieve).with(6).arguments }
19+
it { is_expected.to respond_to(:revert).with(5).arguments }
20+
it { is_expected.to respond_to(:query).with(3).arguments }
21+
it { is_expected.to respond_to(:snapshot).with(4).arguments }
22+
it { is_expected.to respond_to(:status).with(2).arguments }
23+
it { is_expected.to respond_to(:summary).with(2).arguments }
24+
end
25+
26+
describe Pooler do
27+
subject { Pooler }
28+
it_behaves_like 'a vmfloaty service'
29+
end
30+
31+
describe ABS do
32+
subject { ABS }
33+
it_behaves_like 'a vmfloaty service'
34+
end
35+
36+
describe NonstandardPooler do
37+
subject { NonstandardPooler }
38+
it_behaves_like 'a vmfloaty service'
39+
end

0 commit comments

Comments
 (0)