test-kitchen 1.14.1 → 1.14.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/Berksfile +1 -1
  3. data/CHANGELOG.md +7 -0
  4. data/Gemfile +1 -1
  5. data/Guardfile +5 -5
  6. data/Rakefile +5 -5
  7. data/bin/kitchen +1 -1
  8. data/features/step_definitions/gem_steps.rb +6 -6
  9. data/features/support/env.rb +6 -7
  10. data/lib/kitchen.rb +5 -7
  11. data/lib/kitchen/base64_stream.rb +2 -8
  12. data/lib/kitchen/cli.rb +76 -80
  13. data/lib/kitchen/collection.rb +0 -2
  14. data/lib/kitchen/color.rb +7 -9
  15. data/lib/kitchen/command.rb +0 -4
  16. data/lib/kitchen/command/action.rb +0 -3
  17. data/lib/kitchen/command/console.rb +4 -7
  18. data/lib/kitchen/command/diagnose.rb +7 -14
  19. data/lib/kitchen/command/driver_discover.rb +1 -4
  20. data/lib/kitchen/command/exec.rb +0 -3
  21. data/lib/kitchen/command/list.rb +9 -12
  22. data/lib/kitchen/command/login.rb +0 -3
  23. data/lib/kitchen/command/package.rb +0 -3
  24. data/lib/kitchen/command/sink.rb +6 -9
  25. data/lib/kitchen/command/test.rb +1 -4
  26. data/lib/kitchen/config.rb +25 -27
  27. data/lib/kitchen/configurable.rb +26 -31
  28. data/lib/kitchen/data_munger.rb +34 -36
  29. data/lib/kitchen/diagnostic.rb +5 -7
  30. data/lib/kitchen/driver.rb +3 -5
  31. data/lib/kitchen/driver/base.rb +0 -3
  32. data/lib/kitchen/driver/dummy.rb +0 -3
  33. data/lib/kitchen/driver/proxy.rb +0 -3
  34. data/lib/kitchen/driver/ssh_base.rb +13 -16
  35. data/lib/kitchen/errors.rb +11 -16
  36. data/lib/kitchen/generator/driver_create.rb +18 -21
  37. data/lib/kitchen/generator/init.rb +21 -26
  38. data/lib/kitchen/instance.rb +19 -23
  39. data/lib/kitchen/lazy_hash.rb +1 -2
  40. data/lib/kitchen/loader/yaml.rb +22 -25
  41. data/lib/kitchen/logger.rb +9 -14
  42. data/lib/kitchen/logging.rb +0 -3
  43. data/lib/kitchen/login_command.rb +0 -2
  44. data/lib/kitchen/metadata_chopper.rb +0 -2
  45. data/lib/kitchen/platform.rb +1 -3
  46. data/lib/kitchen/provisioner.rb +3 -5
  47. data/lib/kitchen/provisioner/base.rb +2 -5
  48. data/lib/kitchen/provisioner/chef/berkshelf.rb +1 -5
  49. data/lib/kitchen/provisioner/chef/common_sandbox.rb +24 -29
  50. data/lib/kitchen/provisioner/chef/librarian.rb +2 -6
  51. data/lib/kitchen/provisioner/chef/policyfile.rb +4 -8
  52. data/lib/kitchen/provisioner/chef_apply.rb +14 -17
  53. data/lib/kitchen/provisioner/chef_base.rb +43 -46
  54. data/lib/kitchen/provisioner/chef_solo.rb +10 -13
  55. data/lib/kitchen/provisioner/chef_zero.rb +22 -29
  56. data/lib/kitchen/provisioner/dummy.rb +0 -3
  57. data/lib/kitchen/provisioner/shell.rb +6 -9
  58. data/lib/kitchen/rake_tasks.rb +4 -6
  59. data/lib/kitchen/shell_out.rb +3 -5
  60. data/lib/kitchen/ssh.rb +16 -22
  61. data/lib/kitchen/state_file.rb +3 -5
  62. data/lib/kitchen/suite.rb +0 -2
  63. data/lib/kitchen/thor_tasks.rb +2 -4
  64. data/lib/kitchen/transport.rb +3 -5
  65. data/lib/kitchen/transport/base.rb +1 -7
  66. data/lib/kitchen/transport/dummy.rb +0 -4
  67. data/lib/kitchen/transport/ssh.rb +41 -47
  68. data/lib/kitchen/transport/winrm.rb +41 -40
  69. data/lib/kitchen/util.rb +1 -3
  70. data/lib/kitchen/verifier.rb +3 -5
  71. data/lib/kitchen/verifier/base.rb +2 -5
  72. data/lib/kitchen/verifier/busser.rb +24 -24
  73. data/lib/kitchen/verifier/dummy.rb +0 -3
  74. data/lib/kitchen/verifier/shell.rb +1 -3
  75. data/lib/kitchen/version.rb +1 -1
  76. data/lib/vendor/hash_recursive_merge.rb +0 -2
  77. data/spec/kitchen/base64_stream_spec.rb +3 -6
  78. data/spec/kitchen/cli_spec.rb +0 -2
  79. data/spec/kitchen/collection_spec.rb +4 -8
  80. data/spec/kitchen/color_spec.rb +0 -3
  81. data/spec/kitchen/config_spec.rb +91 -106
  82. data/spec/kitchen/configurable_spec.rb +44 -76
  83. data/spec/kitchen/data_munger_spec.rb +1178 -1247
  84. data/spec/kitchen/diagnostic_spec.rb +37 -38
  85. data/spec/kitchen/driver/base_spec.rb +7 -14
  86. data/spec/kitchen/driver/dummy_spec.rb +1 -7
  87. data/spec/kitchen/driver/proxy_spec.rb +2 -7
  88. data/spec/kitchen/driver/ssh_base_spec.rb +128 -149
  89. data/spec/kitchen/driver_spec.rb +7 -13
  90. data/spec/kitchen/errors_spec.rb +50 -60
  91. data/spec/kitchen/instance_spec.rb +217 -294
  92. data/spec/kitchen/lazy_hash_spec.rb +14 -18
  93. data/spec/kitchen/loader/yaml_spec.rb +201 -227
  94. data/spec/kitchen/logger_spec.rb +7 -15
  95. data/spec/kitchen/logging_spec.rb +1 -4
  96. data/spec/kitchen/login_command_spec.rb +3 -4
  97. data/spec/kitchen/metadata_chopper_spec.rb +0 -3
  98. data/spec/kitchen/platform_spec.rb +31 -32
  99. data/spec/kitchen/provisioner/base_spec.rb +22 -41
  100. data/spec/kitchen/provisioner/chef/policyfile_spec.rb +15 -15
  101. data/spec/kitchen/provisioner/chef_apply_spec.rb +8 -13
  102. data/spec/kitchen/provisioner/chef_base_spec.rb +150 -182
  103. data/spec/kitchen/provisioner/chef_solo_spec.rb +58 -72
  104. data/spec/kitchen/provisioner/chef_zero_spec.rb +99 -125
  105. data/spec/kitchen/provisioner/dummy_spec.rb +8 -11
  106. data/spec/kitchen/provisioner/shell_spec.rb +86 -103
  107. data/spec/kitchen/provisioner_spec.rb +5 -11
  108. data/spec/kitchen/shell_out_spec.rb +15 -19
  109. data/spec/kitchen/ssh_spec.rb +16 -35
  110. data/spec/kitchen/state_file_spec.rb +6 -11
  111. data/spec/kitchen/suite_spec.rb +5 -6
  112. data/spec/kitchen/transport/base_spec.rb +6 -14
  113. data/spec/kitchen/transport/ssh_spec.rb +39 -64
  114. data/spec/kitchen/transport/winrm_spec.rb +99 -127
  115. data/spec/kitchen/transport_spec.rb +7 -13
  116. data/spec/kitchen/util_spec.rb +17 -26
  117. data/spec/kitchen/verifier/base_spec.rb +24 -40
  118. data/spec/kitchen/verifier/busser_spec.rb +38 -68
  119. data/spec/kitchen/verifier/dummy_spec.rb +8 -11
  120. data/spec/kitchen/verifier/shell_spec.rb +14 -17
  121. data/spec/kitchen/verifier_spec.rb +7 -13
  122. data/spec/kitchen_spec.rb +4 -6
  123. data/spec/spec_helper.rb +1 -1
  124. data/spec/support/powershell_max_size_spec.rb +1 -2
  125. data/support/chef-client-zero.rb +3 -4
  126. data/test-kitchen.gemspec +4 -6
  127. metadata +9 -9
@@ -25,14 +25,11 @@ require "kitchen/transport"
25
25
  require "kitchen/transport/base"
26
26
 
27
27
  module Kitchen
28
-
29
28
  module Transport
30
-
31
29
  class Coolbeans < Kitchen::Transport::Base
32
30
  end
33
31
 
34
32
  class ItDepends < Kitchen::Transport::Base
35
-
36
33
  attr_reader :verify_call_count
37
34
 
38
35
  def initialize(config = {})
@@ -46,7 +43,6 @@ module Kitchen
46
43
  end
47
44
 
48
45
  class UnstableDepends < Kitchen::Transport::Base
49
-
50
46
  def verify_dependencies
51
47
  raise UserError, "Oh noes, you don't have software!"
52
48
  end
@@ -55,9 +51,7 @@ module Kitchen
55
51
  end
56
52
 
57
53
  describe Kitchen::Transport do
58
-
59
54
  describe ".for_plugin" do
60
-
61
55
  before do
62
56
  Kitchen::Transport.stubs(:require).returns(true)
63
57
  end
@@ -69,7 +63,7 @@ describe Kitchen::Transport do
69
63
  end
70
64
 
71
65
  it "returns a transport initialized with its config" do
72
- transport = Kitchen::Transport.for_plugin("coolbeans", :foo => "bar")
66
+ transport = Kitchen::Transport.for_plugin("coolbeans", foo: "bar")
73
67
 
74
68
  transport[:foo].must_equal "bar"
75
69
  end
@@ -92,21 +86,21 @@ describe Kitchen::Transport do
92
86
  it "raises ClientError if the transport could not be required" do
93
87
  Kitchen::Transport.stubs(:require).raises(LoadError)
94
88
 
95
- proc { Kitchen::Transport.for_plugin("coolbeans", {}) }.
96
- must_raise Kitchen::ClientError
89
+ proc { Kitchen::Transport.for_plugin("coolbeans", {}) }
90
+ .must_raise Kitchen::ClientError
97
91
  end
98
92
 
99
93
  it "raises ClientError if the transport's class constant was not found" do
100
94
  # pretend require worked
101
95
  Kitchen::Transport.stubs(:require).returns(true)
102
96
 
103
- proc { Kitchen::Transport.for_plugin("nope", {}) }.
104
- must_raise Kitchen::ClientError
97
+ proc { Kitchen::Transport.for_plugin("nope", {}) }
98
+ .must_raise Kitchen::ClientError
105
99
  end
106
100
 
107
101
  it "raises UserError if #verify_dependencies failes" do
108
- proc { Kitchen::Transport.for_plugin("unstable_depends", {}) }.
109
- must_raise Kitchen::UserError
102
+ proc { Kitchen::Transport.for_plugin("unstable_depends", {}) }
103
+ .must_raise Kitchen::UserError
110
104
  end
111
105
  end
112
106
  end
@@ -23,56 +23,51 @@ require "logger"
23
23
  require "kitchen/util"
24
24
 
25
25
  describe Kitchen::Util do
26
-
27
26
  describe ".to_logger_level" do
28
-
29
27
  it "returns nil for invalid symbols" do
30
28
  Kitchen::Util.to_logger_level(:nope).must_be_nil
31
29
  end
32
30
 
33
- %w[debug info warn error fatal].each do |level|
31
+ %w{debug info warn error fatal}.each do |level|
34
32
  it "returns Logger::#{level.upcase} for :#{level} input" do
35
- Kitchen::Util.to_logger_level(level.to_sym).
36
- must_equal Logger.const_get(level.upcase)
33
+ Kitchen::Util.to_logger_level(level.to_sym)
34
+ .must_equal Logger.const_get(level.upcase)
37
35
  end
38
36
  end
39
37
  end
40
38
 
41
39
  describe ".from_logger_level" do
42
-
43
40
  it "returns :fatal for invalid symbols" do
44
41
  Kitchen::Util.from_logger_level("nope").must_equal :fatal
45
42
  end
46
43
 
47
- %w[debug info warn error fatal].each do |level|
44
+ %w{debug info warn error fatal}.each do |level|
48
45
  it "returns :#{level} for Logger::#{level.upcase} input" do
49
- Kitchen::Util.from_logger_level(Logger.const_get(level.upcase)).
50
- must_equal(level.to_sym)
46
+ Kitchen::Util.from_logger_level(Logger.const_get(level.upcase))
47
+ .must_equal(level.to_sym)
51
48
  end
52
49
  end
53
50
  end
54
51
 
55
52
  describe ".symbolized_hash" do
56
-
57
53
  it "returns itself if not a hash" do
58
54
  obj = Object.new
59
55
  Kitchen::Util.symbolized_hash(obj).must_equal obj
60
56
  end
61
57
 
62
58
  it "preserves a symbolized hash" do
63
- hash = { :one => [{ :two => "three" }] }
59
+ hash = { one: [{ two: "three" }] }
64
60
  Kitchen::Util.symbolized_hash(hash).must_equal hash
65
61
  end
66
62
 
67
63
  it "converts string keys into symbols" do
68
- Kitchen::Util.
69
- symbolized_hash("one" => [{ "two" => :three, :four => "five" }]).
70
- must_equal(:one => [{ :two => :three, :four => "five" }])
64
+ Kitchen::Util
65
+ .symbolized_hash("one" => [{ "two" => :three, :four => "five" }])
66
+ .must_equal(one: [{ two: :three, four: "five" }])
71
67
  end
72
68
  end
73
69
 
74
70
  describe ".stringified_hash" do
75
-
76
71
  it "returns itself if not a hash" do
77
72
  obj = Object.new
78
73
  Kitchen::Util.stringified_hash(obj).must_equal obj
@@ -84,14 +79,13 @@ describe Kitchen::Util do
84
79
  end
85
80
 
86
81
  it "converts symbol keys into strings" do
87
- Kitchen::Util.
88
- stringified_hash(:one => [{ :two => :three, "four" => "five" }]).
89
- must_equal("one" => [{ "two" => :three, "four" => "five" }])
82
+ Kitchen::Util
83
+ .stringified_hash(one: [{ :two => :three, "four" => "five" }])
84
+ .must_equal("one" => [{ "two" => :three, "four" => "five" }])
90
85
  end
91
86
  end
92
87
 
93
88
  describe ".duration" do
94
-
95
89
  it "turns nil into a zero" do
96
90
  Kitchen::Util.duration(nil).must_equal "(0m0.00s)"
97
91
  end
@@ -101,12 +95,11 @@ describe Kitchen::Util do
101
95
  end
102
96
 
103
97
  it "formats large values into minutes and seconds" do
104
- Kitchen::Util.duration(48033).must_equal "(800m33.00s)"
98
+ Kitchen::Util.duration(48_033).must_equal "(800m33.00s)"
105
99
  end
106
100
  end
107
101
 
108
102
  describe ".wrap_unix_command" do
109
-
110
103
  it "returns the wrapped command" do
111
104
  end
112
105
 
@@ -124,7 +117,6 @@ describe Kitchen::Util do
124
117
  end
125
118
 
126
119
  describe ".outdent!" do
127
-
128
120
  it "modifies the argument string in place, destructively" do
129
121
  string = "yep"
130
122
 
@@ -145,10 +137,9 @@ describe Kitchen::Util do
145
137
  end
146
138
 
147
139
  describe ".shell_helpers" do
148
-
149
- %w[
140
+ %w{
150
141
  exists do_wget do_curl do_fetch do_perl do_python do_download
151
- ].each do |func|
142
+ }.each do |func|
152
143
  it "contains a #{func} shell function" do
153
144
  Kitchen::Util.shell_helpers.must_match "#{func}() {"
154
145
  end
@@ -159,7 +150,7 @@ describe Kitchen::Util do
159
150
  end
160
151
 
161
152
  def regexify(str)
162
- Regexp.new("^\s+" + Regexp.escape(str) + "$")
153
+ Regexp.new("^ +" + Regexp.escape(str) + "$")
163
154
  end
164
155
  end
165
156
  end
@@ -26,11 +26,8 @@ require "kitchen/verifier/base"
26
26
  require "kitchen/transport/base"
27
27
 
28
28
  module Kitchen
29
-
30
29
  module Verifier
31
-
32
30
  class TestingDummy < Kitchen::Verifier::Base
33
-
34
31
  attr_reader :called_create_sandbox, :called_cleanup_sandbox
35
32
 
36
33
  def install_command
@@ -65,11 +62,10 @@ module Kitchen
65
62
  end
66
63
 
67
64
  describe Kitchen::Verifier::Base do
68
-
69
65
  let(:logged_output) { StringIO.new }
70
66
  let(:logger) { Logger.new(logged_output) }
71
- let(:platform) { stub(:os_type => nil, :shell_type => nil) }
72
- let(:suite) { stub(:name => "germany") }
67
+ let(:platform) { stub(os_type: nil, shell_type: nil) }
68
+ let(:suite) { stub(name: "germany") }
73
69
  let(:config) { Hash.new }
74
70
 
75
71
  let(:transport) do
@@ -80,12 +76,12 @@ describe Kitchen::Verifier::Base do
80
76
 
81
77
  let(:instance) do
82
78
  stub(
83
- :name => "coolbeans",
84
- :to_str => "instance",
85
- :logger => logger,
86
- :platform => platform,
87
- :suite => suite,
88
- :transport => transport
79
+ name: "coolbeans",
80
+ to_str: "instance",
81
+ logger: logger,
82
+ platform: platform,
83
+ suite: suite,
84
+ transport: transport
89
85
  )
90
86
  end
91
87
 
@@ -94,9 +90,7 @@ describe Kitchen::Verifier::Base do
94
90
  end
95
91
 
96
92
  describe "configuration" do
97
-
98
93
  describe "for unix operating systems" do
99
-
100
94
  before { platform.stubs(:os_type).returns("unix") }
101
95
 
102
96
  it ":sudo defaults to true" do
@@ -113,7 +107,6 @@ describe Kitchen::Verifier::Base do
113
107
  end
114
108
 
115
109
  describe "for windows operating systems" do
116
-
117
110
  before { platform.stubs(:os_type).returns("windows") }
118
111
 
119
112
  it ":sudo defaults to nil" do
@@ -124,8 +117,8 @@ describe Kitchen::Verifier::Base do
124
117
  verifier[:sudo_command].must_equal nil
125
118
  end
126
119
 
127
- it ":root_path defaults to $env:TEMP\\verifier" do
128
- verifier[:root_path].must_equal "$env:TEMP\\verifier"
120
+ it ':root_path defaults to $env:TEMP\\verifier' do
121
+ verifier[:root_path].must_equal '$env:TEMP\\verifier'
129
122
  end
130
123
  end
131
124
 
@@ -147,7 +140,6 @@ describe Kitchen::Verifier::Base do
147
140
  end
148
141
 
149
142
  describe "#call" do
150
-
151
143
  let(:state) { Hash.new }
152
144
  let(:cmd) { verifier.call(state) }
153
145
 
@@ -210,8 +202,8 @@ describe Kitchen::Verifier::Base do
210
202
  it "logs to info" do
211
203
  cmd
212
204
 
213
- logged_output.string.
214
- must_match(/INFO -- : Transferring files to instance$/)
205
+ logged_output.string
206
+ .must_match(/INFO -- : Transferring files to instance$/)
215
207
  end
216
208
 
217
209
  it "uploads sandbox files" do
@@ -227,29 +219,27 @@ describe Kitchen::Verifier::Base do
227
219
  end
228
220
 
229
221
  it "raises an ActionFailed on transfer when TransportFailed is raised" do
230
- connection.stubs(:upload).
231
- raises(Kitchen::Transport::TransportFailed.new("dang"))
222
+ connection.stubs(:upload)
223
+ .raises(Kitchen::Transport::TransportFailed.new("dang"))
232
224
 
233
225
  proc { cmd }.must_raise Kitchen::ActionFailed
234
226
  end
235
227
 
236
228
  it "raises an ActionFailed on execute when TransportFailed is raised" do
237
- connection.stubs(:execute).
238
- raises(Kitchen::Transport::TransportFailed.new("dang"))
229
+ connection.stubs(:execute)
230
+ .raises(Kitchen::Transport::TransportFailed.new("dang"))
239
231
 
240
232
  proc { cmd }.must_raise Kitchen::ActionFailed
241
233
  end
242
234
  end
243
235
 
244
236
  [:init_command, :install_command, :prepare_command, :run_command].each do |cmd|
245
-
246
237
  it "has a #{cmd} method" do
247
238
  verifier.public_send(cmd).must_be_nil
248
239
  end
249
240
  end
250
241
 
251
242
  describe "sandbox" do
252
-
253
243
  after do
254
244
  begin
255
245
  verifier.cleanup_sandbox
@@ -265,8 +255,8 @@ describe Kitchen::Verifier::Base do
265
255
  verifier.create_sandbox
266
256
 
267
257
  File.directory?(verifier.sandbox_path).must_equal true
268
- format("%o", File.stat(verifier.sandbox_path).mode)[1, 4].
269
- must_equal "0755"
258
+ format("%o", File.stat(verifier.sandbox_path).mode)[1, 4]
259
+ .must_equal "0755"
270
260
  end
271
261
 
272
262
  it "#create_sandbox logs an info message" do
@@ -278,8 +268,8 @@ describe Kitchen::Verifier::Base do
278
268
  it "#create_sandbox logs a debug message" do
279
269
  verifier.create_sandbox
280
270
 
281
- logged_output.string.
282
- must_match debug_line_starting_with("Creating local sandbox in ")
271
+ logged_output.string
272
+ .must_match debug_line_starting_with("Creating local sandbox in ")
283
273
  end
284
274
 
285
275
  it "#cleanup_sandbox deletes the sandbox directory" do
@@ -293,23 +283,21 @@ describe Kitchen::Verifier::Base do
293
283
  verifier.create_sandbox
294
284
  verifier.cleanup_sandbox
295
285
 
296
- logged_output.string.
297
- must_match debug_line_starting_with("Cleaning up local sandbox in ")
286
+ logged_output.string
287
+ .must_match debug_line_starting_with("Cleaning up local sandbox in ")
298
288
  end
299
289
 
300
290
  def info_line(msg)
301
- %r{^I, .* : #{Regexp.escape(msg)}$}
291
+ /^I, .* : #{Regexp.escape(msg)}$/
302
292
  end
303
293
 
304
294
  def debug_line_starting_with(msg)
305
- %r{^D, .* : #{Regexp.escape(msg)}}
295
+ /^D, .* : #{Regexp.escape(msg)}/
306
296
  end
307
297
  end
308
298
 
309
299
  describe "#sudo" do
310
-
311
300
  describe "with :sudo set" do
312
-
313
301
  before { config[:sudo] = true }
314
302
 
315
303
  it "prepends sudo command" do
@@ -324,7 +312,6 @@ describe Kitchen::Verifier::Base do
324
312
  end
325
313
 
326
314
  describe "with :sudo falsey" do
327
-
328
315
  before { config[:sudo] = false }
329
316
 
330
317
  it "does not include sudo command" do
@@ -340,9 +327,7 @@ describe Kitchen::Verifier::Base do
340
327
  end
341
328
 
342
329
  describe "#prefix_command" do
343
-
344
330
  describe "with :command_prefix set" do
345
-
346
331
  before { config[:command_prefix] = "my_prefix" }
347
332
 
348
333
  it "prepends the command with the prefix" do
@@ -351,7 +336,6 @@ describe Kitchen::Verifier::Base do
351
336
  end
352
337
 
353
338
  describe "with :command_prefix unset" do
354
-
355
339
  before { config[:command_prefix] = nil }
356
340
 
357
341
  it "returns an unaltered command" do
@@ -22,20 +22,19 @@ require "kitchen"
22
22
  require "kitchen/verifier/busser"
23
23
 
24
24
  describe Kitchen::Verifier::Busser do
25
-
26
25
  let(:logged_output) { StringIO.new }
27
26
  let(:logger) { Logger.new(logged_output) }
28
27
  let(:config) { Hash.new }
29
- let(:platform) { stub(:os_type => nil, :shell_type => nil) }
30
- let(:suite) { stub(:name => "germany") }
28
+ let(:platform) { stub(os_type: nil, shell_type: nil) }
29
+ let(:suite) { stub(name: "germany") }
31
30
 
32
31
  let(:instance) do
33
32
  stub(
34
- :name => "coolbeans",
35
- :logger => logger,
36
- :platform => platform,
37
- :suite => suite,
38
- :to_str => "instance"
33
+ name: "coolbeans",
34
+ logger: logger,
35
+ platform: platform,
36
+ suite: suite,
37
+ to_str: "instance"
39
38
  )
40
39
  end
41
40
 
@@ -46,30 +45,30 @@ describe Kitchen::Verifier::Busser do
46
45
  let(:files) do
47
46
  {
48
47
  "mondospec/charlie" => {
49
- :content => "charlie",
50
- :perms => (running_tests_on_windows? ? "0644" : "0764")
48
+ content: "charlie",
49
+ perms: (running_tests_on_windows? ? "0644" : "0764"),
51
50
  },
52
51
  "minispec/beta" => {
53
- :content => "beta",
54
- :perms => "0644"
52
+ content: "beta",
53
+ perms: "0644",
55
54
  },
56
55
  "abba/alpha" => {
57
- :content => "alpha",
58
- :perms => (running_tests_on_windows? ? "0444" : "0440")
59
- }
56
+ content: "alpha",
57
+ perms: (running_tests_on_windows? ? "0444" : "0440"),
58
+ },
60
59
  }
61
60
  end
62
61
 
63
62
  let(:helper_files) do
64
63
  {
65
64
  "minispec/spec_helper" => {
66
- :content => "helping",
67
- :perms => "0644"
65
+ content: "helping",
66
+ perms: "0644",
68
67
  },
69
68
  "abba/common" => {
70
- :content => "yeppers",
71
- :perms => (running_tests_on_windows? ? "0644" : "0664")
72
- }
69
+ content: "yeppers",
70
+ perms: (running_tests_on_windows? ? "0644" : "0664"),
71
+ },
73
72
  }
74
73
  end
75
74
 
@@ -98,12 +97,10 @@ describe Kitchen::Verifier::Busser do
98
97
  end
99
98
 
100
99
  describe "configuration" do
101
-
102
100
  describe "for unix operating systems" do
103
-
104
- before {
101
+ before do
105
102
  platform.stubs(:os_type).returns("unix")
106
- }
103
+ end
107
104
 
108
105
  it ":ruby_bindir defaults the an Omnibus Chef installation" do
109
106
  verifier[:ruby_bindir].must_equal "/opt/chef/embedded/bin"
@@ -117,18 +114,17 @@ describe Kitchen::Verifier::Busser do
117
114
  end
118
115
 
119
116
  describe "for windows operating systems" do
120
-
121
117
  before { platform.stubs(:os_type).returns("windows") }
122
118
 
123
119
  it ":ruby_bindir defaults the an Omnibus Chef installation" do
124
- verifier[:ruby_bindir].
125
- must_equal "$env:systemdrive\\opscode\\chef\\embedded\\bin"
120
+ verifier[:ruby_bindir]
121
+ .must_equal '$env:systemdrive\\opscode\\chef\\embedded\\bin'
126
122
  end
127
123
 
128
124
  it ":busser_bin defaults to a binstub under :root_path" do
129
- config[:root_path] = "\\beep"
125
+ config[:root_path] = '\\beep'
130
126
 
131
- verifier[:busser_bin].must_equal "\\beep\\bin\\busser.bat"
127
+ verifier[:busser_bin].must_equal '\\beep\\bin\\busser.bat'
132
128
  end
133
129
  end
134
130
 
@@ -183,13 +179,10 @@ describe Kitchen::Verifier::Busser do
183
179
  end
184
180
 
185
181
  describe "#install_command" do
186
-
187
182
  let(:cmd) { verifier.install_command }
188
183
 
189
184
  describe "with no suite test files" do
190
-
191
185
  describe "for bourne shells" do
192
-
193
186
  before { platform.stubs(:shell_type).returns("bourne") }
194
187
 
195
188
  it "returns nil" do
@@ -198,7 +191,6 @@ describe Kitchen::Verifier::Busser do
198
191
  end
199
192
 
200
193
  describe "for powershell shells on windows os types" do
201
-
202
194
  before do
203
195
  platform.stubs(:shell_type).returns("powershell")
204
196
  platform.stubs(:os_type).returns("windows")
@@ -211,9 +203,7 @@ describe Kitchen::Verifier::Busser do
211
203
  end
212
204
 
213
205
  describe "with suite test files" do
214
-
215
206
  describe "common behavior" do
216
-
217
207
  before do
218
208
  platform.stubs(:shell_type).returns("fake")
219
209
  create_test_files
@@ -233,7 +223,6 @@ describe Kitchen::Verifier::Busser do
233
223
  end
234
224
 
235
225
  describe "for bourne shells" do
236
-
237
226
  before do
238
227
  platform.stubs(:shell_type).returns("bourne")
239
228
  create_test_files
@@ -259,8 +248,8 @@ describe Kitchen::Verifier::Busser do
259
248
 
260
249
  it "sets gem install arguments" do
261
250
  cmd.must_match regexify(
262
- "gem_install_args=\"busser --no-rdoc --no-ri --no-format-executable" \
263
- " -n /r/bin --no-user-install\""
251
+ 'gem_install_args="busser --no-rdoc --no-ri --no-format-executable' \
252
+ ' -n /r/bin --no-user-install"'
264
253
  )
265
254
  end
266
255
 
@@ -281,13 +270,12 @@ describe Kitchen::Verifier::Busser do
281
270
  end
282
271
 
283
272
  describe "for powershell shells on windows os types" do
284
-
285
273
  before do
286
274
  platform.stubs(:shell_type).returns("powershell")
287
275
  platform.stubs(:os_type).returns("windows")
288
276
  create_test_files
289
- config[:ruby_bindir] = "\\rbd"
290
- config[:root_path] = "\\r"
277
+ config[:ruby_bindir] = '\\rbd'
278
+ config[:root_path] = '\\r'
291
279
  end
292
280
 
293
281
  common_powershell_variable_specs
@@ -308,8 +296,8 @@ describe Kitchen::Verifier::Busser do
308
296
 
309
297
  it "sets gem install arguments" do
310
298
  cmd.must_match regexify(
311
- "$gem_install_args = \"busser --no-rdoc --no-ri --no-format-executable" \
312
- " -n \\r\\bin --no-user-install\""
299
+ '$gem_install_args = "busser --no-rdoc --no-ri --no-format-executable' \
300
+ ' -n \\r\\bin --no-user-install"'
313
301
  )
314
302
  end
315
303
 
@@ -326,13 +314,10 @@ describe Kitchen::Verifier::Busser do
326
314
  end
327
315
 
328
316
  describe "#init_command" do
329
-
330
317
  let(:cmd) { verifier.init_command }
331
318
 
332
319
  describe "with no suite test files" do
333
-
334
320
  describe "for bourne shells" do
335
-
336
321
  before { platform.stubs(:shell_type).returns("bourne") }
337
322
 
338
323
  it "returns nil" do
@@ -341,7 +326,6 @@ describe Kitchen::Verifier::Busser do
341
326
  end
342
327
 
343
328
  describe "for powershell shells on windows os types" do
344
-
345
329
  before do
346
330
  platform.stubs(:shell_type).returns("powershell")
347
331
  platform.stubs(:os_type).returns("windows")
@@ -354,9 +338,7 @@ describe Kitchen::Verifier::Busser do
354
338
  end
355
339
 
356
340
  describe "with suite test files" do
357
-
358
341
  describe "common behavior" do
359
-
360
342
  before do
361
343
  platform.stubs(:shell_type).returns("fake")
362
344
  create_test_files
@@ -376,7 +358,6 @@ describe Kitchen::Verifier::Busser do
376
358
  end
377
359
 
378
360
  describe "for bourne shells" do
379
-
380
361
  before do
381
362
  platform.stubs(:shell_type).returns("bourne")
382
363
  create_test_files
@@ -403,19 +384,18 @@ describe Kitchen::Verifier::Busser do
403
384
  end
404
385
 
405
386
  describe "for powershell shells on windows os types" do
406
-
407
387
  before do
408
388
  platform.stubs(:shell_type).returns("powershell")
409
389
  platform.stubs(:os_type).returns("windows")
410
390
  create_test_files
411
- config[:ruby_bindir] = "\\rbd"
412
- config[:root_path] = "\\r"
391
+ config[:ruby_bindir] = '\\rbd'
392
+ config[:root_path] = '\\r'
413
393
  end
414
394
 
415
395
  common_powershell_variable_specs
416
396
 
417
397
  it "runs busser's suite cleanup" do
418
- config[:root_path] = "\\b"
398
+ config[:root_path] = '\\b'
419
399
 
420
400
  cmd.must_match regexify(%{& \\b\\bin\\busser.bat suite cleanup})
421
401
  end
@@ -424,13 +404,10 @@ describe Kitchen::Verifier::Busser do
424
404
  end
425
405
 
426
406
  describe "#run_command" do
427
-
428
407
  let(:cmd) { verifier.run_command }
429
408
 
430
409
  describe "with no suite test files" do
431
-
432
410
  describe "for bourne shells" do
433
-
434
411
  before { platform.stubs(:shell_type).returns("bourne") }
435
412
 
436
413
  it "returns nil" do
@@ -439,7 +416,6 @@ describe Kitchen::Verifier::Busser do
439
416
  end
440
417
 
441
418
  describe "for powershell shells on windows os types" do
442
-
443
419
  before do
444
420
  platform.stubs(:shell_type).returns("powershell")
445
421
  platform.stubs(:os_type).returns("windows")
@@ -452,9 +428,7 @@ describe Kitchen::Verifier::Busser do
452
428
  end
453
429
 
454
430
  describe "with suite test files" do
455
-
456
431
  describe "common behavior" do
457
-
458
432
  before do
459
433
  platform.stubs(:shell_type).returns("fake")
460
434
  create_test_files
@@ -474,7 +448,6 @@ describe Kitchen::Verifier::Busser do
474
448
  end
475
449
 
476
450
  describe "for bourne shells" do
477
-
478
451
  before do
479
452
  platform.stubs(:shell_type).returns("bourne")
480
453
  create_test_files
@@ -501,19 +474,18 @@ describe Kitchen::Verifier::Busser do
501
474
  end
502
475
 
503
476
  describe "for powershell shells on windows os types" do
504
-
505
477
  before do
506
478
  platform.stubs(:shell_type).returns("powershell")
507
479
  platform.stubs(:os_type).returns("windows")
508
480
  create_test_files
509
- config[:ruby_bindir] = "\\rbd"
510
- config[:root_path] = "\\r"
481
+ config[:ruby_bindir] = '\\rbd'
482
+ config[:root_path] = '\\r'
511
483
  end
512
484
 
513
485
  common_powershell_variable_specs
514
486
 
515
487
  it "runs busser's test" do
516
- config[:root_path] = "\\b"
488
+ config[:root_path] = '\\b'
517
489
 
518
490
  cmd.must_match regexify(%{& \\b\\bin\\busser.bat test})
519
491
  end
@@ -522,7 +494,6 @@ describe Kitchen::Verifier::Busser do
522
494
  end
523
495
 
524
496
  describe "#create_sandbox" do
525
-
526
497
  before do
527
498
  create_test_files
528
499
  end
@@ -557,7 +528,6 @@ describe Kitchen::Verifier::Busser do
557
528
  end
558
529
 
559
530
  describe "Busser legacy behavior for code calling old method names" do
560
-
561
531
  let(:busser) { verifier }
562
532
 
563
533
  it "responds to #setup_cmd which calls #install_command" do
@@ -605,6 +575,6 @@ describe Kitchen::Verifier::Busser do
605
575
  end
606
576
 
607
577
  def warn_line_with(msg)
608
- %r{^W, .* : #{Regexp.escape(msg)}}
578
+ /^W, .* : #{Regexp.escape(msg)}/
609
579
  end
610
580
  end