vagrant-rimu 0.0.4 → 0.0.5

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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/README.md +12 -3
  4. data/Vagrantfile +15 -10
  5. data/lib/vagrant-rimu/actions/connect_to_rimu.rb +7 -3
  6. data/lib/vagrant-rimu/actions/create.rb +7 -1
  7. data/lib/vagrant-rimu/actions/is_created.rb +18 -18
  8. data/lib/vagrant-rimu/actions/is_stopped.rb +1 -1
  9. data/lib/vagrant-rimu/actions/message_action_not_supported.rb +19 -0
  10. data/lib/vagrant-rimu/actions/message_will_not_stop.rb +19 -0
  11. data/lib/vagrant-rimu/actions/modify_provision_path.rb +1 -1
  12. data/lib/vagrant-rimu/actions/move.rb +1 -1
  13. data/lib/vagrant-rimu/actions/read_ssh_info.rb +4 -3
  14. data/lib/vagrant-rimu/actions/read_state.rb +1 -1
  15. data/lib/vagrant-rimu/actions/rebuild.rb +21 -2
  16. data/lib/vagrant-rimu/actions/setup_user.rb +22 -19
  17. data/lib/vagrant-rimu/actions/ssh_utils.rb +44 -0
  18. data/lib/vagrant-rimu/actions/stop_instance.rb +6 -2
  19. data/lib/vagrant-rimu/actions/terminate_instance.rb +6 -2
  20. data/lib/vagrant-rimu/actions.rb +99 -85
  21. data/lib/vagrant-rimu/commands/abstract_command.rb +1 -1
  22. data/lib/vagrant-rimu/commands/rebuild.rb +6 -7
  23. data/lib/vagrant-rimu/commands/root.rb +1 -1
  24. data/lib/vagrant-rimu/config.rb +2 -2
  25. data/lib/vagrant-rimu/plugin.rb +1 -1
  26. data/lib/vagrant-rimu/provider.rb +1 -1
  27. data/lib/vagrant-rimu/version.rb +1 -1
  28. data/locales/en.yml +26 -8
  29. data/spec/spec_helper.rb +1 -1
  30. data/spec/vagrant-rimu/actions/connect_to_rimu_spec.rb +2 -1
  31. data/spec/vagrant-rimu/actions/create_spec.rb +4 -1
  32. data/spec/vagrant-rimu/actions/is_created_spec.rb +1 -1
  33. data/spec/vagrant-rimu/actions/is_stopped_spec.rb +2 -2
  34. data/spec/vagrant-rimu/actions/message_action_not_supported_spec.rb +30 -0
  35. data/spec/vagrant-rimu/actions/message_already_created_spec.rb +1 -4
  36. data/spec/vagrant-rimu/actions/message_will_not_destroy_spec.rb +1 -2
  37. data/spec/vagrant-rimu/actions/message_will_not_stop_spec.rb +35 -0
  38. data/spec/vagrant-rimu/actions/read_ssh_info_spec.rb +8 -0
  39. data/spec/vagrant-rimu/actions/rebuild_spec.rb +7 -1
  40. data/spec/vagrant-rimu/actions/stop_instance_spec.rb +4 -4
  41. data/spec/vagrant-rimu/commands/rebuild_spec.rb +20 -17
  42. data/test/Vagrantfile +3 -1
  43. metadata +9 -2
@@ -11,19 +11,19 @@ module VagrantPlugins
11
11
  # This action is called to terminate the remote machine.
12
12
  def self.action_destroy
13
13
  new_builder.tap do |b|
14
- b.use Call, DestroyConfirm do |env, b2|
14
+ b.use Call, DestroyConfirm do |env, b1|
15
15
  if env[:result]
16
- b2.use ConfigValidate
17
- b.use Call, IsCreated do |env2, b3|
18
- if !env2[:result]
19
- b3.use MessageNotCreated
20
- next
16
+ b1.use ConfigValidate
17
+ b1.use ConnectToRimu
18
+ b1.use Call, ReadState do |env1, b2|
19
+ if env1[:machine_state] == :not_created
20
+ b2.use MessageNotCreated
21
+ else
22
+ b2.use TerminateInstance
21
23
  end
22
24
  end
23
- b2.use ConnectToRimu
24
- b2.use TerminateInstance
25
25
  else
26
- b2.use MessageWillNotDestroy
26
+ b1.use MessageWillNotDestroy
27
27
  end
28
28
  end
29
29
  end
@@ -41,7 +41,7 @@ module VagrantPlugins
41
41
  end
42
42
 
43
43
  # This action is called to read the state of the machine. The
44
- # resulting state is expected to be put into the `:machine_state_id`
44
+ # resulting state is expected to be put into the `:machine_state`
45
45
  # key.
46
46
  def self.action_read_state
47
47
  new_builder.tap do |b|
@@ -55,13 +55,13 @@ module VagrantPlugins
55
55
  def self.action_ssh
56
56
  new_builder.tap do |b|
57
57
  b.use ConfigValidate
58
- b.use Call, IsCreated do |env, b2|
59
- if !env[:result]
60
- b2.use MessageNotCreated
61
- next
58
+ b.use ConnectToRimu
59
+ b.use Call, ReadState do |env, b1|
60
+ if env[:machine_state] == :not_created
61
+ b1.use MessageNotCreated
62
+ else
63
+ b1.use SSHExec
62
64
  end
63
-
64
- b2.use SSHExec
65
65
  end
66
66
  end
67
67
  end
@@ -69,53 +69,53 @@ module VagrantPlugins
69
69
  def self.action_ssh_run
70
70
  new_builder.tap do |b|
71
71
  b.use ConfigValidate
72
- b.use Call, IsCreated do |env, b2|
73
- if !env[:result]
74
- b2.use MessageNotCreated
75
- next
72
+ b.use ConnectToRimu
73
+ b.use Call, ReadState do |env, b1|
74
+ if env[:machine_state] == :not_created
75
+ b1.use MessageNotCreated
76
+ else
77
+ b1.use SSHRun
76
78
  end
77
-
78
- b2.use SSHRun
79
79
  end
80
80
  end
81
81
  end
82
82
 
83
83
  # This action is called when `vagrant provision` is called.
84
84
  def self.action_provision
85
- return new_builder.tap do |builder|
86
- builder.use ConfigValidate
87
- builder.use ConnectToRimu
88
- builder.use Call, IsCreated do |env, b|
85
+ new_builder.tap do |b|
86
+ b.use ConfigValidate
87
+ b.use ConnectToRimu
88
+ b.use Call, ReadState do |env, b1|
89
89
  case env[:machine_state]
90
90
  when :active
91
- b.use Provision
92
- b.use ModifyProvisionPath
93
- b.use SyncedFolders
91
+ b1.use Provision
92
+ b1.use ModifyProvisionPath
93
+ b1.use SyncedFolders
94
94
  when :off
95
95
  env[:ui].info I18n.t('vagrant_rimu.off')
96
96
  when :not_created
97
- b.use MessageNotCreated
97
+ b1.use MessageNotCreated
98
98
  end
99
99
  end
100
100
  end
101
101
  end
102
102
 
103
103
  def self.action_up
104
- return new_builder.tap do |builder|
105
- builder.use ConfigValidate
106
- builder.use ConnectToRimu
107
- builder.use Call, IsCreated do |env, b|
104
+ new_builder.tap do |b|
105
+ b.use ConfigValidate
106
+ b.use ConnectToRimu
107
+ b.use Call, ReadState do |env, b1|
108
108
  case env[:machine_state]
109
- when :active
110
- b.use MessageAlreadyCreated
111
- when :off
112
- b.use StartInstance
113
- b.use action_provision
114
109
  when :not_created
115
- b.use Create
116
- b.use SetupSudo
117
- b.use SetupUser
118
- b.use action_provision
110
+ b1.use Create
111
+ b1.use SetupSudo
112
+ b1.use SetupUser
113
+ b1.use action_provision
114
+ when :off
115
+ b1.use StartInstance
116
+ b1.use action_provision
117
+ else
118
+ b1.use MessageAlreadyCreated
119
119
  end
120
120
  end
121
121
  end
@@ -123,56 +123,54 @@ module VagrantPlugins
123
123
 
124
124
  # This action is called to halt the remote machine.
125
125
  def self.action_halt
126
- new_builder.tap do |builder|
127
- builder.use ConfigValidate
128
- builder.use Call, IsCreated do |env, b1|
129
- if env[:result]
130
- b1.use Call, IsStopped do |env2, b2|
131
- if env2[:result]
132
- b2.use MessageAlreadyOff
133
- else
134
- b2.use ConnectToRimu
135
- b2.use PowerOff
136
- end
137
- end
138
- else
139
- b1.use MessageNotCreated
140
- end
141
- end
126
+ new_builder.tap do |b|
127
+ b.use MessageWillNotStop
128
+ # b.use ConfigValidate
129
+ # b.use ConnectToRimu
130
+ # b.use Call, ReadState do |env, b1|
131
+ # case env[:machine_state]
132
+ # when :not_created
133
+ # b1.use MessageNotCreated
134
+ # when :off
135
+ # b1.use MessageAlreadyOff
136
+ # else
137
+ # b1.use StopInstance
138
+ # end
139
+ # end
142
140
  end
143
141
  end
144
142
 
145
143
  def self.action_reload
146
- return new_builder.tap do |builder|
147
- builder.use ConfigValidate
148
- builder.use ConnectToRimu
149
- builder.use Call, IsCreated do |env, b|
144
+ new_builder.tap do |b|
145
+ b.use ConfigValidate
146
+ b.use ConnectToRimu
147
+ b.use Call, ReadState do |env, b1|
150
148
  case env[:machine_state]
151
- when :active
152
- b.use Reload
153
- b.use action_provision
149
+ when :not_created
150
+ b1.use MessageNotCreated
154
151
  when :off
155
152
  env[:ui].info I18n.t('vagrant_rimu.off')
156
- when :not_created
157
- b.use MessageNotCreated
153
+ else
154
+ b1.use Reload
155
+ b1.use action_provision
158
156
  end
159
157
  end
160
158
  end
161
159
  end
162
160
 
163
161
  def self.action_rebuild
164
- return new_builder.tap do |builder|
165
- builder.use ConfigValidate
166
- builder.use ConnectToRimu
167
- builder.use Call, IsCreated do |env, b|
162
+ new_builder.tap do |b|
163
+ b.use ConfigValidate
164
+ b.use ConnectToRimu
165
+ b.use Call, ReadState do |env, b1|
168
166
  case env[:machine_state]
169
167
  when :active, :off
170
- b.use Rebuild
171
- b.use SetupSudo
172
- b.use SetupUser
173
- b.use action_provision
168
+ b1.use Rebuild
169
+ b1.use SetupSudo
170
+ b1.use SetupUser
171
+ b1.use action_provision
174
172
  when :not_created
175
- b.use MessageNotCreated
173
+ b1.use MessageNotCreated
176
174
  end
177
175
  end
178
176
  end
@@ -203,26 +201,40 @@ module VagrantPlugins
203
201
  end
204
202
 
205
203
  def self.action_move
206
- return new_builder.tap do |builder|
207
- builder.use ConfigValidate
208
- builder.use ConnectToRimu
209
- builder.use Call, IsCreated do |env, b|
204
+ new_builder.tap do |b|
205
+ b.use ConfigValidate
206
+ b.use ConnectToRimu
207
+ b.use Call, ReadState do |env, b1|
210
208
  case env[:machine_state]
211
209
  when :active, :off
212
- b.use Move
210
+ b1.use Move
213
211
  when :not_created
214
- b.use MessageNotCreated
212
+ b1.use MessageNotCreated
215
213
  end
216
214
  end
217
215
  end
218
216
  end
219
217
 
218
+ def self.action_suspend
219
+ new_builder.tap do |b|
220
+ b.use ConfigValidate
221
+ b.use MessageActionNotSupported
222
+ end
223
+ end
224
+
225
+ def self.action_resume
226
+ new_builder.tap do |b|
227
+ b.use ConfigValidate
228
+ b.use MessageActionNotSupported
229
+ end
230
+ end
231
+
220
232
  action_root = Pathname.new(File.expand_path('../actions', __FILE__))
221
233
  autoload :ConnectToRimu, action_root.join('connect_to_rimu')
222
234
  autoload :StopInstance, action_root.join('stop_instance')
223
235
  autoload :TerminateInstance, action_root.join('terminate_instance')
224
- autoload :IsCreated, action_root.join('is_created')
225
- autoload :IsStopped, action_root.join('is_stopped')
236
+ # autoload :IsCreated, action_root.join('is_created')
237
+ # autoload :IsStopped, action_root.join('is_stopped')
226
238
  autoload :ReadSSHInfo, action_root.join('read_ssh_info')
227
239
  autoload :ReadState, action_root.join('read_state')
228
240
  autoload :StartInstance, action_root.join('start_instance')
@@ -240,6 +252,8 @@ module VagrantPlugins
240
252
  autoload :MessageNotCreated, action_root.join('message_not_created')
241
253
  autoload :MessageWillNotDestroy, action_root.join('message_will_not_destroy')
242
254
  autoload :MessageAlreadyCreated, action_root.join('message_already_created')
255
+ autoload :MessageWillNotStop, action_root.join('message_will_not_stop')
256
+ autoload :MessageActionNotSupported, action_root.join('message_action_not_supported')
243
257
 
244
258
  private
245
259
 
@@ -21,7 +21,7 @@ module VagrantPlugins
21
21
  cmd(name, @argv, env)
22
22
  @env.ui.info('')
23
23
  # rubocop:disable Lint/RescueException
24
- rescue Errors::ApiError, SystemExit, Interrupt => e
24
+ rescue Errors::RimuError, SystemExit, Interrupt => e
25
25
  raise e
26
26
  rescue Exception => e
27
27
  puts I18n.t('vagrant_rimu.errors.global_error').red unless e.message
@@ -1,17 +1,16 @@
1
- require 'optparse'
2
- require 'vagrant-rimu/commands/abstract_command'
3
-
4
1
  module VagrantPlugins
5
2
  module Rimu
6
3
  module Commands
7
- class Rebuild < AbstractCommand
4
+ class Rebuild < Vagrant.plugin('2', :command)
8
5
  def self.synopsis
9
6
  I18n.t('vagrant_rimu.commands.rebuild')
10
7
  end
11
8
 
12
- def cmd(name, argv, env)
13
- fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0
14
- env[:machine].action('rebuild')
9
+ def execute
10
+ with_target_vms(nil, provider: :rimu) do |machine|
11
+ machine.action(:rebuild)
12
+ end
13
+ 0
15
14
  end
16
15
  end
17
16
  end
@@ -6,7 +6,7 @@ module VagrantPlugins
6
6
  { name: :'distributions', file: 'distributions', clazz: 'Distributions' },
7
7
  { name: :'servers', file: 'list_servers', clazz: 'ListServers' },
8
8
  { name: :'move-vps', file: 'move', clazz: 'Move' },
9
- { name: :'rebuild', file: 'rebuild', clazz: 'Rebuild' },
9
+ # { name: :'rebuild', file: 'rebuild', clazz: 'Rebuild' },
10
10
  ]
11
11
 
12
12
  class Root < Vagrant.plugin('2', :command)
@@ -165,8 +165,8 @@ module VagrantPlugins
165
165
 
166
166
  def validate(machine)
167
167
  errors = []
168
- errors << I18n.t('vagrant_rimu.config.api_key') if !@api_key
169
- errors << I18n.t('vagrant_rimu.config.host_name') if !@host_name
168
+ errors << I18n.t('vagrant_rimu.config.api_key') unless @api_key
169
+ errors << I18n.t('vagrant_rimu.config.host_name') unless @host_name
170
170
  if @host_name
171
171
  errors << I18n.t('vagrant_rimu.config.invalid_host_name', {:host_name => @host_name}) \
172
172
  unless @host_name.match(/\b((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}\b/)
@@ -45,7 +45,7 @@ module VagrantPlugins
45
45
  # Setup logging and i18n
46
46
  Rimu.init_i18n
47
47
  Rimu.init_logging
48
-
48
+
49
49
  require_relative "commands/rebuild"
50
50
  Commands::Rebuild
51
51
  end
@@ -33,7 +33,7 @@ module VagrantPlugins
33
33
  # key in the environment.
34
34
  env = @machine.action("read_state")
35
35
 
36
- state_id = env[:machine_state_id]
36
+ state_id = env[:machine_state]
37
37
 
38
38
  # Get the short and long description
39
39
  short = I18n.t("vagrant_rimu.states.short_#{state_id}")
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Rimu
3
- VERSION = '0.0.4'
3
+ VERSION = '0.0.5'
4
4
  end
5
5
  end
data/locales/en.yml CHANGED
@@ -23,10 +23,15 @@ en:
23
23
  will_not_destroy: |-
24
24
  The VPS '%{name}' will not be destroyed, since the confirmation
25
25
  was declined.
26
+ will_not_stop: |-
27
+ The VPS '%{name}' will not be stopped, as the Rimu API does not
28
+ support this action. To stop your VPS run `vagrant ssh` and then
29
+ `halt` on the VPS console.
26
30
  ip_address: |-
27
31
  Assigned IP address: %{ip}
28
32
  creating_user: "Creating user account: %{user}..."
29
33
  modifying_sudo: "Modifying sudoers file to remove tty requirement..."
34
+ action_not_supported: "The requested command is not supported by this provider"
30
35
  reloading: "Rebooting the VPS..."
31
36
  rebuilding: "Rebuilding the VPS..."
32
37
  config:
@@ -48,8 +53,12 @@ en:
48
53
  The VPS is starting.
49
54
  short_stopped: |-
50
55
  stopped
56
+ short_off: |-
57
+ stopped
51
58
  long_stopped: |-
52
59
  The VPS is stopped. Run `vagrant up` to start it.
60
+ long_off: |-
61
+ The VPS is stopped. Run `vagrant up` to start it.
53
62
  short_stopping: |-
54
63
  stopping
55
64
  long_stopping: |-
@@ -57,26 +66,35 @@ en:
57
66
  run `vagrant up` and start it.
58
67
  short_running: |-
59
68
  running
69
+ short_active: |-
70
+ running
60
71
  long_running: |-
61
72
  The VPS is running. To stop this machine, you can run
62
73
  `vagrant halt`. To destroy the machine, you can run `vagrant destroy`.
74
+ long_active: |-
75
+ The VPS is running. To stop this machine, you can run
76
+ `vagrant halt`. To destroy the machine, you can run `vagrant destroy`.
77
+ current_state: |-
78
+ Machine state is `%{state}`
63
79
  commands:
64
80
  root_synopsis: |-
65
- Rimu provider specific commands
81
+ Rimu provider specific commands
66
82
  root_usage: |-
67
- Usage: vagrant rimu <subcommand> [<args>]
83
+ Usage: vagrant rimu <subcommand> [<args>]
84
+ rebuild_usage: |-
85
+ Usage: vagrant rebuild [vm-name]
68
86
  available_subcommands: |-
69
- Available subcommands:
87
+ Available subcommands:
70
88
  billing_methods: |-
71
- List billing methods
89
+ List billing methods
72
90
  list_distributions: |-
73
- List Distributions
91
+ List Distributions
74
92
  list_servers: |-
75
- List servers
93
+ List servers
76
94
  move: |-
77
- Moves server to different host
95
+ Moves server to different host
78
96
  rebuild: |-
79
- Rebuilds the server, retaining the current IP address
97
+ Rebuilds the server, retaining the current IP address
80
98
  errors:
81
99
  global_error: |-
82
100
  An unknown error happened in Vagrant Rimu provider
data/spec/spec_helper.rb CHANGED
@@ -4,7 +4,7 @@ if ENV['CI']=='true'
4
4
  require 'codecov'
5
5
  require 'coveralls'
6
6
  require 'codeclimate-test-reporter'
7
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
7
+ SimpleCov.formatters = [
8
8
  SimpleCov::Formatter::HTMLFormatter,
9
9
  Coveralls::SimpleCov::Formatter,
10
10
  SimpleCov::Formatter::Codecov,
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe VagrantPlugins::Rimu::Actions::ConnectToRimu do
4
+ let(:rimu_api) { double('rimu_api') }
4
5
  let(:app) do
5
6
  double.tap do |app|
6
7
  app.stub(:call)
@@ -21,7 +22,7 @@ describe VagrantPlugins::Rimu::Actions::ConnectToRimu do
21
22
  env[:ui].stub(:warn).with(anything)
22
23
  env[:machine] = double('machine')
23
24
  env[:machine].stub(:provider_config) { config }
24
- env[:rimu_api] = double('rimu_api')
25
+ env[:rimu_api] = rimu_api
25
26
  end
26
27
  end
27
28
 
@@ -7,7 +7,7 @@ require 'spec_helper'
7
7
  describe VagrantPlugins::Rimu::Actions::Create do
8
8
  let(:dup) { double('dup') }
9
9
  let(:ssh) { double('ssh') }
10
- # let(:action_runner) { double('action_runner') }
10
+ let(:root_path) { '.' }
11
11
  let(:servers) { double('servers') }
12
12
  let(:machine) { double('machine') }
13
13
  let(:create) { double('create') }
@@ -55,11 +55,14 @@ describe VagrantPlugins::Rimu::Actions::Create do
55
55
  servers.stub(:create) { create }
56
56
  os.stub(:servers) { servers }
57
57
  end
58
+ env.stub(:root_path) { root_path }
58
59
  machine.stub(:id) { id }
59
60
  machine.stub(:id=) { id }
61
+ machine.stub(:env) { env }
60
62
  env[:machine] = machine
61
63
  env[:machine].stub(:config) { config }
62
64
  env[:machine].stub(:provider_config) { config }
65
+ communicate.stub(:execute).with(anything)
63
66
  communicate.stub(:ready?) { true }
64
67
  env[:machine].stub(:communicate) { communicate }
65
68
  # dup.stub(:delete) { double('delete') }
@@ -28,7 +28,7 @@ describe VagrantPlugins::Rimu::Actions::IsCreated do
28
28
  describe 'call' do
29
29
  context 'when server is created' do
30
30
  it 'returns true' do
31
- env[:machine].state.stub(:id) { :stopped }
31
+ env[:machine].state.stub(:id) { :off }
32
32
  expect(app).to receive(:call)
33
33
  @action = VagrantPlugins::Rimu::Actions::IsCreated.new(app, env)
34
34
  @action.call(env)
@@ -28,7 +28,7 @@ describe VagrantPlugins::Rimu::Actions::IsStopped do
28
28
  describe 'call' do
29
29
  context 'when server is stopped' do
30
30
  it 'returns true' do
31
- env[:machine].state.stub(:id) { :stopped }
31
+ env[:machine].state.stub(:id) { :off }
32
32
  expect(app).to receive(:call)
33
33
  @action = VagrantPlugins::Rimu::Actions::IsStopped.new(app, env)
34
34
  @action.call(env)
@@ -38,7 +38,7 @@ describe VagrantPlugins::Rimu::Actions::IsStopped do
38
38
 
39
39
  context 'when server is running' do
40
40
  it 'returns false' do
41
- env[:machine].state.stub(:id) { :running }
41
+ env[:machine].state.stub(:id) { :active }
42
42
  expect(app).to receive(:call)
43
43
  @action = VagrantPlugins::Rimu::Actions::IsStopped.new(app, env)
44
44
  @action.call(env)
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ # action_root = Pathname.new(File.expand_path('../../../../lib/vagrant-rimu/actions', __FILE__))
4
+ # autoload :StopInstance, action_root.join('stop_instance')
5
+
6
+ describe VagrantPlugins::Rimu::Actions::MessageActionNotSupported do
7
+ let(:env) do
8
+ {}.tap do |env|
9
+ env[:ui] = double('ui').tap do |ui|
10
+ ui.stub(:info).with(anything)
11
+ ui.stub(:error).with(anything)
12
+ end
13
+ end
14
+ end
15
+
16
+ let(:app) do
17
+ double('app').tap do |app|
18
+ app.stub(:call).with(anything)
19
+ end
20
+ end
21
+
22
+ describe 'call' do
23
+ it 'sets info variable' do
24
+ expect(I18n).to receive(:t).with('vagrant_rimu.action_not_supported')
25
+ expect(app).to receive(:call)
26
+ @action = VagrantPlugins::Rimu::Actions::MessageActionNotSupported.new(app, env)
27
+ @action.call(env)
28
+ end
29
+ end
30
+ end
@@ -1,6 +1,3 @@
1
- require 'ostruct'
2
- require 'pathname'
3
-
4
1
  require 'spec_helper'
5
2
 
6
3
  # action_root = Pathname.new(File.expand_path('../../../../lib/vagrant-rimu/actions', __FILE__))
@@ -30,4 +27,4 @@ describe VagrantPlugins::Rimu::Actions::MessageAlreadyCreated do
30
27
  @action.call(env)
31
28
  end
32
29
  end
33
- end
30
+ end
@@ -1,5 +1,4 @@
1
1
  require 'ostruct'
2
- require 'pathname'
3
2
 
4
3
  require 'spec_helper'
5
4
 
@@ -33,4 +32,4 @@ describe VagrantPlugins::Rimu::Actions::MessageWillNotDestroy do
33
32
  @action.call(env)
34
33
  end
35
34
  end
36
- end
35
+ end
@@ -0,0 +1,35 @@
1
+ require 'ostruct'
2
+
3
+ require 'spec_helper'
4
+
5
+ # action_root = Pathname.new(File.expand_path('../../../../lib/vagrant-rimu/actions', __FILE__))
6
+ # autoload :StopInstance, action_root.join('stop_instance')
7
+
8
+ describe VagrantPlugins::Rimu::Actions::MessageWillNotStop do
9
+ let(:env) do
10
+ {}.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[:machine] = OpenStruct.new
16
+ end
17
+ end
18
+
19
+ let(:app) do
20
+ double('app').tap do |app|
21
+ app.stub(:call).with(anything)
22
+ end
23
+ end
24
+
25
+ describe 'call' do
26
+ it 'sets info variable' do
27
+ name = 'rimu.example.com'
28
+ env[:machine].name = name
29
+ expect(I18n).to receive(:t).with('vagrant_rimu.will_not_stop', {:name => name})
30
+ expect(app).to receive(:call)
31
+ @action = VagrantPlugins::Rimu::Actions::MessageWillNotStop.new(app, env)
32
+ @action.call(env)
33
+ end
34
+ end
35
+ end
@@ -5,12 +5,19 @@ require 'spec_helper'
5
5
  # autoload :StopInstance, action_root.join('stop_instance')
6
6
 
7
7
  describe VagrantPlugins::Rimu::Actions::ReadSSHInfo do
8
+ let(:ssh) { double('ssh') }
8
9
  let(:orders) { double('orders') }
9
10
  let(:machine) { double('machine') }
10
11
  let(:order) { double('order') }
11
12
  let(:allocated_ips) { {:primary_ip=>'192.168.1.1'} }
12
13
  let(:id) { '200' }
13
14
 
15
+ let(:config) do
16
+ double.tap do |config|
17
+ ssh.stub(:private_key_path) { 'test/test_rimu_id_rsa' }
18
+ config.stub(:ssh) { ssh }
19
+ end
20
+ end
14
21
 
15
22
  let(:env) do
16
23
  {}.tap do |env|
@@ -24,6 +31,7 @@ describe VagrantPlugins::Rimu::Actions::ReadSSHInfo do
24
31
  os.stub(:orders) { orders }
25
32
  end
26
33
  machine.stub(:id) { id }
34
+ machine.stub(:config) { config }
27
35
  env[:machine] = machine
28
36
  end
29
37
  end