test-kitchen 1.23.3 → 1.23.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kitchen/version.rb +1 -1
  3. data/support/chef-client-zero.rb +1 -1
  4. metadata +5 -324
  5. data/.gitattributes +0 -3
  6. data/.github/ISSUE_TEMPLATE.md +0 -56
  7. data/.github/lock.yml +0 -1
  8. data/.gitignore +0 -38
  9. data/.gitmodules +0 -0
  10. data/.kitchen.appveyor.yml +0 -25
  11. data/.kitchen.dokken.yml +0 -31
  12. data/.kitchen.proxy.yml +0 -27
  13. data/.rubocop.yml +0 -5
  14. data/.travis.yml +0 -57
  15. data/.yardopts +0 -3
  16. data/Berksfile +0 -3
  17. data/CHANGELOG.md +0 -1510
  18. data/CONTRIBUTING.md +0 -14
  19. data/ECOSYSTEM.md +0 -93
  20. data/Gemfile +0 -40
  21. data/Gemfile.proxy_tests +0 -4
  22. data/Guardfile +0 -42
  23. data/MAINTAINERS.md +0 -29
  24. data/README.md +0 -138
  25. data/RELEASE_NOTES.md +0 -167
  26. data/Rakefile +0 -77
  27. data/appveyor.yml +0 -47
  28. data/docs/CONTRIBUTING.md +0 -8
  29. data/docs/LICENSE +0 -22
  30. data/docs/README.md +0 -78
  31. data/docs/archetypes/default.md +0 -6
  32. data/docs/config.toml +0 -36
  33. data/docs/content/docs/_index.md +0 -5
  34. data/docs/content/docs/drivers/_index.md +0 -27
  35. data/docs/content/docs/drivers/azurerm.md +0 -44
  36. data/docs/content/docs/drivers/vagrant.md +0 -39
  37. data/docs/content/docs/getting-started/00-introduction.md +0 -14
  38. data/docs/content/docs/getting-started/01-installing.md +0 -64
  39. data/docs/content/docs/getting-started/02-getting-help.md +0 -59
  40. data/docs/content/docs/getting-started/03-creating-cookbook.md +0 -46
  41. data/docs/content/docs/getting-started/04-kitchen-yml.md +0 -56
  42. data/docs/content/docs/getting-started/05-instances.md +0 -79
  43. data/docs/content/docs/getting-started/06-writing-recipe.md +0 -21
  44. data/docs/content/docs/getting-started/07-running-converge.md +0 -134
  45. data/docs/content/docs/getting-started/08-manually-verifying.md +0 -55
  46. data/docs/content/docs/getting-started/09-writing-test.md +0 -49
  47. data/docs/content/docs/getting-started/10-running-verify.md +0 -120
  48. data/docs/content/docs/getting-started/11-running-test.md +0 -168
  49. data/docs/content/docs/getting-started/12-adding-platform.md +0 -206
  50. data/docs/content/docs/getting-started/13-adding-feature.md +0 -30
  51. data/docs/content/docs/getting-started/14-adding-suite.md +0 -60
  52. data/docs/content/docs/getting-started/15-adding-test.md +0 -66
  53. data/docs/content/docs/getting-started/16-adding-recipe.md +0 -53
  54. data/docs/content/docs/getting-started/17-excluding-platforms.md +0 -101
  55. data/docs/content/docs/getting-started/18-next-steps.md +0 -23
  56. data/docs/content/docs/getting-started/_index.md +0 -5
  57. data/docs/content/docs/provisioners/_index.md +0 -36
  58. data/docs/content/docs/provisioners/chef.md +0 -69
  59. data/docs/content/docs/provisioners/shell.md +0 -31
  60. data/docs/content/docs/reference/_index.md +0 -5
  61. data/docs/content/docs/reference/configuration.md +0 -53
  62. data/docs/content/docs/reference/examples.md +0 -97
  63. data/docs/content/docs/reference/faq.md +0 -58
  64. data/docs/content/docs/reference/fixtures.md +0 -32
  65. data/docs/content/docs/reference/glossary.md +0 -34
  66. data/docs/content/docs/reference/lifecycle-hooks.md +0 -68
  67. data/docs/content/docs/reference/reboots.md +0 -24
  68. data/docs/content/docs/verifiers/_index.md +0 -14
  69. data/docs/content/docs/verifiers/inspec.md +0 -44
  70. data/docs/content/docs/verifiers/serverspec.md +0 -20
  71. data/docs/static/images/chef-logo.png +0 -0
  72. data/docs/static/images/chef-logo.svg +0 -1
  73. data/docs/static/images/github-banner.png +0 -0
  74. data/docs/static/images/github-banner.svg +0 -71
  75. data/docs/static/images/kitchen-logo.png +0 -0
  76. data/docs/static/images/logo-block.svg +0 -222
  77. data/docs/static/images/logo.png +0 -0
  78. data/docs/static/images/logos-group.png +0 -0
  79. data/docs/static/images/terminal-1.png +0 -0
  80. data/docs/static/images/terminal-1.svg +0 -589
  81. data/docs/static/images/terminal-2.png +0 -0
  82. data/docs/static/images/terminal-2.svg +0 -235
  83. data/docs/static/images/terminal-3.png +0 -0
  84. data/docs/static/images/terminal-3.svg +0 -439
  85. data/docs/static/index.html +0 -59
  86. data/docs/static/javascripts/all.js +0 -348
  87. data/docs/static/javascripts/vendor/foundation.min.js +0 -4
  88. data/docs/static/javascripts/vendor/jquery.min.js +0 -5
  89. data/docs/static/javascripts/vendor/what-input.js +0 -336
  90. data/docs/static/stylesheets/site.css +0 -4667
  91. data/docs/themes/kitchen/layouts/_default/baseof.html +0 -53
  92. data/docs/themes/kitchen/layouts/_default/list.html +0 -4
  93. data/docs/themes/kitchen/layouts/_default/redirect.html +0 -10
  94. data/docs/themes/kitchen/layouts/_default/single.html +0 -6
  95. data/docs/themes/kitchen/layouts/partials/core/head.html +0 -6
  96. data/docs/themes/kitchen/layouts/partials/kitchen/footer.html +0 -18
  97. data/docs/themes/kitchen/layouts/partials/kitchen/head.html +0 -4
  98. data/docs/themes/kitchen/layouts/partials/kitchen/header.html +0 -26
  99. data/docs/themes/kitchen/layouts/partials/search-docs.html +0 -3
  100. data/docs/themes/kitchen/layouts/partials/sidebar.html +0 -33
  101. data/docs/themes/kitchen/layouts/shortcodes/button.html +0 -1
  102. data/docs/themes/kitchen/layouts/shortcodes/codeblock.html +0 -8
  103. data/docs/themes/kitchen/layouts/shortcodes/cta.html +0 -5
  104. data/docs/themes/kitchen/layouts/shortcodes/danger.html +0 -1
  105. data/docs/themes/kitchen/layouts/shortcodes/example_fqdn.html +0 -1
  106. data/docs/themes/kitchen/layouts/shortcodes/info.html +0 -1
  107. data/docs/themes/kitchen/layouts/shortcodes/ol-styled.html +0 -3
  108. data/docs/themes/kitchen/layouts/shortcodes/success.html +0 -1
  109. data/docs/themes/kitchen/layouts/shortcodes/tip.html +0 -1
  110. data/docs/themes/kitchen/layouts/shortcodes/warning.html +0 -1
  111. data/docs/themes/kitchen/static/css/kitchen.css +0 -10
  112. data/docs/themes/kitchen/static/css/kitchen.css.map +0 -7
  113. data/docs/themes/kitchen/static/fonts/Muli-Bold.ttf +0 -0
  114. data/docs/themes/kitchen/static/fonts/Muli-Regular.ttf +0 -0
  115. data/docs/themes/kitchen/static/fonts/Muli-SemiBold.ttf +0 -0
  116. data/docs/themes/kitchen/static/fonts/fontawesome/fa-brands-400.eot +0 -0
  117. data/docs/themes/kitchen/static/fonts/fontawesome/fa-brands-400.svg +0 -1104
  118. data/docs/themes/kitchen/static/fonts/fontawesome/fa-brands-400.ttf +0 -0
  119. data/docs/themes/kitchen/static/fonts/fontawesome/fa-brands-400.woff +0 -0
  120. data/docs/themes/kitchen/static/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  121. data/docs/themes/kitchen/static/fonts/fontawesome/fa-regular-400.eot +0 -0
  122. data/docs/themes/kitchen/static/fonts/fontawesome/fa-regular-400.svg +0 -372
  123. data/docs/themes/kitchen/static/fonts/fontawesome/fa-regular-400.ttf +0 -0
  124. data/docs/themes/kitchen/static/fonts/fontawesome/fa-regular-400.woff +0 -0
  125. data/docs/themes/kitchen/static/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  126. data/docs/themes/kitchen/static/fonts/fontawesome/fa-solid-900.eot +0 -0
  127. data/docs/themes/kitchen/static/fonts/fontawesome/fa-solid-900.svg +0 -1896
  128. data/docs/themes/kitchen/static/fonts/fontawesome/fa-solid-900.ttf +0 -0
  129. data/docs/themes/kitchen/static/fonts/fontawesome/fa-solid-900.woff +0 -0
  130. data/docs/themes/kitchen/static/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  131. data/docs/themes/kitchen/static/images/chef-logo-light.svg +0 -36
  132. data/docs/themes/kitchen/static/images/chef-logo-white.svg +0 -38
  133. data/docs/themes/kitchen/static/images/chef-logo.svg +0 -37
  134. data/docs/themes/kitchen/static/images/favicon.ico +0 -0
  135. data/docs/themes/kitchen/static/js/scripts-all.js +0 -7
  136. data/docs/themes/kitchen/static/js/source/chef-hugo.js +0 -116
  137. data/docs/themes/kitchen/static/js/source/omnitruck.js +0 -82
  138. data/docs/themes/kitchen/static/js/source/segment.js +0 -52
  139. data/docs/themes/kitchen/static/sass/_buttons.scss +0 -161
  140. data/docs/themes/kitchen/static/sass/_core.scss +0 -24
  141. data/docs/themes/kitchen/static/sass/_forms.scss +0 -14
  142. data/docs/themes/kitchen/static/sass/_mixins.scss +0 -133
  143. data/docs/themes/kitchen/static/sass/_typography.scss +0 -34
  144. data/docs/themes/kitchen/static/sass/_variables.scss +0 -82
  145. data/docs/themes/kitchen/static/sass/kitchen.scss +0 -7
  146. data/docs/themes/kitchen/static/sass/kitchen/_footer.scss +0 -50
  147. data/docs/themes/kitchen/static/sass/kitchen/_header.scss +0 -187
  148. data/docs/themes/kitchen/static/sass/kitchen/_homepage.scss +0 -27
  149. data/docs/themes/kitchen/static/sass/kitchen/_utility-bar.scss +0 -173
  150. data/docs/themes/kitchen/static/sass/partials/_alerts.scss +0 -32
  151. data/docs/themes/kitchen/static/sass/partials/_bg.scss +0 -19
  152. data/docs/themes/kitchen/static/sass/partials/_blurbs.scss +0 -25
  153. data/docs/themes/kitchen/static/sass/partials/_callout.scss +0 -15
  154. data/docs/themes/kitchen/static/sass/partials/_cards.scss +0 -54
  155. data/docs/themes/kitchen/static/sass/partials/_dropdown.scss +0 -77
  156. data/docs/themes/kitchen/static/sass/partials/_grid.scss +0 -87
  157. data/docs/themes/kitchen/static/sass/partials/_padding.scss +0 -73
  158. data/docs/themes/kitchen/static/sass/partials/_sidebar.scss +0 -71
  159. data/docs/themes/kitchen/static/sass/partials/_tabs.scss +0 -125
  160. data/docs/themes/kitchen/static/sass/typography/_chroma.scss +0 -366
  161. data/docs/themes/kitchen/static/sass/typography/_code.scss +0 -72
  162. data/docs/themes/kitchen/static/sass/typography/_headers.scss +0 -90
  163. data/docs/themes/kitchen/static/sass/typography/_links.scss +0 -127
  164. data/docs/themes/kitchen/static/sass/typography/_lists.scss +0 -155
  165. data/docs/themes/kitchen/static/sass/typography/_prose.scss +0 -29
  166. data/docs/themes/kitchen/static/sass/typography/_text.scss +0 -221
  167. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_animated.scss +0 -20
  168. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_bordered-pulled.scss +0 -20
  169. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_core.scss +0 -16
  170. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_fixed-width.scss +0 -6
  171. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_icons.scss +0 -992
  172. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_larger.scss +0 -23
  173. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_list.scss +0 -18
  174. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_mixins.scss +0 -57
  175. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_rotated-flipped.scss +0 -23
  176. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_screen-reader.scss +0 -5
  177. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_stacked.scss +0 -31
  178. data/docs/themes/kitchen/static/sass/vendor/fontawesome/_variables.scss +0 -1005
  179. data/docs/themes/kitchen/static/sass/vendor/fontawesome/fa-brands.scss +0 -21
  180. data/docs/themes/kitchen/static/sass/vendor/fontawesome/fa-regular.scss +0 -22
  181. data/docs/themes/kitchen/static/sass/vendor/fontawesome/fa-solid.scss +0 -23
  182. data/docs/themes/kitchen/static/sass/vendor/fontawesome/fontawesome.scss +0 -16
  183. data/docs/themes/kitchen/theme.toml +0 -8
  184. data/features/kitchen_action_commands.feature +0 -164
  185. data/features/kitchen_command.feature +0 -16
  186. data/features/kitchen_console_command.feature +0 -35
  187. data/features/kitchen_defaults.feature +0 -38
  188. data/features/kitchen_diagnose_command.feature +0 -96
  189. data/features/kitchen_help_command.feature +0 -16
  190. data/features/kitchen_init_command.feature +0 -254
  191. data/features/kitchen_list_command.feature +0 -140
  192. data/features/kitchen_login_command.feature +0 -62
  193. data/features/kitchen_sink_command.feature +0 -30
  194. data/features/kitchen_test_command.feature +0 -88
  195. data/features/step_definitions/gem_steps.rb +0 -24
  196. data/features/step_definitions/git_steps.rb +0 -5
  197. data/features/step_definitions/output_steps.rb +0 -5
  198. data/features/support/env.rb +0 -74
  199. data/spec/kitchen/base64_stream_spec.rb +0 -74
  200. data/spec/kitchen/cli_spec.rb +0 -54
  201. data/spec/kitchen/collection_spec.rb +0 -76
  202. data/spec/kitchen/color_spec.rb +0 -51
  203. data/spec/kitchen/config_spec.rb +0 -434
  204. data/spec/kitchen/configurable_spec.rb +0 -1113
  205. data/spec/kitchen/data_munger_spec.rb +0 -2800
  206. data/spec/kitchen/diagnostic_spec.rb +0 -128
  207. data/spec/kitchen/driver/base_spec.rb +0 -132
  208. data/spec/kitchen/driver/dummy_spec.rb +0 -193
  209. data/spec/kitchen/driver/exec_spec.rb +0 -75
  210. data/spec/kitchen/driver/proxy_spec.rb +0 -127
  211. data/spec/kitchen/driver/ssh_base_spec.rb +0 -1136
  212. data/spec/kitchen/driver_spec.rb +0 -106
  213. data/spec/kitchen/errors_spec.rb +0 -317
  214. data/spec/kitchen/instance_spec.rb +0 -1372
  215. data/spec/kitchen/lazy_hash_spec.rb +0 -113
  216. data/spec/kitchen/lifecycle_hooks_spec.rb +0 -171
  217. data/spec/kitchen/loader/yaml_spec.rb +0 -787
  218. data/spec/kitchen/logger_spec.rb +0 -425
  219. data/spec/kitchen/logging_spec.rb +0 -56
  220. data/spec/kitchen/login_command_spec.rb +0 -67
  221. data/spec/kitchen/metadata_chopper_spec.rb +0 -79
  222. data/spec/kitchen/platform_spec.rb +0 -88
  223. data/spec/kitchen/provisioner/base_spec.rb +0 -393
  224. data/spec/kitchen/provisioner/chef/policyfile_spec.rb +0 -140
  225. data/spec/kitchen/provisioner/chef_apply_spec.rb +0 -131
  226. data/spec/kitchen/provisioner/chef_base_spec.rb +0 -1565
  227. data/spec/kitchen/provisioner/chef_solo_spec.rb +0 -602
  228. data/spec/kitchen/provisioner/chef_zero_spec.rb +0 -1013
  229. data/spec/kitchen/provisioner/dummy_spec.rb +0 -96
  230. data/spec/kitchen/provisioner/shell_spec.rb +0 -623
  231. data/spec/kitchen/provisioner_spec.rb +0 -101
  232. data/spec/kitchen/shell_out_spec.rb +0 -146
  233. data/spec/kitchen/ssh_spec.rb +0 -584
  234. data/spec/kitchen/state_file_spec.rb +0 -122
  235. data/spec/kitchen/suite_spec.rb +0 -61
  236. data/spec/kitchen/transport/base_spec.rb +0 -140
  237. data/spec/kitchen/transport/exec_spec.rb +0 -79
  238. data/spec/kitchen/transport/ssh_spec.rb +0 -1317
  239. data/spec/kitchen/transport/winrm_spec.rb +0 -1320
  240. data/spec/kitchen/transport_spec.rb +0 -106
  241. data/spec/kitchen/util_spec.rb +0 -250
  242. data/spec/kitchen/verifier/base_spec.rb +0 -346
  243. data/spec/kitchen/verifier/busser_spec.rb +0 -580
  244. data/spec/kitchen/verifier/dummy_spec.rb +0 -96
  245. data/spec/kitchen/verifier/shell_spec.rb +0 -157
  246. data/spec/kitchen/verifier_spec.rb +0 -114
  247. data/spec/kitchen_spec.rb +0 -112
  248. data/spec/spec_helper.rb +0 -110
  249. data/spec/support/powershell_max_size_spec.rb +0 -39
  250. data/test-kitchen.gemspec +0 -49
  251. data/test/cookbooks/test_cookbook/metadata.rb +0 -6
  252. data/test/cookbooks/test_cookbook/recipes/default.rb +0 -1
  253. data/test/integration/default/default_spec.rb +0 -3
  254. data/testing_windows.md +0 -38
@@ -1,16 +0,0 @@
1
- Feature: Using Test Kitchen CLI help
2
- In order to access the self describing documentation
3
- As a user of Test Kitchen
4
- I want to run a command help help for kitchen commands
5
-
6
- @spawn
7
- Scenario: Printing help
8
- When I run `kitchen help`
9
- Then the exit status should be 0
10
- And the output should contain "kitchen help [COMMAND]"
11
-
12
- @spawn
13
- Scenario: Bad arugments should exit nonzero
14
- When I run `kitchen help -d always -c`
15
- Then the exit status should not be 0
16
- And the output should contain "Usage: "
@@ -1,254 +0,0 @@
1
- Feature: Add Test Kitchen support to an existing project
2
- In order to add Test Kitchen to a project with minimal effort
3
- As an operator
4
- I want to run a command to initialize my project
5
-
6
- @spawn
7
- Scenario: Displaying help
8
- When I run `kitchen help init`
9
- Then the output should contain:
10
- """
11
- Usage:
12
- kitchen init
13
- """
14
- And the exit status should be 0
15
-
16
- @spawn
17
- Scenario: Running init with default values
18
- Given I have a git repository
19
- When I run `kitchen init`
20
- Then the exit status should be 0
21
- And a directory named "test/integration/default" should exist
22
- And the file ".gitignore" should contain ".kitchen/"
23
- And the file ".gitignore" should contain "kitchen.local.yml"
24
- And the file ".gitignore" should contain ".kitchen.local.yml"
25
- And the file "kitchen.yml" should exist:
26
- And the file "kitchen.yml" should contain:
27
- """
28
- driver:
29
- name: vagrant
30
- """
31
- And a file named "Gemfile" should not exist
32
- And a file named "Rakefile" should not exist
33
- And a file named "Thorfile" should not exist
34
- And a gem named "kitchen-vagrant" is installed
35
- And a file named "chefignore" should exist
36
- And the file "chefignore" should contain ".kitchen"
37
-
38
- Scenario: Running init that creates a Gemfile
39
- When I successfully run `kitchen init --create-gemfile`
40
- Then the file "Gemfile" should contain "https://rubygems.org"
41
- And the file "Gemfile" should contain:
42
- """
43
- gem "test-kitchen"
44
- """
45
- And the output should contain "You must run `bundle install'"
46
-
47
- Scenario: Running init with an existing Gemfile appends to the Gemfile
48
- Given a file named "Gemfile" with:
49
- """
50
- source "https://rubygems.org"
51
-
52
-
53
- """
54
- When I successfully run `kitchen init`
55
- Then the file "Gemfile" should contain exactly:
56
- """
57
- source "https://rubygems.org"
58
-
59
- gem "test-kitchen"
60
-
61
- """
62
- And the output should contain "You must run `bundle install'"
63
-
64
- Scenario: Running init with a Gemfile containing test-kitchen does not
65
- re-append
66
- Given a file named "Gemfile" with:
67
- """
68
- source "https://rubygems.org"
69
-
70
- gem 'test-kitchen'
71
-
72
- """
73
- When I successfully run `kitchen init`
74
- Then the file "Gemfile" should contain exactly:
75
- """
76
- source "https://rubygems.org"
77
-
78
- gem 'test-kitchen'
79
-
80
- """
81
-
82
- Scenario: Running init with a Gemfile containing the driver gem does not
83
- re-append
84
- Given a file named "Gemfile" with:
85
- """
86
- source "https://rubygems.org"
87
-
88
- gem 'test-kitchen'
89
- gem 'kitchen-ec2'
90
-
91
- """
92
- When I successfully run `kitchen init --driver=kitchen-ec2`
93
- Then the file "Gemfile" should contain exactly:
94
- """
95
- source "https://rubygems.org"
96
-
97
- gem 'test-kitchen'
98
- gem 'kitchen-ec2'
99
-
100
- """
101
- And the output should not contain "You must run `bundle install'"
102
-
103
- Scenario: Running init with multiple driver sets the plugin_driver to the
104
- first driver given
105
- Given an empty file named "Gemfile"
106
- When I successfully run `kitchen init --driver=kitchen-bluebox kitchen-wakka`
107
- Then the file "kitchen.yml" should exist
108
- Then the file "kitchen.yml" should contain:
109
- """
110
- driver:
111
- name: bluebox
112
- """
113
-
114
- Scenario: Running init with no drivers sets the plugin_driver to the
115
- dummy driver
116
- Given an empty file named "Gemfile"
117
- When I successfully run `kitchen init --no-driver`
118
- Then the file "kitchen.yml" should contain:
119
- """
120
- driver:
121
- name: dummy
122
- """
123
-
124
- Scenario: Running init without a provisioner sets the default provisioner
125
- to chef_solo in kitchen.yml
126
- Given an empty file named "Gemfile"
127
- When I successfully run `kitchen init --no-driver`
128
- Then the file "kitchen.yml" should contain:
129
- """
130
- provisioner:
131
- name: chef_solo
132
- """
133
-
134
- Scenario: Running init with a provisioner sets the provisioner in kitchen.yml
135
- Given an empty file named "Gemfile"
136
- When I successfully run `kitchen init --no-driver --provisioner=chef_zero`
137
- Then the file "kitchen.yml" should contain:
138
- """
139
- provisioner:
140
- name: chef_zero
141
- """
142
-
143
- Scenario: Running with a Rakefile file appends Kitchen tasks
144
- Given an empty file named "Gemfile"
145
- And an empty file named "Rakefile"
146
- When I successfully run `kitchen init`
147
- Then the file "Rakefile" should contain:
148
- """
149
- begin
150
- require 'kitchen/rake_tasks'
151
- Kitchen::RakeTasks.new
152
- rescue LoadError
153
- puts '>>>>> Kitchen gem not loaded, omitting tasks' unless ENV['CI']
154
- end
155
- """
156
-
157
- Scenario: Running without git doesn't make a .gitignore
158
- When I successfully run `kitchen init --no-driver`
159
- Then the exit status should be 0
160
- And a file named ".gitignore" should not exist
161
-
162
- Scenario: Running with a Thorfile file appends Kitchen tasks
163
- Given an empty file named "Gemfile"
164
- Given an empty file named "Thorfile"
165
- When I successfully run `kitchen init`
166
- Then the file "Thorfile" should contain:
167
- """
168
- begin
169
- require 'kitchen/thor_tasks'
170
- Kitchen::ThorTasks.new
171
- rescue LoadError
172
- puts '>>>>> Kitchen gem not loaded, omitting tasks' unless ENV['CI']
173
- end
174
- """
175
-
176
- Scenario: Running init with a name in metadata.rb sets a run list
177
- Given an empty file named "Gemfile"
178
- Given a file named "metadata.rb" with:
179
- """
180
- name "ntp"
181
- license "Apache 2.0"
182
- description "Installs and configures ntp as a client or server"
183
- version "0.1.0"
184
-
185
- support "ubuntu"
186
- support "centos"
187
- """
188
- When I successfully run `kitchen init`
189
- Then the file "kitchen.yml" should contain exactly:
190
- """
191
- ---
192
- driver:
193
- name: vagrant
194
-
195
- provisioner:
196
- name: chef_solo
197
-
198
- platforms:
199
- - name: ubuntu-16.04
200
- - name: centos-7
201
-
202
- suites:
203
- - name: default
204
- run_list:
205
- - recipe[ntp::default]
206
- attributes:
207
-
208
- """
209
-
210
- Scenario: Running init with an empty file metadata.rb sets an empty run list
211
- Given an empty file named "metadata.rb"
212
- When I successfully run `kitchen init`
213
- Then the file "kitchen.yml" should contain exactly:
214
- """
215
- ---
216
- driver:
217
- name: vagrant
218
-
219
- provisioner:
220
- name: chef_solo
221
-
222
- platforms:
223
- - name: ubuntu-16.04
224
- - name: centos-7
225
-
226
- suites:
227
- - name: default
228
- run_list:
229
- attributes:
230
-
231
- """
232
-
233
- Scenario: Running init with no metadata.rb file sets an empty run list
234
- Given a file named "metadata.rb" does not exist
235
- When I successfully run `kitchen init`
236
- Then the file "kitchen.yml" should contain exactly:
237
- """
238
- ---
239
- driver:
240
- name: vagrant
241
-
242
- provisioner:
243
- name: chef_solo
244
-
245
- platforms:
246
- - name: ubuntu-16.04
247
- - name: centos-7
248
-
249
- suites:
250
- - name: default
251
- run_list:
252
- attributes:
253
-
254
- """
@@ -1,140 +0,0 @@
1
- Feature: Listing Test Kitchen instances
2
- In order to understand how the .kitchen.yml is consumed
3
- As a user of Test Kitchen
4
- I want to run a command to see the state of my instances
5
-
6
- Background:
7
- Given a file named ".kitchen.yml" with:
8
- """
9
- ---
10
- driver: dummy
11
- provisioner: chef_solo
12
-
13
- platforms:
14
- - name: ubuntu-13.04
15
- - name: centos-6.4
16
- - name: centos-6.4-with-small-mem
17
-
18
- suites:
19
- - name: foobar
20
- """
21
-
22
- Scenario: Listing instances
23
- When I run `kitchen list`
24
- Then the exit status should be 0
25
- And the output should match /^foobar-ubuntu-1304\s+Dummy\s+ChefSolo\s+Busser\s+Ssh\s+\<Not Created\>\s+\<None\>$/
26
- And the output should match /^foobar-centos-64\s+Dummy\s+ChefSolo\s+Busser\s+Ssh\s+\<Not Created\>\s+\<None\>$/
27
-
28
- Scenario: Listing a single instance with the --json option
29
- When I run `kitchen list --json`
30
- Then the exit status should be 0
31
- And the output should contain exactly:
32
- """
33
- [
34
- {
35
- "instance": "foobar-ubuntu-1304",
36
- "driver": "Dummy",
37
- "provisioner": "ChefSolo",
38
- "verifier": "Busser",
39
- "transport": "Ssh",
40
- "last_action": null,
41
- "last_error": null
42
- },
43
- {
44
- "instance": "foobar-centos-64",
45
- "driver": "Dummy",
46
- "provisioner": "ChefSolo",
47
- "verifier": "Busser",
48
- "transport": "Ssh",
49
- "last_action": null,
50
- "last_error": null
51
- },
52
- {
53
- "instance": "foobar-centos-64-with-small-mem",
54
- "driver": "Dummy",
55
- "provisioner": "ChefSolo",
56
- "verifier": "Busser",
57
- "transport": "Ssh",
58
- "last_action": null,
59
- "last_error": null
60
- }
61
- ]
62
- """
63
-
64
- Scenario: Listing instances with the --bare option
65
- When I run `kitchen list --bare`
66
- Then the exit status should be 0
67
- And the output should contain exactly:
68
- """
69
- foobar-ubuntu-1304
70
- foobar-centos-64
71
- foobar-centos-64-with-small-mem
72
-
73
- """
74
-
75
- Scenario: Listing instances with a simple regular expression glob
76
- When I successfully run `kitchen list ubun --bare`
77
- Then the output should contain exactly:
78
- """
79
- foobar-ubuntu-1304
80
-
81
- """
82
-
83
- Scenario: Listing instances with a Ruby regular expression glob, requiring
84
- signle quoting on the command line
85
- When I successfully run `kitchen list '^foo.*\-(10|13)04$' --bare`
86
- Then the output should contain exactly:
87
- """
88
- foobar-ubuntu-1304
89
-
90
- """
91
-
92
- @spawn
93
- Scenario: Listing instances with a regular expression yielding no results
94
- When I run `kitchen list freebsd --bare`
95
- Then the exit status should not be 0
96
- And the output should contain "No instances for regex `freebsd', try running `kitchen list'"
97
-
98
- @spawn
99
- Scenario: Listing instances with a bad regular expression
100
- When I run `kitchen list *centos* --bare`
101
- Then the exit status should not be 0
102
- And the output should contain "Invalid Ruby regular expression"
103
-
104
- Scenario: Listing a full instance name returns an exact match, not fuzzy matches
105
- When I successfully run `kitchen list foobar-centos-64 --bare`
106
- Then the output should contain exactly:
107
- """
108
- foobar-centos-64
109
-
110
- """
111
-
112
- Scenario: Listing a full instance name returns an exact match, not fuzzy matches at start
113
- Given a file named ".kitchen.yml" with:
114
- """
115
- ---
116
- driver: dummy
117
- provisioner: chef_solo
118
-
119
- platforms:
120
- - name: ubuntu-16.04
121
-
122
- suites:
123
- - name: gdb01-master
124
- - name: logdb01-master
125
- """
126
- When I successfully run `kitchen list gdb01-master-ubuntu-1604 --bare`
127
- Then the output should contain exactly:
128
- """
129
- gdb01-master-ubuntu-1604
130
-
131
- """
132
-
133
- Scenario: Listing a full instance with regex returns all regex matches
134
- When I successfully run `kitchen list 'foobar-centos-64.*' --bare`
135
- Then the output should contain exactly:
136
- """
137
- foobar-centos-64
138
- foobar-centos-64-with-small-mem
139
-
140
- """
@@ -1,62 +0,0 @@
1
- Feature: Logging into a Kitchen instance
2
- In order to iterate, explore, and debug
3
- As a crafty developer
4
- I want to run a command that will give me a terminal session
5
-
6
- Background:
7
- Given a file named ".kitchen.yml" with:
8
- """
9
- ---
10
- driver:
11
- name: dummy
12
-
13
- transport:
14
- name: dummy
15
-
16
- provisioner:
17
- name: dummy
18
-
19
- platforms:
20
- - name: flebian
21
-
22
- suites:
23
- - name: default
24
- - name: full
25
- """
26
- And I successfully run `kitchen create default-flebian`
27
-
28
- @spawn
29
- Scenario: Logging in to an instance
30
- When I run `kitchen login default-flebian`
31
- Then the output should contain:
32
- """
33
- Remote login not supported in Kitchen::Transport::Dummy::Connection.
34
- """
35
- And the exit status should not be 0
36
-
37
- @spawn
38
- Scenario: Attempting to log into a non-created instance
39
- When I run `kitchen login full-flebian`
40
- Then the output should contain:
41
- """
42
- Instance <full-flebian> has not yet been created
43
- """
44
- And the exit status should not be 0
45
-
46
- @spawn
47
- Scenario: Attempting to log into a non-existent instance
48
- When I run `kitchen login nope`
49
- Then the output should contain "No instances for regex `nope'"
50
- And the exit status should not be 0
51
-
52
- @spawn
53
- Scenario: Attempting to log into an instance with an overly fuzzy match
54
- When I run `kitchen login flebian`
55
- Then the output should contain:
56
- """
57
- Argument `flebian' returned multiple results:
58
- * default-flebian
59
- * full-flebian
60
- """
61
- And the exit status should not be 0
62
-