test-kitchen 1.14.1 → 1.14.2

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 (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