vagrant-openstack-provider 0.4.1 → 0.5.0
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 +4 -4
- data/.rubocop.yml +2 -2
- data/CHANGELOG.md +22 -0
- data/Gemfile +8 -15
- data/Vagrantfile +12 -10
- data/gemfiles/latest_stable.gemfile +6 -16
- data/gemfiles/minimal_release.gemfile +10 -0
- data/gemfiles/previous_release.gemfile +6 -16
- data/lib/vagrant-openstack-provider/action/connect_openstack.rb +2 -1
- data/lib/vagrant-openstack-provider/action/create_server.rb +40 -248
- data/lib/vagrant-openstack-provider/action/read_ssh_info.rb +30 -29
- data/lib/vagrant-openstack-provider/action/sync_folders.rb +19 -9
- data/lib/vagrant-openstack-provider/action/wait_accessible.rb +58 -0
- data/lib/vagrant-openstack-provider/action/wait_active.rb +5 -3
- data/lib/vagrant-openstack-provider/action/wait_stop.rb +5 -3
- data/lib/vagrant-openstack-provider/action.rb +19 -11
- data/lib/vagrant-openstack-provider/client/http_utils.rb +3 -2
- data/lib/vagrant-openstack-provider/client/neutron.rb +11 -1
- data/lib/vagrant-openstack-provider/client/nova.rb +49 -30
- data/lib/vagrant-openstack-provider/command/abstract_command.rb +10 -1
- data/lib/vagrant-openstack-provider/command/flavor_list.rb +1 -1
- data/lib/vagrant-openstack-provider/command/floatingip_list.rb +1 -1
- data/lib/vagrant-openstack-provider/command/image_list.rb +1 -1
- data/lib/vagrant-openstack-provider/command/main.rb +2 -1
- data/lib/vagrant-openstack-provider/command/network_list.rb +8 -2
- data/lib/vagrant-openstack-provider/command/reset.rb +21 -0
- data/lib/vagrant-openstack-provider/command/utils.rb +1 -1
- data/lib/vagrant-openstack-provider/command/volume_list.rb +1 -1
- data/lib/vagrant-openstack-provider/config.rb +16 -1
- data/lib/vagrant-openstack-provider/config_resolver.rb +262 -0
- data/lib/vagrant-openstack-provider/errors.rb +40 -0
- data/lib/vagrant-openstack-provider/plugin.rb +3 -3
- data/lib/vagrant-openstack-provider/utils.rb +21 -0
- data/lib/vagrant-openstack-provider/version.rb +1 -1
- data/locales/en.yml +35 -1
- data/spec/vagrant-openstack-provider/action/create_server_spec.rb +121 -368
- data/spec/vagrant-openstack-provider/action/delete_server_spec.rb +54 -0
- data/spec/vagrant-openstack-provider/action/message_spec.rb +34 -0
- data/spec/vagrant-openstack-provider/action/read_ssh_info_spec.rb +34 -17
- data/spec/vagrant-openstack-provider/action/read_state_spec.rb +70 -0
- data/spec/vagrant-openstack-provider/action/resume_server_spec.rb +50 -0
- data/spec/vagrant-openstack-provider/action/start_server_spec.rb +50 -0
- data/spec/vagrant-openstack-provider/action/stop_server_spec.rb +50 -0
- data/spec/vagrant-openstack-provider/action/suspend_server_spec.rb +50 -0
- data/spec/vagrant-openstack-provider/action/sync_folders_spec.rb +155 -0
- data/spec/vagrant-openstack-provider/action/wait_accessible_spec.rb +68 -0
- data/spec/vagrant-openstack-provider/action/wait_active_spec.rb +47 -0
- data/spec/vagrant-openstack-provider/action/wait_stop_spec.rb +47 -0
- data/spec/vagrant-openstack-provider/action_spec.rb +121 -0
- data/spec/vagrant-openstack-provider/client/cinder_spec.rb +1 -1
- data/spec/vagrant-openstack-provider/client/keystone_spec.rb +1 -1
- data/spec/vagrant-openstack-provider/client/neutron_spec.rb +37 -1
- data/spec/vagrant-openstack-provider/client/nova_spec.rb +60 -7
- data/spec/vagrant-openstack-provider/client/utils_spec.rb +1 -1
- data/spec/vagrant-openstack-provider/command/flavor_list_spec.rb +44 -0
- data/spec/vagrant-openstack-provider/command/floatingip_list_spec.rb +19 -2
- data/spec/vagrant-openstack-provider/command/image_list_spec.rb +48 -0
- data/spec/vagrant-openstack-provider/command/network_list_spec.rb +67 -0
- data/spec/vagrant-openstack-provider/command/reset_spec.rb +25 -0
- data/spec/vagrant-openstack-provider/command/volume_list_spec.rb +10 -2
- data/spec/vagrant-openstack-provider/config_resolver_spec.rb +680 -0
- data/spec/vagrant-openstack-provider/config_spec.rb +15 -1
- data/spec/vagrant-openstack-provider/spec_helper.rb +3 -0
- data/spec/vagrant-openstack-provider/utils_spec.rb +103 -0
- data/vagrant-openstack-provider.gemspec +4 -2
- metadata +78 -11
- data/Appraisals +0 -13
- data/gemfiles/oldest_current.gemfile +0 -20
@@ -0,0 +1,155 @@
|
|
1
|
+
require 'vagrant-openstack-provider/spec_helper'
|
2
|
+
require 'log4r'
|
3
|
+
require 'rbconfig'
|
4
|
+
require 'vagrant/util/subprocess'
|
5
|
+
|
6
|
+
include VagrantPlugins::Openstack::Action
|
7
|
+
|
8
|
+
describe VagrantPlugins::Openstack::Action::SyncFolders do
|
9
|
+
|
10
|
+
let(:app) do
|
11
|
+
double('app').tap do |app|
|
12
|
+
app.stub(:call).with(anything)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
let(:vm) do
|
17
|
+
double('vm').tap do |vm|
|
18
|
+
vm.stub(:synced_folders) { { '/vagrant' => { hostpath: '/home/john/vagrant', guestpath: '/vagrant' } } }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
let(:provider_config) do
|
23
|
+
double('provider_config').tap do |c|
|
24
|
+
c.stub(:rsync_includes) { nil }
|
25
|
+
c.stub(:ssh_disabled) { false }
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
let(:communicate) do
|
30
|
+
double('communicate').tap do |c|
|
31
|
+
c.stub(:sudo)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
let(:env) do
|
36
|
+
Hash.new.tap do |env|
|
37
|
+
env[:ui] = double('ui').tap do |ui|
|
38
|
+
ui.stub(:info).with(anything)
|
39
|
+
ui.stub(:error).with(anything)
|
40
|
+
end
|
41
|
+
env[:openstack_client] = double('openstack_client').tap do |os|
|
42
|
+
os.stub(:nova) { nova }
|
43
|
+
end
|
44
|
+
env[:machine] = OpenStruct.new.tap do |m|
|
45
|
+
m.ssh_info = {
|
46
|
+
username: 'user',
|
47
|
+
port: '23',
|
48
|
+
host: '1.2.3.4',
|
49
|
+
private_key_path: '/tmp/key.pem'
|
50
|
+
}
|
51
|
+
m.provider_config = provider_config
|
52
|
+
m.config = double('config').tap do |c|
|
53
|
+
c.stub(:vm) { vm }
|
54
|
+
end
|
55
|
+
m.communicate = communicate
|
56
|
+
end
|
57
|
+
env[:root_path] = '.'
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
before :each do
|
62
|
+
@action = SyncFolders.new(app, nil)
|
63
|
+
end
|
64
|
+
|
65
|
+
describe 'call' do
|
66
|
+
context 'sync method is set to none and ssh_disabled is false' do
|
67
|
+
it 'does not sync folders' do
|
68
|
+
Vagrant::Util::Subprocess.stub(:execute)
|
69
|
+
provider_config.stub(:sync_method) { 'none' }
|
70
|
+
provider_config.stub(:ssh_disabled) { false }
|
71
|
+
expect(Vagrant::Util::Subprocess).to_not receive :execute
|
72
|
+
@action.call(env)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
context 'sync method is set to none and ssh_disabled is true' do
|
76
|
+
it 'does not sync folders' do
|
77
|
+
Vagrant::Util::Subprocess.stub(:execute)
|
78
|
+
provider_config.stub(:sync_method) { 'none' }
|
79
|
+
provider_config.stub(:ssh_disabled) { true }
|
80
|
+
expect(Vagrant::Util::Subprocess).to_not receive :execute
|
81
|
+
@action.call(env)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
context 'sync method is set to rsync and ssh_disabled is true' do
|
85
|
+
it 'does not sync folders' do
|
86
|
+
Vagrant::Util::Subprocess.stub(:execute)
|
87
|
+
provider_config.stub(:sync_method) { 'rsync' }
|
88
|
+
provider_config.stub(:ssh_disabled) { true }
|
89
|
+
expect(Vagrant::Util::Subprocess).to_not receive :execute
|
90
|
+
@action.call(env)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
context 'sync method is set to rsync and ssh_disabled is false' do
|
94
|
+
it 'runs a rsync command' do
|
95
|
+
provider_config.stub(:sync_method) { 'rsync' }
|
96
|
+
Vagrant::Util::Subprocess.stub(:execute) do
|
97
|
+
OpenStruct.new.tap do |r|
|
98
|
+
r.exit_code = 0
|
99
|
+
r.stderr = nil
|
100
|
+
end
|
101
|
+
end
|
102
|
+
expected_command = ['rsync',
|
103
|
+
'--verbose',
|
104
|
+
'--archive',
|
105
|
+
'-z',
|
106
|
+
'--cvs-exclude',
|
107
|
+
'--exclude',
|
108
|
+
'.hg/',
|
109
|
+
'--exclude',
|
110
|
+
'.git/',
|
111
|
+
'--chmod',
|
112
|
+
'ugo=rwX',
|
113
|
+
'-e',
|
114
|
+
"ssh -p 23 -o StrictHostKeyChecking=no -i '/tmp/key.pem' ",
|
115
|
+
'/home/john/vagrant/',
|
116
|
+
'user@1.2.3.4:/vagrant',
|
117
|
+
'--exclude-from',
|
118
|
+
'./.gitignore']
|
119
|
+
expect(communicate).to receive(:sudo).with "mkdir -p '/vagrant'"
|
120
|
+
expect(communicate).to receive(:sudo).with "chown -R user '/vagrant'"
|
121
|
+
expect(Vagrant::Util::Subprocess).to receive(:execute).with(*expected_command)
|
122
|
+
@action.call(env)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
context 'rsync command returns a non zero status code' do
|
126
|
+
it 'raise an error' do
|
127
|
+
provider_config.stub(:sync_method) { 'rsync' }
|
128
|
+
Vagrant::Util::Subprocess.stub(:execute) do
|
129
|
+
OpenStruct.new.tap do |r|
|
130
|
+
r.exit_code = 1
|
131
|
+
r.stderr = 'Fatal error'
|
132
|
+
end
|
133
|
+
end
|
134
|
+
expect(Vagrant::Util::Subprocess).to receive(:execute)
|
135
|
+
expect { @action.call(env) }.to raise_error Errors::RsyncError
|
136
|
+
end
|
137
|
+
end
|
138
|
+
context 'sync method value is not valid' do
|
139
|
+
it 'raise an error' do
|
140
|
+
provider_config.stub(:sync_method) { 'nfs' }
|
141
|
+
expect { @action.call(env) }.to raise_error Errors::SyncMethodError
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
describe 'convert_path_to_windows_format' do
|
147
|
+
context 'hostpath in starting with C:/ ' do
|
148
|
+
it 'returns hostpath starting with /cygdrive/c/ and in downcase' do
|
149
|
+
RsyncFolders.send(:public, *RsyncFolders.private_instance_methods)
|
150
|
+
action = RsyncFolders.new(app, nil)
|
151
|
+
expect(action.add_cygdrive_prefix_to_path('C:/Directory')).to eq '/cygdrive/c/directory'
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'vagrant-openstack-provider/spec_helper'
|
2
|
+
|
3
|
+
describe VagrantPlugins::Openstack::Action::WaitForServerToBeAccessible do
|
4
|
+
|
5
|
+
let(:config) do
|
6
|
+
double('config')
|
7
|
+
end
|
8
|
+
|
9
|
+
let(:env) do
|
10
|
+
Hash.new.tap do |env|
|
11
|
+
env[:ui] = double('ui')
|
12
|
+
env[:ui].stub(:info).with(anything)
|
13
|
+
env[:ui].stub(:error).with(anything)
|
14
|
+
env[:machine] = double('machine').tap do |m|
|
15
|
+
m.stub(:provider_config) { config }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
let(:resolver) do
|
21
|
+
double('resolver').tap do |r|
|
22
|
+
r.stub(:resolve_floating_ip).with(anything) { '1.2.3.4' }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
let(:ssh) do
|
27
|
+
double('shh')
|
28
|
+
end
|
29
|
+
|
30
|
+
let(:app) do
|
31
|
+
double('app').tap do |app|
|
32
|
+
app.stub(:call).with(anything)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
class SSHMock
|
37
|
+
def initialize(*exit_codes)
|
38
|
+
@times = 0
|
39
|
+
@exit_codes = exit_codes
|
40
|
+
end
|
41
|
+
|
42
|
+
def call(env)
|
43
|
+
env[:ssh_run_exit_status] = @exit_codes[@times]
|
44
|
+
@times += 1
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe 'call' do
|
49
|
+
context 'when server is not yet reachable' do
|
50
|
+
it 'retry until server is reachable' do
|
51
|
+
config.stub(:ssh_timeout) { 2 }
|
52
|
+
expect(app).to receive(:call)
|
53
|
+
|
54
|
+
@action = WaitForServerToBeAccessible.new(app, nil, resolver, SSHMock.new(1, 0))
|
55
|
+
@action.call(env)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
context 'when server is not yet reachable after timeout' do
|
59
|
+
it 'raise an error' do
|
60
|
+
config.stub(:ssh_timeout) { 1 }
|
61
|
+
expect(app).should_not_receive(:call)
|
62
|
+
|
63
|
+
@action = WaitForServerToBeAccessible.new(app, nil, resolver, SSHMock.new(1, 1))
|
64
|
+
expect { @action.call(env) }.to raise_error Errors::SshUnavailable
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'vagrant-openstack-provider/spec_helper'
|
2
|
+
|
3
|
+
describe VagrantPlugins::Openstack::Action::WaitForServerToBeActive do
|
4
|
+
|
5
|
+
let(:nova) do
|
6
|
+
double('nova')
|
7
|
+
end
|
8
|
+
|
9
|
+
let(:env) do
|
10
|
+
Hash.new.tap do |env|
|
11
|
+
env[:ui] = double('ui').tap do |ui|
|
12
|
+
ui.stub(:info).with(anything)
|
13
|
+
ui.stub(:error).with(anything)
|
14
|
+
end
|
15
|
+
env[:openstack_client] = double('openstack_client').tap do |os|
|
16
|
+
os.stub(:nova) { nova }
|
17
|
+
end
|
18
|
+
env[:machine] = OpenStruct.new.tap do |m|
|
19
|
+
m.id = 'server_id'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
let(:app) do
|
25
|
+
double('app').tap do |app|
|
26
|
+
app.stub(:call).with(anything)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe 'call' do
|
31
|
+
context 'when server is not yet active' do
|
32
|
+
it 'become active after one retry' do
|
33
|
+
nova.stub(:get_server_details).and_return({ 'status' => 'BUILD' }, { 'status' => 'ACTIVE' })
|
34
|
+
expect(nova).to receive(:get_server_details).with(env, 'server_id').exactly(2).times
|
35
|
+
expect(app).to receive(:call)
|
36
|
+
@action = WaitForServerToBeActive.new(app, nil, 1, 5)
|
37
|
+
@action.call(env)
|
38
|
+
end
|
39
|
+
it 'timeout after one retry' do
|
40
|
+
nova.stub(:get_server_details).and_return({ 'status' => 'BUILD' }, { 'status' => 'BUILD' })
|
41
|
+
expect(nova).to receive(:get_server_details).with(env, 'server_id').at_least(2).times
|
42
|
+
@action = WaitForServerToBeActive.new(app, nil, 1, 2)
|
43
|
+
expect { @action.call(env) }.to raise_error Timeout::Error
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'vagrant-openstack-provider/spec_helper'
|
2
|
+
|
3
|
+
describe VagrantPlugins::Openstack::Action::WaitForServerToStop do
|
4
|
+
|
5
|
+
let(:nova) do
|
6
|
+
double('nova')
|
7
|
+
end
|
8
|
+
|
9
|
+
let(:env) do
|
10
|
+
Hash.new.tap do |env|
|
11
|
+
env[:ui] = double('ui').tap do |ui|
|
12
|
+
ui.stub(:info).with(anything)
|
13
|
+
ui.stub(:error).with(anything)
|
14
|
+
end
|
15
|
+
env[:openstack_client] = double('openstack_client').tap do |os|
|
16
|
+
os.stub(:nova) { nova }
|
17
|
+
end
|
18
|
+
env[:machine] = OpenStruct.new.tap do |m|
|
19
|
+
m.id = 'server_id'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
let(:app) do
|
25
|
+
double('app').tap do |app|
|
26
|
+
app.stub(:call).with(anything)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe 'call' do
|
31
|
+
context 'when server is active' do
|
32
|
+
it 'become shutoff after one retry' do
|
33
|
+
nova.stub(:get_server_details).and_return({ 'status' => 'ACTIVE' }, { 'status' => 'SHUTOFF' })
|
34
|
+
expect(nova).to receive(:get_server_details).with(env, 'server_id').exactly(2).times
|
35
|
+
expect(app).to receive(:call)
|
36
|
+
@action = WaitForServerToStop.new(app, nil, 1, 5)
|
37
|
+
@action.call(env)
|
38
|
+
end
|
39
|
+
it 'timeout after one retry' do
|
40
|
+
nova.stub(:get_server_details).and_return({ 'status' => 'ACTIVE' }, { 'status' => 'ACTIVE' })
|
41
|
+
expect(nova).to receive(:get_server_details).with(env, 'server_id').at_least(2).times
|
42
|
+
@action = WaitForServerToStop.new(app, nil, 1, 2)
|
43
|
+
expect { @action.call(env) }.to raise_error Timeout::Error
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,121 @@
|
|
1
|
+
require 'vagrant-openstack-provider/spec_helper'
|
2
|
+
|
3
|
+
describe VagrantPlugins::Openstack::Action do
|
4
|
+
|
5
|
+
let(:builder) do
|
6
|
+
double('builder').tap do |builder|
|
7
|
+
builder.stub(:use)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
before :each do
|
12
|
+
Action.stub(:new_builder) { builder }
|
13
|
+
end
|
14
|
+
|
15
|
+
describe 'action_destroy' do
|
16
|
+
it 'add others middleware to builder' do
|
17
|
+
expect(builder).to receive(:use).with(ConfigValidate)
|
18
|
+
expect(builder).to receive(:use).with(ConnectOpenstack)
|
19
|
+
expect(builder).to receive(:use).with(Call, ReadState)
|
20
|
+
# TODO, Impove this test to check what's happen after ReadState
|
21
|
+
Action.action_destroy
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe 'action_provision' do
|
26
|
+
it 'add others middleware to builder' do
|
27
|
+
expect(builder).to receive(:use).with(ConfigValidate)
|
28
|
+
expect(builder).to receive(:use).with(ConnectOpenstack)
|
29
|
+
expect(builder).to receive(:use).with(Call, ReadState)
|
30
|
+
# TODO, Impove this test to check what's happen after ReadState
|
31
|
+
Action.action_provision
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe 'action_read_ssh_info' do
|
36
|
+
it 'add others middleware to builder' do
|
37
|
+
expect(builder).to receive(:use).with(ConfigValidate)
|
38
|
+
expect(builder).to receive(:use).with(ConnectOpenstack)
|
39
|
+
expect(builder).to receive(:use).with(ReadSSHInfo)
|
40
|
+
Action.action_read_ssh_info
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe 'action_read_state' do
|
45
|
+
it 'add others middleware to builder' do
|
46
|
+
expect(builder).to receive(:use).with(ConfigValidate)
|
47
|
+
expect(builder).to receive(:use).with(ConnectOpenstack)
|
48
|
+
expect(builder).to receive(:use).with(ReadState)
|
49
|
+
Action.action_read_state
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
describe 'action_ssh' do
|
54
|
+
it 'add others middleware to builder' do
|
55
|
+
expect(builder).to receive(:use).with(ConfigValidate)
|
56
|
+
expect(builder).to receive(:use).with(ConnectOpenstack)
|
57
|
+
expect(builder).to receive(:use).with(Call, ReadState)
|
58
|
+
Action.action_ssh
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe 'action_ssh_run' do
|
63
|
+
it 'add others middleware to builder' do
|
64
|
+
expect(builder).to receive(:use).with(ConfigValidate)
|
65
|
+
expect(builder).to receive(:use).with(ConnectOpenstack)
|
66
|
+
expect(builder).to receive(:use).with(Call, ReadState)
|
67
|
+
# TODO, Impove this test to check what's happen after ReadState
|
68
|
+
Action.action_ssh_run
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe 'action_up' do
|
73
|
+
it 'add others middleware to builder' do
|
74
|
+
expect(builder).to receive(:use).with(ConfigValidate)
|
75
|
+
expect(builder).to receive(:use).with(ConnectOpenstack)
|
76
|
+
expect(builder).to receive(:use).with(Call, ReadState)
|
77
|
+
# TODO, Impove this test to check what's happen after ReadState
|
78
|
+
Action.action_up
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe 'action_halt' do
|
83
|
+
it 'add others middleware to builder' do
|
84
|
+
expect(builder).to receive(:use).with(ConfigValidate)
|
85
|
+
expect(builder).to receive(:use).with(ConnectOpenstack)
|
86
|
+
expect(builder).to receive(:use).with(Call, ReadState)
|
87
|
+
# TODO, Impove this test to check what's happen after ReadState
|
88
|
+
Action.action_halt
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
describe 'action_suspend' do
|
93
|
+
it 'add others middleware to builder' do
|
94
|
+
expect(builder).to receive(:use).with(ConfigValidate)
|
95
|
+
expect(builder).to receive(:use).with(ConnectOpenstack)
|
96
|
+
expect(builder).to receive(:use).with(Call, ReadState)
|
97
|
+
# TODO, Impove this test to check what's happen after ReadState
|
98
|
+
Action.action_suspend
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
describe 'action_resume' do
|
103
|
+
it 'add others middleware to builder' do
|
104
|
+
expect(builder).to receive(:use).with(ConfigValidate)
|
105
|
+
expect(builder).to receive(:use).with(ConnectOpenstack)
|
106
|
+
expect(builder).to receive(:use).with(Call, ReadState)
|
107
|
+
# TODO, Impove this test to check what's happen after ReadState
|
108
|
+
Action.action_resume
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
describe 'action_reload' do
|
113
|
+
it 'add others middleware to builder' do
|
114
|
+
expect(builder).to receive(:use).with(ConfigValidate)
|
115
|
+
expect(builder).to receive(:use).with(ConnectOpenstack)
|
116
|
+
expect(builder).to receive(:use).with(Call, ReadState)
|
117
|
+
# TODO, Impove this test to check what's happen after ReadState
|
118
|
+
Action.action_reload
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
@@ -14,7 +14,7 @@ describe VagrantPlugins::Openstack::CinderClient do
|
|
14
14
|
session.token = '123456'
|
15
15
|
session.project_id = 'a1b2c3'
|
16
16
|
session.endpoints = { volume: 'http://cinder' }
|
17
|
-
@cinder_client = VagrantPlugins::Openstack
|
17
|
+
@cinder_client = VagrantPlugins::Openstack.cinder
|
18
18
|
end
|
19
19
|
|
20
20
|
describe 'get_all_volumes' do
|