test-kitchen 1.23.3 → 1.23.4
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.
- checksums.yaml +4 -4
- data/lib/kitchen/version.rb +1 -1
- data/support/chef-client-zero.rb +1 -1
- metadata +5 -324
- data/.gitattributes +0 -3
- data/.github/ISSUE_TEMPLATE.md +0 -56
- data/.github/lock.yml +0 -1
- data/.gitignore +0 -38
- data/.gitmodules +0 -0
- data/.kitchen.appveyor.yml +0 -25
- data/.kitchen.dokken.yml +0 -31
- data/.kitchen.proxy.yml +0 -27
- data/.rubocop.yml +0 -5
- data/.travis.yml +0 -57
- data/.yardopts +0 -3
- data/Berksfile +0 -3
- data/CHANGELOG.md +0 -1510
- data/CONTRIBUTING.md +0 -14
- data/ECOSYSTEM.md +0 -93
- data/Gemfile +0 -40
- data/Gemfile.proxy_tests +0 -4
- data/Guardfile +0 -42
- data/MAINTAINERS.md +0 -29
- data/README.md +0 -138
- data/RELEASE_NOTES.md +0 -167
- data/Rakefile +0 -77
- data/appveyor.yml +0 -47
- data/docs/CONTRIBUTING.md +0 -8
- data/docs/LICENSE +0 -22
- data/docs/README.md +0 -78
- data/docs/archetypes/default.md +0 -6
- data/docs/config.toml +0 -36
- data/docs/content/docs/_index.md +0 -5
- data/docs/content/docs/drivers/_index.md +0 -27
- data/docs/content/docs/drivers/azurerm.md +0 -44
- data/docs/content/docs/drivers/vagrant.md +0 -39
- data/docs/content/docs/getting-started/00-introduction.md +0 -14
- data/docs/content/docs/getting-started/01-installing.md +0 -64
- data/docs/content/docs/getting-started/02-getting-help.md +0 -59
- data/docs/content/docs/getting-started/03-creating-cookbook.md +0 -46
- data/docs/content/docs/getting-started/04-kitchen-yml.md +0 -56
- data/docs/content/docs/getting-started/05-instances.md +0 -79
- data/docs/content/docs/getting-started/06-writing-recipe.md +0 -21
- data/docs/content/docs/getting-started/07-running-converge.md +0 -134
- data/docs/content/docs/getting-started/08-manually-verifying.md +0 -55
- data/docs/content/docs/getting-started/09-writing-test.md +0 -49
- data/docs/content/docs/getting-started/10-running-verify.md +0 -120
- data/docs/content/docs/getting-started/11-running-test.md +0 -168
- data/docs/content/docs/getting-started/12-adding-platform.md +0 -206
- data/docs/content/docs/getting-started/13-adding-feature.md +0 -30
- data/docs/content/docs/getting-started/14-adding-suite.md +0 -60
- data/docs/content/docs/getting-started/15-adding-test.md +0 -66
- data/docs/content/docs/getting-started/16-adding-recipe.md +0 -53
- data/docs/content/docs/getting-started/17-excluding-platforms.md +0 -101
- data/docs/content/docs/getting-started/18-next-steps.md +0 -23
- data/docs/content/docs/getting-started/_index.md +0 -5
- data/docs/content/docs/provisioners/_index.md +0 -36
- data/docs/content/docs/provisioners/chef.md +0 -69
- data/docs/content/docs/provisioners/shell.md +0 -31
- data/docs/content/docs/reference/_index.md +0 -5
- data/docs/content/docs/reference/configuration.md +0 -53
- data/docs/content/docs/reference/examples.md +0 -97
- data/docs/content/docs/reference/faq.md +0 -58
- data/docs/content/docs/reference/fixtures.md +0 -32
- data/docs/content/docs/reference/glossary.md +0 -34
- data/docs/content/docs/reference/lifecycle-hooks.md +0 -68
- data/docs/content/docs/reference/reboots.md +0 -24
- data/docs/content/docs/verifiers/_index.md +0 -14
- data/docs/content/docs/verifiers/inspec.md +0 -44
- data/docs/content/docs/verifiers/serverspec.md +0 -20
- data/docs/static/images/chef-logo.png +0 -0
- data/docs/static/images/chef-logo.svg +0 -1
- data/docs/static/images/github-banner.png +0 -0
- data/docs/static/images/github-banner.svg +0 -71
- data/docs/static/images/kitchen-logo.png +0 -0
- data/docs/static/images/logo-block.svg +0 -222
- data/docs/static/images/logo.png +0 -0
- data/docs/static/images/logos-group.png +0 -0
- data/docs/static/images/terminal-1.png +0 -0
- data/docs/static/images/terminal-1.svg +0 -589
- data/docs/static/images/terminal-2.png +0 -0
- data/docs/static/images/terminal-2.svg +0 -235
- data/docs/static/images/terminal-3.png +0 -0
- data/docs/static/images/terminal-3.svg +0 -439
- data/docs/static/index.html +0 -59
- data/docs/static/javascripts/all.js +0 -348
- data/docs/static/javascripts/vendor/foundation.min.js +0 -4
- data/docs/static/javascripts/vendor/jquery.min.js +0 -5
- data/docs/static/javascripts/vendor/what-input.js +0 -336
- data/docs/static/stylesheets/site.css +0 -4667
- data/docs/themes/kitchen/layouts/_default/baseof.html +0 -53
- data/docs/themes/kitchen/layouts/_default/list.html +0 -4
- data/docs/themes/kitchen/layouts/_default/redirect.html +0 -10
- data/docs/themes/kitchen/layouts/_default/single.html +0 -6
- data/docs/themes/kitchen/layouts/partials/core/head.html +0 -6
- data/docs/themes/kitchen/layouts/partials/kitchen/footer.html +0 -18
- data/docs/themes/kitchen/layouts/partials/kitchen/head.html +0 -4
- data/docs/themes/kitchen/layouts/partials/kitchen/header.html +0 -26
- data/docs/themes/kitchen/layouts/partials/search-docs.html +0 -3
- data/docs/themes/kitchen/layouts/partials/sidebar.html +0 -33
- data/docs/themes/kitchen/layouts/shortcodes/button.html +0 -1
- data/docs/themes/kitchen/layouts/shortcodes/codeblock.html +0 -8
- data/docs/themes/kitchen/layouts/shortcodes/cta.html +0 -5
- data/docs/themes/kitchen/layouts/shortcodes/danger.html +0 -1
- data/docs/themes/kitchen/layouts/shortcodes/example_fqdn.html +0 -1
- data/docs/themes/kitchen/layouts/shortcodes/info.html +0 -1
- data/docs/themes/kitchen/layouts/shortcodes/ol-styled.html +0 -3
- data/docs/themes/kitchen/layouts/shortcodes/success.html +0 -1
- data/docs/themes/kitchen/layouts/shortcodes/tip.html +0 -1
- data/docs/themes/kitchen/layouts/shortcodes/warning.html +0 -1
- data/docs/themes/kitchen/static/css/kitchen.css +0 -10
- data/docs/themes/kitchen/static/css/kitchen.css.map +0 -7
- data/docs/themes/kitchen/static/fonts/Muli-Bold.ttf +0 -0
- data/docs/themes/kitchen/static/fonts/Muli-Regular.ttf +0 -0
- data/docs/themes/kitchen/static/fonts/Muli-SemiBold.ttf +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-brands-400.eot +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-brands-400.svg +0 -1104
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-brands-400.ttf +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-brands-400.woff +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-brands-400.woff2 +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-regular-400.eot +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-regular-400.svg +0 -372
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-regular-400.ttf +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-regular-400.woff +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-regular-400.woff2 +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-solid-900.eot +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-solid-900.svg +0 -1896
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-solid-900.ttf +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-solid-900.woff +0 -0
- data/docs/themes/kitchen/static/fonts/fontawesome/fa-solid-900.woff2 +0 -0
- data/docs/themes/kitchen/static/images/chef-logo-light.svg +0 -36
- data/docs/themes/kitchen/static/images/chef-logo-white.svg +0 -38
- data/docs/themes/kitchen/static/images/chef-logo.svg +0 -37
- data/docs/themes/kitchen/static/images/favicon.ico +0 -0
- data/docs/themes/kitchen/static/js/scripts-all.js +0 -7
- data/docs/themes/kitchen/static/js/source/chef-hugo.js +0 -116
- data/docs/themes/kitchen/static/js/source/omnitruck.js +0 -82
- data/docs/themes/kitchen/static/js/source/segment.js +0 -52
- data/docs/themes/kitchen/static/sass/_buttons.scss +0 -161
- data/docs/themes/kitchen/static/sass/_core.scss +0 -24
- data/docs/themes/kitchen/static/sass/_forms.scss +0 -14
- data/docs/themes/kitchen/static/sass/_mixins.scss +0 -133
- data/docs/themes/kitchen/static/sass/_typography.scss +0 -34
- data/docs/themes/kitchen/static/sass/_variables.scss +0 -82
- data/docs/themes/kitchen/static/sass/kitchen.scss +0 -7
- data/docs/themes/kitchen/static/sass/kitchen/_footer.scss +0 -50
- data/docs/themes/kitchen/static/sass/kitchen/_header.scss +0 -187
- data/docs/themes/kitchen/static/sass/kitchen/_homepage.scss +0 -27
- data/docs/themes/kitchen/static/sass/kitchen/_utility-bar.scss +0 -173
- data/docs/themes/kitchen/static/sass/partials/_alerts.scss +0 -32
- data/docs/themes/kitchen/static/sass/partials/_bg.scss +0 -19
- data/docs/themes/kitchen/static/sass/partials/_blurbs.scss +0 -25
- data/docs/themes/kitchen/static/sass/partials/_callout.scss +0 -15
- data/docs/themes/kitchen/static/sass/partials/_cards.scss +0 -54
- data/docs/themes/kitchen/static/sass/partials/_dropdown.scss +0 -77
- data/docs/themes/kitchen/static/sass/partials/_grid.scss +0 -87
- data/docs/themes/kitchen/static/sass/partials/_padding.scss +0 -73
- data/docs/themes/kitchen/static/sass/partials/_sidebar.scss +0 -71
- data/docs/themes/kitchen/static/sass/partials/_tabs.scss +0 -125
- data/docs/themes/kitchen/static/sass/typography/_chroma.scss +0 -366
- data/docs/themes/kitchen/static/sass/typography/_code.scss +0 -72
- data/docs/themes/kitchen/static/sass/typography/_headers.scss +0 -90
- data/docs/themes/kitchen/static/sass/typography/_links.scss +0 -127
- data/docs/themes/kitchen/static/sass/typography/_lists.scss +0 -155
- data/docs/themes/kitchen/static/sass/typography/_prose.scss +0 -29
- data/docs/themes/kitchen/static/sass/typography/_text.scss +0 -221
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_animated.scss +0 -20
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_bordered-pulled.scss +0 -20
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_core.scss +0 -16
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_fixed-width.scss +0 -6
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_icons.scss +0 -992
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_larger.scss +0 -23
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_list.scss +0 -18
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_mixins.scss +0 -57
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_rotated-flipped.scss +0 -23
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_screen-reader.scss +0 -5
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_stacked.scss +0 -31
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/_variables.scss +0 -1005
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/fa-brands.scss +0 -21
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/fa-regular.scss +0 -22
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/fa-solid.scss +0 -23
- data/docs/themes/kitchen/static/sass/vendor/fontawesome/fontawesome.scss +0 -16
- data/docs/themes/kitchen/theme.toml +0 -8
- data/features/kitchen_action_commands.feature +0 -164
- data/features/kitchen_command.feature +0 -16
- data/features/kitchen_console_command.feature +0 -35
- data/features/kitchen_defaults.feature +0 -38
- data/features/kitchen_diagnose_command.feature +0 -96
- data/features/kitchen_help_command.feature +0 -16
- data/features/kitchen_init_command.feature +0 -254
- data/features/kitchen_list_command.feature +0 -140
- data/features/kitchen_login_command.feature +0 -62
- data/features/kitchen_sink_command.feature +0 -30
- data/features/kitchen_test_command.feature +0 -88
- data/features/step_definitions/gem_steps.rb +0 -24
- data/features/step_definitions/git_steps.rb +0 -5
- data/features/step_definitions/output_steps.rb +0 -5
- data/features/support/env.rb +0 -74
- data/spec/kitchen/base64_stream_spec.rb +0 -74
- data/spec/kitchen/cli_spec.rb +0 -54
- data/spec/kitchen/collection_spec.rb +0 -76
- data/spec/kitchen/color_spec.rb +0 -51
- data/spec/kitchen/config_spec.rb +0 -434
- data/spec/kitchen/configurable_spec.rb +0 -1113
- data/spec/kitchen/data_munger_spec.rb +0 -2800
- data/spec/kitchen/diagnostic_spec.rb +0 -128
- data/spec/kitchen/driver/base_spec.rb +0 -132
- data/spec/kitchen/driver/dummy_spec.rb +0 -193
- data/spec/kitchen/driver/exec_spec.rb +0 -75
- data/spec/kitchen/driver/proxy_spec.rb +0 -127
- data/spec/kitchen/driver/ssh_base_spec.rb +0 -1136
- data/spec/kitchen/driver_spec.rb +0 -106
- data/spec/kitchen/errors_spec.rb +0 -317
- data/spec/kitchen/instance_spec.rb +0 -1372
- data/spec/kitchen/lazy_hash_spec.rb +0 -113
- data/spec/kitchen/lifecycle_hooks_spec.rb +0 -171
- data/spec/kitchen/loader/yaml_spec.rb +0 -787
- data/spec/kitchen/logger_spec.rb +0 -425
- data/spec/kitchen/logging_spec.rb +0 -56
- data/spec/kitchen/login_command_spec.rb +0 -67
- data/spec/kitchen/metadata_chopper_spec.rb +0 -79
- data/spec/kitchen/platform_spec.rb +0 -88
- data/spec/kitchen/provisioner/base_spec.rb +0 -393
- data/spec/kitchen/provisioner/chef/policyfile_spec.rb +0 -140
- data/spec/kitchen/provisioner/chef_apply_spec.rb +0 -131
- data/spec/kitchen/provisioner/chef_base_spec.rb +0 -1565
- data/spec/kitchen/provisioner/chef_solo_spec.rb +0 -602
- data/spec/kitchen/provisioner/chef_zero_spec.rb +0 -1013
- data/spec/kitchen/provisioner/dummy_spec.rb +0 -96
- data/spec/kitchen/provisioner/shell_spec.rb +0 -623
- data/spec/kitchen/provisioner_spec.rb +0 -101
- data/spec/kitchen/shell_out_spec.rb +0 -146
- data/spec/kitchen/ssh_spec.rb +0 -584
- data/spec/kitchen/state_file_spec.rb +0 -122
- data/spec/kitchen/suite_spec.rb +0 -61
- data/spec/kitchen/transport/base_spec.rb +0 -140
- data/spec/kitchen/transport/exec_spec.rb +0 -79
- data/spec/kitchen/transport/ssh_spec.rb +0 -1317
- data/spec/kitchen/transport/winrm_spec.rb +0 -1320
- data/spec/kitchen/transport_spec.rb +0 -106
- data/spec/kitchen/util_spec.rb +0 -250
- data/spec/kitchen/verifier/base_spec.rb +0 -346
- data/spec/kitchen/verifier/busser_spec.rb +0 -580
- data/spec/kitchen/verifier/dummy_spec.rb +0 -96
- data/spec/kitchen/verifier/shell_spec.rb +0 -157
- data/spec/kitchen/verifier_spec.rb +0 -114
- data/spec/kitchen_spec.rb +0 -112
- data/spec/spec_helper.rb +0 -110
- data/spec/support/powershell_max_size_spec.rb +0 -39
- data/test-kitchen.gemspec +0 -49
- data/test/cookbooks/test_cookbook/metadata.rb +0 -6
- data/test/cookbooks/test_cookbook/recipes/default.rb +0 -1
- data/test/integration/default/default_spec.rb +0 -3
- 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
|
-
|