vagrantup 0.1.4 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/bin/vagrant +1 -1
- data/bin/vagrant-box +1 -2
- data/bin/vagrant-down +1 -2
- data/bin/vagrant-halt +1 -2
- data/bin/vagrant-init +1 -2
- data/bin/vagrant-package +1 -2
- data/bin/vagrant-reload +1 -2
- data/bin/vagrant-resume +1 -2
- data/bin/vagrant-ssh +1 -2
- data/bin/vagrant-status +29 -0
- data/bin/vagrant-suspend +1 -2
- data/bin/vagrant-up +1 -2
- data/config/default.rb +5 -9
- data/keys/README.md +10 -0
- data/keys/vagrant +27 -0
- data/keys/vagrant.pub +1 -0
- data/lib/vagrant.rb +10 -5
- data/lib/vagrant/actions/base.rb +14 -0
- data/lib/vagrant/actions/box/download.rb +3 -0
- data/lib/vagrant/actions/collection.rb +36 -0
- data/lib/vagrant/actions/runner.rb +4 -10
- data/lib/vagrant/actions/vm/boot.rb +4 -5
- data/lib/vagrant/actions/vm/customize.rb +17 -0
- data/lib/vagrant/actions/vm/destroy.rb +11 -2
- data/lib/vagrant/actions/vm/forward_ports.rb +24 -0
- data/lib/vagrant/actions/vm/import.rb +1 -0
- data/lib/vagrant/actions/vm/provision.rb +30 -52
- data/lib/vagrant/actions/vm/reload.rb +2 -2
- data/lib/vagrant/actions/vm/shared_folders.rb +37 -25
- data/lib/vagrant/actions/vm/up.rb +8 -4
- data/lib/vagrant/active_list.rb +66 -0
- data/lib/vagrant/commands.rb +44 -0
- data/lib/vagrant/config.rb +64 -47
- data/lib/vagrant/downloaders/base.rb +3 -0
- data/lib/vagrant/downloaders/file.rb +11 -11
- data/lib/vagrant/env.rb +48 -12
- data/lib/vagrant/provisioners/base.rb +22 -0
- data/lib/vagrant/provisioners/chef.rb +102 -0
- data/lib/vagrant/provisioners/chef_server.rb +96 -0
- data/lib/vagrant/provisioners/chef_solo.rb +67 -0
- data/lib/vagrant/ssh.rb +25 -6
- data/lib/vagrant/stacked_proc_runner.rb +33 -0
- data/lib/vagrant/vm.rb +8 -0
- data/test/test_helper.rb +22 -6
- data/test/vagrant/actions/box/download_test.rb +11 -0
- data/test/vagrant/actions/collection_test.rb +110 -0
- data/test/vagrant/actions/runner_test.rb +11 -7
- data/test/vagrant/actions/vm/boot_test.rb +7 -7
- data/test/vagrant/actions/vm/customize_test.rb +16 -0
- data/test/vagrant/actions/vm/destroy_test.rb +19 -6
- data/test/vagrant/actions/vm/forward_ports_test.rb +52 -0
- data/test/vagrant/actions/vm/import_test.rb +10 -3
- data/test/vagrant/actions/vm/provision_test.rb +75 -70
- data/test/vagrant/actions/vm/reload_test.rb +3 -2
- data/test/vagrant/actions/vm/shared_folders_test.rb +62 -9
- data/test/vagrant/actions/vm/up_test.rb +4 -4
- data/test/vagrant/active_list_test.rb +169 -0
- data/test/vagrant/config_test.rb +145 -29
- data/test/vagrant/downloaders/base_test.rb +7 -0
- data/test/vagrant/downloaders/file_test.rb +12 -18
- data/test/vagrant/env_test.rb +96 -23
- data/test/vagrant/provisioners/base_test.rb +27 -0
- data/test/vagrant/provisioners/chef_server_test.rb +175 -0
- data/test/vagrant/provisioners/chef_solo_test.rb +142 -0
- data/test/vagrant/provisioners/chef_test.rb +116 -0
- data/test/vagrant/ssh_test.rb +29 -8
- data/test/vagrant/stacked_proc_runner_test.rb +43 -0
- data/test/vagrant/vm_test.rb +23 -0
- data/vagrant.gemspec +34 -7
- metadata +33 -5
- data/script/vagrant-ssh-expect.sh +0 -22
data/test/vagrant/config_test.rb
CHANGED
@@ -1,6 +1,23 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), '..', 'test_helper')
|
2
2
|
|
3
3
|
class ConfigTest < Test::Unit::TestCase
|
4
|
+
context "the ssh config" do
|
5
|
+
should "expand any path when requesting the value" do
|
6
|
+
Vagrant::Env.stubs(:root_path).returns('foo')
|
7
|
+
File.stubs(:expand_path).with(Vagrant.config.ssh[:private_key_path], 'foo').returns('success')
|
8
|
+
assert Vagrant.config.ssh.private_key_path, 'success'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
context "adding configures" do
|
13
|
+
should "forward the method to the Top class" do
|
14
|
+
key = mock("key")
|
15
|
+
klass = mock("klass")
|
16
|
+
Vagrant::Config::Top.expects(:configures).with(key, klass)
|
17
|
+
Vagrant::Config.configures(key, klass)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
4
21
|
context "resetting" do
|
5
22
|
setup do
|
6
23
|
Vagrant::Config.run { |config| }
|
@@ -18,10 +35,10 @@ class ConfigTest < Test::Unit::TestCase
|
|
18
35
|
assert !config.equal?(Vagrant::Config.config)
|
19
36
|
end
|
20
37
|
|
21
|
-
should "empty the
|
22
|
-
assert !Vagrant::Config.
|
38
|
+
should "empty the proc stack" do
|
39
|
+
assert !Vagrant::Config.proc_stack.empty?
|
23
40
|
Vagrant::Config.reset!
|
24
|
-
assert Vagrant::Config.
|
41
|
+
assert Vagrant::Config.proc_stack.empty?
|
25
42
|
end
|
26
43
|
end
|
27
44
|
|
@@ -37,30 +54,18 @@ class ConfigTest < Test::Unit::TestCase
|
|
37
54
|
end
|
38
55
|
|
39
56
|
context "initializing" do
|
40
|
-
|
41
|
-
Vagrant::Config.
|
42
|
-
Vagrant::Config.instance_variable_set(:@config, nil)
|
43
|
-
end
|
44
|
-
|
45
|
-
should "not run the blocks right away" do
|
46
|
-
obj = mock("obj")
|
47
|
-
obj.expects(:foo).never
|
48
|
-
Vagrant::Config.run { |config| obj.foo }
|
49
|
-
Vagrant::Config.run { |config| obj.foo }
|
50
|
-
Vagrant::Config.run { |config| obj.foo }
|
57
|
+
setup do
|
58
|
+
Vagrant::Config.reset!
|
51
59
|
end
|
52
60
|
|
53
|
-
should "
|
54
|
-
|
55
|
-
|
56
|
-
Vagrant::Config.
|
57
|
-
Vagrant::Config.run { |config| obj.foo }
|
58
|
-
Vagrant::Config.execute!
|
61
|
+
should "add the given block to the proc stack" do
|
62
|
+
proc = Proc.new {}
|
63
|
+
Vagrant::Config.run(&proc)
|
64
|
+
assert_equal [proc], Vagrant::Config.proc_stack
|
59
65
|
end
|
60
66
|
|
61
|
-
should "run the
|
62
|
-
Vagrant::Config.
|
63
|
-
Vagrant::Config.run { |config| assert config }
|
67
|
+
should "run the proc stack with the config when execute is called" do
|
68
|
+
Vagrant::Config.expects(:run_procs!).with(Vagrant::Config.config).once
|
64
69
|
Vagrant::Config.execute!
|
65
70
|
end
|
66
71
|
|
@@ -109,15 +114,126 @@ class ConfigTest < Test::Unit::TestCase
|
|
109
114
|
end
|
110
115
|
end
|
111
116
|
|
112
|
-
context "
|
117
|
+
context "top config class" do
|
113
118
|
setup do
|
114
|
-
@
|
115
|
-
@
|
119
|
+
@configures_list = []
|
120
|
+
Vagrant::Config::Top.stubs(:configures_list).returns(@configures_list)
|
116
121
|
end
|
117
122
|
|
118
|
-
|
119
|
-
|
120
|
-
|
123
|
+
context "adding configure keys" do
|
124
|
+
setup do
|
125
|
+
@key = "top_config_foo"
|
126
|
+
@klass = mock("klass")
|
127
|
+
end
|
128
|
+
|
129
|
+
should "add key and klass to configures list" do
|
130
|
+
@configures_list.expects(:<<).with([@key, @klass])
|
131
|
+
Vagrant::Config::Top.configures(@key, @klass)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
context "configuration keys on instance" do
|
136
|
+
setup do
|
137
|
+
@configures_list.clear
|
138
|
+
end
|
139
|
+
|
140
|
+
should "initialize each configurer and set it to its key" do
|
141
|
+
5.times do |i|
|
142
|
+
key = "key#{i}"
|
143
|
+
klass = mock("klass#{i}")
|
144
|
+
instance = mock("instance#{i}")
|
145
|
+
klass.expects(:new).returns(instance)
|
146
|
+
@configures_list << [key, klass]
|
147
|
+
end
|
148
|
+
|
149
|
+
Vagrant::Config::Top.new
|
150
|
+
end
|
151
|
+
|
152
|
+
should "allow reading via methods" do
|
153
|
+
key = "my_foo_bar_key"
|
154
|
+
klass = mock("klass")
|
155
|
+
instance = mock("instance")
|
156
|
+
klass.expects(:new).returns(instance)
|
157
|
+
Vagrant::Config::Top.configures(key, klass)
|
158
|
+
|
159
|
+
config = Vagrant::Config::Top.new
|
160
|
+
assert_equal instance, config.send(key)
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
context "loaded status" do
|
165
|
+
setup do
|
166
|
+
@top= Vagrant::Config::Top.new
|
167
|
+
end
|
168
|
+
|
169
|
+
should "not be loaded by default" do
|
170
|
+
assert !@top.loaded?
|
171
|
+
end
|
172
|
+
|
173
|
+
should "be loaded after calling loaded!" do
|
174
|
+
@top.loaded!
|
175
|
+
assert @top.loaded?
|
176
|
+
end
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
context "vagrant configuration" do
|
181
|
+
setup do
|
182
|
+
@config = Vagrant::Config::VagrantConfig.new
|
183
|
+
end
|
184
|
+
|
185
|
+
should "return nil if home is nil" do
|
186
|
+
File.expects(:expand_path).never
|
187
|
+
assert @config.home.nil?
|
188
|
+
end
|
189
|
+
|
190
|
+
should "expand the path if home is not nil" do
|
191
|
+
@config.home = "foo"
|
192
|
+
File.expects(:expand_path).with("foo").once.returns("result")
|
193
|
+
assert_equal "result", @config.home
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
context "VM configuration" do
|
198
|
+
setup do
|
199
|
+
@config = Vagrant::Config::VMConfig.new
|
200
|
+
@username = "bob"
|
201
|
+
|
202
|
+
mock_config do |config|
|
203
|
+
config.ssh.username = @username
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
207
|
+
should "include the stacked proc runner module" do
|
208
|
+
assert @config.class.included_modules.include?(Vagrant::StackedProcRunner)
|
209
|
+
end
|
210
|
+
|
211
|
+
should "add the customize proc to the proc stack" do
|
212
|
+
proc = Proc.new {}
|
213
|
+
@config.customize(&proc)
|
214
|
+
assert_equal [proc], @config.proc_stack
|
215
|
+
end
|
216
|
+
|
217
|
+
context "uid/gid" do
|
218
|
+
should "return the shared folder UID if set" do
|
219
|
+
@config.shared_folder_uid = "foo"
|
220
|
+
assert_equal "foo", @config.shared_folder_uid
|
221
|
+
end
|
222
|
+
|
223
|
+
should "return the SSH username if UID not set" do
|
224
|
+
@config.shared_folder_uid = nil
|
225
|
+
assert_equal @username, @config.shared_folder_uid
|
226
|
+
end
|
227
|
+
|
228
|
+
should "return the shared folder GID if set" do
|
229
|
+
@config.shared_folder_gid = "foo"
|
230
|
+
assert_equal "foo", @config.shared_folder_gid
|
231
|
+
end
|
232
|
+
|
233
|
+
should "return the SSH username if GID not set" do
|
234
|
+
@config.shared_folder_gid = nil
|
235
|
+
assert_equal @username, @config.shared_folder_gid
|
236
|
+
end
|
121
237
|
end
|
122
238
|
end
|
123
239
|
end
|
@@ -11,6 +11,13 @@ class BaseDownloaderTest < Test::Unit::TestCase
|
|
11
11
|
end
|
12
12
|
|
13
13
|
should "implement prepare which does nothing" do
|
14
|
+
assert_nothing_raised do
|
15
|
+
assert @base.respond_to?(:prepare)
|
16
|
+
@base.prepare("source")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
should "implement download! which does nothing" do
|
14
21
|
assert_nothing_raised do
|
15
22
|
assert @base.respond_to?(:download!)
|
16
23
|
@base.download!("source", "destination")
|
@@ -6,26 +6,20 @@ class FileDownloaderTest < Test::Unit::TestCase
|
|
6
6
|
@uri = "foo.box"
|
7
7
|
end
|
8
8
|
|
9
|
-
context "
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
should "open with the given uri" do
|
18
|
-
@downloader.expects(:open).with(@uri).once
|
19
|
-
@downloader.download!(@uri, @tempfile)
|
9
|
+
context "preparing" do
|
10
|
+
should "raise an exception if the file does not exist" do
|
11
|
+
File.expects(:file?).with(@uri).returns(false)
|
12
|
+
assert_raises(Vagrant::Actions::ActionException) {
|
13
|
+
@downloader.prepare(@uri)
|
14
|
+
}
|
20
15
|
end
|
16
|
+
end
|
21
17
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
@
|
26
|
-
|
27
|
-
@tempfile.expects(:write).with(data).in_sequence(write_seq)
|
28
|
-
@file.stubs(:eof?).returns(true).in_sequence(write_seq)
|
18
|
+
context "downloading" do
|
19
|
+
should "cp the file" do
|
20
|
+
path = '/path'
|
21
|
+
@tempfile.expects(:path).returns(path)
|
22
|
+
FileUtils.expects(:cp).with(@uri, path)
|
29
23
|
@downloader.download!(@uri, @tempfile)
|
30
24
|
end
|
31
25
|
end
|
data/test/vagrant/env_test.rb
CHANGED
@@ -15,6 +15,24 @@ class EnvTest < Test::Unit::TestCase
|
|
15
15
|
Vagrant::Box.stubs(:find).returns("foo")
|
16
16
|
end
|
17
17
|
|
18
|
+
context "checking virtualbox version" do
|
19
|
+
setup do
|
20
|
+
VirtualBox::Command.stubs(:version)
|
21
|
+
end
|
22
|
+
|
23
|
+
should "error and exit if VirtualBox is not installed or detected" do
|
24
|
+
Vagrant::Env.expects(:error_and_exit).once
|
25
|
+
VirtualBox::Command.expects(:version).returns(nil)
|
26
|
+
Vagrant::Env.check_virtualbox!
|
27
|
+
end
|
28
|
+
|
29
|
+
should "error and exit if VirtualBox is lower than version 3.1" do
|
30
|
+
Vagrant::Env.expects(:error_and_exit).once
|
31
|
+
VirtualBox::Command.expects(:version).returns("3.0.12r1041")
|
32
|
+
Vagrant::Env.check_virtualbox!
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
18
36
|
context "requiring a VM" do
|
19
37
|
setup do
|
20
38
|
Vagrant::Env.stubs(:require_root_path)
|
@@ -89,6 +107,20 @@ class EnvTest < Test::Unit::TestCase
|
|
89
107
|
Vagrant::Env.load_config!
|
90
108
|
end
|
91
109
|
|
110
|
+
should "load from the home directory" do
|
111
|
+
File.expects(:exist?).with(File.join(Vagrant::Env.home_path, Vagrant::Env::ROOTFILE_NAME)).once
|
112
|
+
Vagrant::Env.load_config!
|
113
|
+
end
|
114
|
+
|
115
|
+
should "not load from the home directory if the home config is nil" do
|
116
|
+
mock_config do |config|
|
117
|
+
config.vagrant.home = nil
|
118
|
+
end
|
119
|
+
|
120
|
+
File.expects(:exist?).with(File.join(Vagrant::Env.home_path, Vagrant::Env::ROOTFILE_NAME)).never
|
121
|
+
Vagrant::Env.load_config!
|
122
|
+
end
|
123
|
+
|
92
124
|
should "not load from the root path if nil" do
|
93
125
|
Vagrant::Env.stubs(:root_path).returns(nil)
|
94
126
|
File.expects(:exist?).with(File.join(@root_path, Vagrant::Env::ROOTFILE_NAME)).never
|
@@ -129,29 +161,69 @@ class EnvTest < Test::Unit::TestCase
|
|
129
161
|
end
|
130
162
|
|
131
163
|
context "initial load" do
|
132
|
-
|
133
|
-
|
134
|
-
Vagrant::Env.expects(:
|
135
|
-
Vagrant::Env.expects(:
|
136
|
-
Vagrant::Env.expects(:load_home_directory!).once
|
137
|
-
Vagrant::Env.expects(:load_box!).once
|
164
|
+
should "load! should load the config and set the persisted_uid" do
|
165
|
+
call_seq = sequence("call_sequence")
|
166
|
+
Vagrant::Env.expects(:load_root_path!).once.in_sequence(call_seq)
|
167
|
+
Vagrant::Env.expects(:load_config!).once.in_sequence(call_seq)
|
168
|
+
Vagrant::Env.expects(:load_home_directory!).once.in_sequence(call_seq)
|
169
|
+
Vagrant::Env.expects(:load_box!).once.in_sequence(call_seq)
|
170
|
+
Vagrant::Env.expects(:load_config!).once.in_sequence(call_seq)
|
171
|
+
Vagrant::Env.expects(:check_virtualbox!).once.in_sequence(call_seq)
|
172
|
+
Vagrant::Env.expects(:load_vm!).once.in_sequence(call_seq)
|
138
173
|
Vagrant::Env.load!
|
139
174
|
end
|
140
175
|
end
|
141
176
|
|
142
177
|
context "persisting the VM into a file" do
|
143
178
|
setup do
|
144
|
-
|
145
|
-
|
179
|
+
@vm = mock("vm")
|
180
|
+
@vm.stubs(:uuid).returns("foo")
|
146
181
|
|
147
|
-
|
148
|
-
|
149
|
-
|
182
|
+
File.stubs(:open)
|
183
|
+
Vagrant::ActiveList.stubs(:add)
|
184
|
+
end
|
150
185
|
|
186
|
+
should "should save it to the dotfile path" do
|
151
187
|
filemock = mock("filemock")
|
152
|
-
filemock.expects(:write).with(vm.uuid)
|
188
|
+
filemock.expects(:write).with(@vm.uuid)
|
153
189
|
File.expects(:open).with(Vagrant::Env.dotfile_path, 'w+').once.yields(filemock)
|
154
|
-
Vagrant::Env.persist_vm(vm)
|
190
|
+
Vagrant::Env.persist_vm(@vm)
|
191
|
+
end
|
192
|
+
|
193
|
+
should "add the VM to the activelist" do
|
194
|
+
Vagrant::ActiveList.expects(:add).with(@vm)
|
195
|
+
Vagrant::Env.persist_vm(@vm)
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
context "depersisting the VM" do
|
200
|
+
setup do
|
201
|
+
File.stubs(:exist?).returns(false)
|
202
|
+
File.stubs(:delete)
|
203
|
+
|
204
|
+
Vagrant::ActiveList.stubs(:remove)
|
205
|
+
|
206
|
+
@dotfile_path = "foo"
|
207
|
+
Vagrant::Env.stubs(:dotfile_path).returns(@dotfile_path)
|
208
|
+
|
209
|
+
@vm = mock("vm")
|
210
|
+
end
|
211
|
+
|
212
|
+
should "remove the dotfile if it exists" do
|
213
|
+
File.expects(:exist?).with(Vagrant::Env.dotfile_path).returns(true)
|
214
|
+
File.expects(:delete).with(Vagrant::Env.dotfile_path).once
|
215
|
+
Vagrant::Env.depersist_vm(@vm)
|
216
|
+
end
|
217
|
+
|
218
|
+
should "not remove the dotfile if it doesn't exist" do
|
219
|
+
File.expects(:exist?).returns(false)
|
220
|
+
File.expects(:delete).never
|
221
|
+
Vagrant::Env.depersist_vm(@vm)
|
222
|
+
end
|
223
|
+
|
224
|
+
should "remove from the active list" do
|
225
|
+
Vagrant::ActiveList.expects(:remove).with(@vm)
|
226
|
+
Vagrant::Env.depersist_vm(@vm)
|
155
227
|
end
|
156
228
|
end
|
157
229
|
|
@@ -191,7 +263,7 @@ class EnvTest < Test::Unit::TestCase
|
|
191
263
|
context "loading the root path" do
|
192
264
|
should "default the path to the pwd if nil" do
|
193
265
|
@path = mock("path")
|
194
|
-
@path.stubs(:
|
266
|
+
@path.stubs(:root?).returns(true)
|
195
267
|
Pathname.expects(:new).with(Dir.pwd).returns(@path)
|
196
268
|
Vagrant::Env.load_root_path!(nil)
|
197
269
|
end
|
@@ -199,7 +271,9 @@ class EnvTest < Test::Unit::TestCase
|
|
199
271
|
should "not default the path to pwd if its not nil" do
|
200
272
|
@path = mock("path")
|
201
273
|
@path.stubs(:to_s).returns("/")
|
202
|
-
|
274
|
+
File.expects(:expand_path).with(@path).returns("/")
|
275
|
+
Pathname.expects(:new).with("/").returns(@path)
|
276
|
+
@path.stubs(:root?).returns(true)
|
203
277
|
Vagrant::Env.load_root_path!(@path)
|
204
278
|
end
|
205
279
|
|
@@ -224,8 +298,13 @@ class EnvTest < Test::Unit::TestCase
|
|
224
298
|
end
|
225
299
|
|
226
300
|
should "return false if not found on windows-style root" do
|
227
|
-
|
228
|
-
|
301
|
+
# TODO: Is there _any_ way to test this on unix machines? The
|
302
|
+
# expand path doesn't work [properly for the test] on unix machines.
|
303
|
+
if RUBY_PLATFORM.downcase.include?("mswin")
|
304
|
+
# Note the escaped back slash
|
305
|
+
path = Pathname.new("C:\\")
|
306
|
+
assert !Vagrant::Env.load_root_path!(path)
|
307
|
+
end
|
229
308
|
end
|
230
309
|
|
231
310
|
should "should set the path for the rootfile" do
|
@@ -283,12 +362,6 @@ class EnvTest < Test::Unit::TestCase
|
|
283
362
|
Vagrant::Env.load_box!
|
284
363
|
assert @box.equal?(Vagrant::Env.box)
|
285
364
|
end
|
286
|
-
|
287
|
-
should "load the config if a box is loaded" do
|
288
|
-
Vagrant::Env.expects(:load_config!).once
|
289
|
-
Vagrant::Box.expects(:find).returns(@box)
|
290
|
-
Vagrant::Env.load_box!
|
291
|
-
end
|
292
365
|
end
|
293
366
|
|
294
367
|
context "requiring boxes" do
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
|
2
|
+
|
3
|
+
class BaseProvisionerTest < Test::Unit::TestCase
|
4
|
+
should "include the util class so subclasses have access to it" do
|
5
|
+
assert Vagrant::Provisioners::Base.include?(Vagrant::Util)
|
6
|
+
end
|
7
|
+
|
8
|
+
context "base instance" do
|
9
|
+
setup do
|
10
|
+
@base = Vagrant::Provisioners::Base.new
|
11
|
+
end
|
12
|
+
|
13
|
+
should "implement provision! which does nothing" do
|
14
|
+
assert_nothing_raised do
|
15
|
+
assert @base.respond_to?(:provision!)
|
16
|
+
@base.provision!
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
should "implement prepare which does nothing" do
|
21
|
+
assert_nothing_raised do
|
22
|
+
assert @base.respond_to?(:prepare)
|
23
|
+
@base.prepare
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|