chef-dk 1.2.22 → 1.3.40
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/Gemfile +8 -12
- data/Gemfile.lock +120 -116
- data/README.md +4 -3
- data/Rakefile +54 -0
- data/acceptance/Gemfile.lock +36 -47
- data/bin/chef +1 -1
- data/chef-dk.gemspec +9 -9
- data/lib/chef-dk/authenticated_http.rb +6 -7
- data/lib/chef-dk/builtin_commands.rb +3 -4
- data/lib/chef-dk/chef_runner.rb +7 -8
- data/lib/chef-dk/cli.rb +11 -11
- data/lib/chef-dk/command/base.rb +4 -4
- data/lib/chef-dk/command/clean_policy_cookbooks.rb +4 -5
- data/lib/chef-dk/command/clean_policy_revisions.rb +4 -6
- data/lib/chef-dk/command/delete_policy.rb +4 -6
- data/lib/chef-dk/command/delete_policy_group.rb +6 -8
- data/lib/chef-dk/command/diff.rb +9 -10
- data/lib/chef-dk/command/env.rb +26 -27
- data/lib/chef-dk/command/exec.rb +5 -6
- data/lib/chef-dk/command/export.rb +8 -10
- data/lib/chef-dk/command/gem.rb +5 -5
- data/lib/chef-dk/command/generate.rb +19 -19
- data/lib/chef-dk/command/generator_commands.rb +8 -8
- data/lib/chef-dk/command/generator_commands/app.rb +2 -3
- data/lib/chef-dk/command/generator_commands/attribute.rb +2 -3
- data/lib/chef-dk/command/generator_commands/base.rb +13 -13
- data/lib/chef-dk/command/generator_commands/build_cookbook.rb +2 -2
- data/lib/chef-dk/command/generator_commands/chef_exts/generator_desc_resource.rb +2 -2
- data/lib/chef-dk/command/generator_commands/chef_exts/quieter_doc_formatter.rb +1 -2
- data/lib/chef-dk/command/generator_commands/chef_exts/recipe_dsl_ext.rb +1 -2
- data/lib/chef-dk/command/generator_commands/cookbook.rb +2 -2
- data/lib/chef-dk/command/generator_commands/cookbook_code_file.rb +3 -3
- data/lib/chef-dk/command/generator_commands/cookbook_file.rb +2 -2
- data/lib/chef-dk/command/generator_commands/generator_generator.rb +4 -7
- data/lib/chef-dk/command/generator_commands/lwrp.rb +2 -2
- data/lib/chef-dk/command/generator_commands/policyfile.rb +2 -3
- data/lib/chef-dk/command/generator_commands/recipe.rb +2 -2
- data/lib/chef-dk/command/generator_commands/repo.rb +1 -3
- data/lib/chef-dk/command/generator_commands/template.rb +2 -2
- data/lib/chef-dk/command/install.rb +4 -5
- data/lib/chef-dk/command/provision.rb +12 -14
- data/lib/chef-dk/command/push.rb +5 -6
- data/lib/chef-dk/command/push_archive.rb +4 -5
- data/lib/chef-dk/command/shell_init.rb +15 -16
- data/lib/chef-dk/command/show_policy.rb +5 -7
- data/lib/chef-dk/command/undelete.rb +6 -7
- data/lib/chef-dk/command/update.rb +5 -6
- data/lib/chef-dk/command/verify.rb +30 -31
- data/lib/chef-dk/commands_map.rb +1 -3
- data/lib/chef-dk/component_test.rb +13 -13
- data/lib/chef-dk/configurable.rb +2 -2
- data/lib/chef-dk/cookbook_metadata.rb +2 -2
- data/lib/chef-dk/cookbook_omnifetch.rb +7 -8
- data/lib/chef-dk/cookbook_profiler/git.rb +8 -8
- data/lib/chef-dk/cookbook_profiler/identifiers.rb +7 -7
- data/lib/chef-dk/cookbook_profiler/null_scm.rb +0 -1
- data/lib/chef-dk/exceptions.rb +1 -1
- data/lib/chef-dk/generator.rb +9 -7
- data/lib/chef-dk/helpers.rb +15 -15
- data/lib/chef-dk/pager.rb +2 -3
- data/lib/chef-dk/policyfile/chef_repo_cookbook_source.rb +4 -4
- data/lib/chef-dk/policyfile/chef_server_cookbook_source.rb +6 -6
- data/lib/chef-dk/policyfile/community_cookbook_source.rb +4 -5
- data/lib/chef-dk/policyfile/comparison_base.rb +3 -4
- data/lib/chef-dk/policyfile/cookbook_location_specification.rb +6 -6
- data/lib/chef-dk/policyfile/cookbook_locks.rb +11 -11
- data/lib/chef-dk/policyfile/cookbook_sources.rb +5 -5
- data/lib/chef-dk/policyfile/delivery_supermarket_source.rb +8 -9
- data/lib/chef-dk/policyfile/differ.rb +7 -10
- data/lib/chef-dk/policyfile/dsl.rb +10 -11
- data/lib/chef-dk/policyfile/lister.rb +3 -6
- data/lib/chef-dk/policyfile/null_cookbook_source.rb +3 -3
- data/lib/chef-dk/policyfile/read_cookbook_for_compat_mode_upload.rb +3 -3
- data/lib/chef-dk/policyfile/reports/install.rb +3 -4
- data/lib/chef-dk/policyfile/reports/table_printer.rb +0 -1
- data/lib/chef-dk/policyfile/reports/upload.rb +4 -4
- data/lib/chef-dk/policyfile/solution_dependencies.rb +22 -22
- data/lib/chef-dk/policyfile/source_uri.rb +2 -2
- data/lib/chef-dk/policyfile/storage_config.rb +4 -5
- data/lib/chef-dk/policyfile/undo_record.rb +6 -9
- data/lib/chef-dk/policyfile/undo_stack.rb +5 -7
- data/lib/chef-dk/policyfile/uploader.rb +8 -8
- data/lib/chef-dk/policyfile_compiler.rb +16 -20
- data/lib/chef-dk/policyfile_lock.rb +10 -11
- data/lib/chef-dk/policyfile_services/clean_policies.rb +3 -3
- data/lib/chef-dk/policyfile_services/clean_policy_cookbooks.rb +3 -5
- data/lib/chef-dk/policyfile_services/export_repo.rb +13 -14
- data/lib/chef-dk/policyfile_services/install.rb +6 -6
- data/lib/chef-dk/policyfile_services/push.rb +6 -8
- data/lib/chef-dk/policyfile_services/push_archive.rb +6 -10
- data/lib/chef-dk/policyfile_services/rm_policy.rb +4 -5
- data/lib/chef-dk/policyfile_services/rm_policy_group.rb +4 -5
- data/lib/chef-dk/policyfile_services/show_policy.rb +5 -6
- data/lib/chef-dk/policyfile_services/undelete.rb +3 -3
- data/lib/chef-dk/policyfile_services/update_attributes.rb +4 -6
- data/lib/chef-dk/service_exception_inspectors.rb +2 -3
- data/lib/chef-dk/service_exception_inspectors/base.rb +0 -1
- data/lib/chef-dk/service_exception_inspectors/http.rb +1 -3
- data/lib/chef-dk/service_exceptions.rb +1 -2
- data/lib/chef-dk/shell_out.rb +1 -1
- data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/.kitchen.yml +2 -2
- data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/README.md +2 -2
- data/lib/chef-dk/skeletons/code_generator/files/default/build_cookbook/test-fixture-recipe.rb +1 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/attributes/default.rb +1 -1
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/recipes/default.rb +1 -1
- data/lib/chef-dk/skeletons/code_generator/metadata.rb +0 -1
- data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +6 -6
- data/lib/chef-dk/skeletons/code_generator/recipes/attribute.rb +3 -3
- data/lib/chef-dk/skeletons/code_generator/recipes/build_cookbook.rb +43 -39
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +31 -22
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb +5 -5
- data/lib/chef-dk/skeletons/code_generator/recipes/lwrp.rb +4 -4
- data/lib/chef-dk/skeletons/code_generator/recipes/policyfile.rb +1 -1
- data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/recipes/repo.rb +15 -15
- data/lib/chef-dk/skeletons/code_generator/recipes/template.rb +6 -6
- data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/Berksfile.erb +0 -2
- data/lib/chef-dk/skeletons/code_generator/templates/default/build_cookbook/metadata.rb.erb +1 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/inspec_default_test.rb.erb +4 -4
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +1 -1
- data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +4 -3
- data/lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb +4 -2
- data/lib/chef-dk/ui.rb +0 -1
- data/lib/chef-dk/version.rb +1 -1
- data/lib/kitchen/provisioner/policyfile_zero.rb +7 -7
- data/omnibus_overrides.rb +3 -3
- data/spec/shared/a_file_generator.rb +3 -3
- data/spec/shared/custom_generator_cookbook.rb +6 -6
- data/spec/shared/fixture_cookbook_checksums.rb +2 -3
- data/spec/shared/setup_git_committer_config.rb +1 -1
- data/spec/shared/setup_git_cookbooks.rb +2 -2
- data/spec/spec_helper.rb +5 -5
- data/spec/test_helpers.rb +2 -2
- data/spec/unit/chef_runner_spec.rb +5 -7
- data/spec/unit/cli_spec.rb +36 -37
- data/spec/unit/command/base_spec.rb +4 -5
- data/spec/unit/command/clean_policy_cookbooks_spec.rb +8 -9
- data/spec/unit/command/clean_policy_revisions_spec.rb +8 -9
- data/spec/unit/command/delete_policy_group_spec.rb +11 -12
- data/spec/unit/command/delete_policy_spec.rb +11 -12
- data/spec/unit/command/diff_spec.rb +5 -6
- data/spec/unit/command/env_spec.rb +5 -5
- data/spec/unit/command/exec_spec.rb +18 -19
- data/spec/unit/command/export_spec.rb +5 -6
- data/spec/unit/command/generate_spec.rb +10 -10
- data/spec/unit/command/generator_commands/app_spec.rb +6 -6
- data/spec/unit/command/generator_commands/attribute_spec.rb +3 -4
- data/spec/unit/command/generator_commands/base_spec.rb +46 -46
- data/spec/unit/command/generator_commands/build_cookbook_spec.rb +50 -16
- data/spec/unit/command/generator_commands/chef_exts/generator_desc_resource_spec.rb +9 -9
- data/spec/unit/command/generator_commands/chef_exts/recipe_dsl_ext_spec.rb +16 -16
- data/spec/unit/command/generator_commands/cookbook_file_spec.rb +3 -4
- data/spec/unit/command/generator_commands/cookbook_spec.rb +23 -26
- data/spec/unit/command/generator_commands/generator_generator_spec.rb +4 -6
- data/spec/unit/command/generator_commands/lwrp_spec.rb +3 -4
- data/spec/unit/command/generator_commands/policyfile_spec.rb +3 -5
- data/spec/unit/command/generator_commands/recipe_spec.rb +4 -4
- data/spec/unit/command/generator_commands/repo_spec.rb +11 -11
- data/spec/unit/command/generator_commands/template_spec.rb +3 -4
- data/spec/unit/command/install_spec.rb +6 -6
- data/spec/unit/command/provision_spec.rb +27 -30
- data/spec/unit/command/push_archive_spec.rb +3 -3
- data/spec/unit/command/push_spec.rb +5 -6
- data/spec/unit/command/shell_init_spec.rb +17 -19
- data/spec/unit/command/show_policy_spec.rb +11 -12
- data/spec/unit/command/undelete_spec.rb +12 -14
- data/spec/unit/command/update_spec.rb +8 -8
- data/spec/unit/command/verify_spec.rb +10 -10
- data/spec/unit/commands_map_spec.rb +4 -4
- data/spec/unit/component_test_spec.rb +3 -3
- data/spec/unit/configurable_spec.rb +7 -7
- data/spec/unit/cookbook_metadata_spec.rb +5 -7
- data/spec/unit/cookbook_profiler/git_spec.rb +6 -7
- data/spec/unit/cookbook_profiler/identifiers_spec.rb +5 -7
- data/spec/unit/fixtures/command/cli_test_command.rb +2 -2
- data/spec/unit/fixtures/configurable/test_configurable.rb +1 -1
- data/spec/unit/fixtures/cookbooks_api/update_fixtures.rb +13 -16
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/verify_me +1 -1
- data/spec/unit/gemfile_util_spec.rb +4 -4
- data/spec/unit/generator_spec.rb +10 -10
- data/spec/unit/helpers_spec.rb +31 -31
- data/spec/unit/pager_spec.rb +5 -7
- data/spec/unit/policyfile/chef_repo_cookbook_source_spec.rb +11 -11
- data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +13 -13
- data/spec/unit/policyfile/community_cookbook_source_spec.rb +3 -4
- data/spec/unit/policyfile/comparison_base_spec.rb +3 -6
- data/spec/unit/policyfile/cookbook_location_specification_spec.rb +3 -3
- data/spec/unit/policyfile/cookbook_locks_spec.rb +7 -9
- data/spec/unit/policyfile/delivery_supermarket_source_spec.rb +16 -17
- data/spec/unit/policyfile/differ_spec.rb +4 -5
- data/spec/unit/policyfile/lister_spec.rb +31 -35
- data/spec/unit/policyfile/null_cookbook_source_spec.rb +2 -3
- data/spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb +3 -3
- data/spec/unit/policyfile/reports/install_spec.rb +4 -5
- data/spec/unit/policyfile/reports/upload_spec.rb +4 -6
- data/spec/unit/policyfile/solution_dependencies_spec.rb +13 -13
- data/spec/unit/policyfile/source_uri_spec.rb +5 -5
- data/spec/unit/policyfile/storage_config_spec.rb +3 -7
- data/spec/unit/policyfile/undo_record_spec.rb +21 -23
- data/spec/unit/policyfile/undo_stack_spec.rb +5 -6
- data/spec/unit/policyfile/uploader_spec.rb +73 -75
- data/spec/unit/policyfile_demands_spec.rb +93 -99
- data/spec/unit/policyfile_evaluation_spec.rb +14 -14
- data/spec/unit/policyfile_lock_build_spec.rb +64 -65
- data/spec/unit/policyfile_lock_install_spec.rb +5 -6
- data/spec/unit/policyfile_lock_serialization_spec.rb +14 -15
- data/spec/unit/policyfile_lock_validation_spec.rb +17 -20
- data/spec/unit/policyfile_services/clean_policies_spec.rb +16 -16
- data/spec/unit/policyfile_services/clean_policy_cookbooks_spec.rb +26 -29
- data/spec/unit/policyfile_services/export_repo_spec.rb +3 -6
- data/spec/unit/policyfile_services/install_spec.rb +5 -7
- data/spec/unit/policyfile_services/push_archive_spec.rb +4 -8
- data/spec/unit/policyfile_services/push_spec.rb +3 -3
- data/spec/unit/policyfile_services/rm_policy_group_spec.rb +16 -20
- data/spec/unit/policyfile_services/rm_policy_spec.rb +14 -17
- data/spec/unit/policyfile_services/show_policy_spec.rb +78 -80
- data/spec/unit/policyfile_services/undelete_spec.rb +5 -7
- data/spec/unit/policyfile_services/update_attributes_spec.rb +34 -35
- data/spec/unit/service_exception_inspectors/base_spec.rb +2 -4
- data/spec/unit/service_exception_inspectors/http_spec.rb +9 -11
- data/spec/unit/shell_out_spec.rb +2 -2
- data/spec/unit/tasks/helpers_spec.rb +2 -2
- data/tasks/bin/bundle-platform +1 -1
- data/tasks/bundle_util.rb +1 -1
- data/tasks/dependencies.rb +21 -7
- data/tasks/gemfile_util.rb +1 -1
- data/tasks/helpers.rb +2 -2
- data/tasks/version.rb +26 -1
- data/version_policy.rb +6 -6
- metadata +3 -3
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
# limitations under the License.
|
|
16
16
|
#
|
|
17
17
|
|
|
18
|
-
require
|
|
19
|
-
require
|
|
20
|
-
require
|
|
18
|
+
require "spec_helper"
|
|
19
|
+
require "shared/command_with_ui_object"
|
|
20
|
+
require "chef-dk/command/clean_policy_revisions"
|
|
21
21
|
|
|
22
22
|
describe ChefDK::Command::CleanPolicyRevisions do
|
|
23
23
|
|
|
@@ -50,7 +50,7 @@ describe ChefDK::Command::CleanPolicyRevisions do
|
|
|
50
50
|
|
|
51
51
|
context "when given a path to the config" do
|
|
52
52
|
|
|
53
|
-
let(:params) { %w
|
|
53
|
+
let(:params) { %w{ -c ~/otherstuff/config.rb } }
|
|
54
54
|
|
|
55
55
|
let(:config_arg) { "~/otherstuff/config.rb" }
|
|
56
56
|
|
|
@@ -105,7 +105,7 @@ describe ChefDK::Command::CleanPolicyRevisions do
|
|
|
105
105
|
|
|
106
106
|
context "when given too many arguments" do
|
|
107
107
|
|
|
108
|
-
let(:params) { %w
|
|
108
|
+
let(:params) { %w{ wut-is-this } }
|
|
109
109
|
|
|
110
110
|
it "shows usage and exits" do
|
|
111
111
|
expect(command.run(params)).to eq(1)
|
|
@@ -134,7 +134,7 @@ describe ChefDK::Command::CleanPolicyRevisions do
|
|
|
134
134
|
it "prints a debugging message and exits non-zero" do
|
|
135
135
|
expect(command.run([])).to eq(1)
|
|
136
136
|
|
|
137
|
-
expected_output
|
|
137
|
+
expected_output = <<-E
|
|
138
138
|
Error: Failed to delete some policy revisions.
|
|
139
139
|
Reason: (StandardError) some operation failed
|
|
140
140
|
|
|
@@ -147,9 +147,9 @@ E
|
|
|
147
147
|
|
|
148
148
|
it "includes the backtrace in the error" do
|
|
149
149
|
|
|
150
|
-
command.run(%w
|
|
150
|
+
command.run(%w{ -D })
|
|
151
151
|
|
|
152
|
-
expected_output
|
|
152
|
+
expected_output = <<-E
|
|
153
153
|
Error: Failed to delete some policy revisions.
|
|
154
154
|
Reason: (StandardError) some operation failed
|
|
155
155
|
|
|
@@ -178,4 +178,3 @@ E
|
|
|
178
178
|
|
|
179
179
|
end
|
|
180
180
|
end
|
|
181
|
-
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
# limitations under the License.
|
|
16
16
|
#
|
|
17
17
|
|
|
18
|
-
require
|
|
19
|
-
require
|
|
20
|
-
require
|
|
18
|
+
require "spec_helper"
|
|
19
|
+
require "shared/command_with_ui_object"
|
|
20
|
+
require "chef-dk/command/delete_policy_group"
|
|
21
21
|
|
|
22
22
|
describe ChefDK::Command::DeletePolicyGroup do
|
|
23
23
|
|
|
@@ -67,7 +67,7 @@ describe ChefDK::Command::DeletePolicyGroup do
|
|
|
67
67
|
|
|
68
68
|
context "when given a path to the config" do
|
|
69
69
|
|
|
70
|
-
let(:params) { base_params + %w
|
|
70
|
+
let(:params) { base_params + %w{ -c ~/otherstuff/config.rb } }
|
|
71
71
|
|
|
72
72
|
let(:config_arg) { "~/otherstuff/config.rb" }
|
|
73
73
|
|
|
@@ -122,7 +122,7 @@ describe ChefDK::Command::DeletePolicyGroup do
|
|
|
122
122
|
|
|
123
123
|
context "when given too few arguments" do
|
|
124
124
|
|
|
125
|
-
let(:params) { %w
|
|
125
|
+
let(:params) { %w{ } }
|
|
126
126
|
|
|
127
127
|
it "shows usage and exits" do
|
|
128
128
|
expect(command.run(params)).to eq(1)
|
|
@@ -132,7 +132,7 @@ describe ChefDK::Command::DeletePolicyGroup do
|
|
|
132
132
|
|
|
133
133
|
context "when given too many arguments" do
|
|
134
134
|
|
|
135
|
-
let(:params) { %w
|
|
135
|
+
let(:params) { %w{ policygroup wut-is-this } }
|
|
136
136
|
|
|
137
137
|
it "shows usage and exits" do
|
|
138
138
|
expect(command.run(params)).to eq(1)
|
|
@@ -159,9 +159,9 @@ describe ChefDK::Command::DeletePolicyGroup do
|
|
|
159
159
|
end
|
|
160
160
|
|
|
161
161
|
it "prints a debugging message and exits non-zero" do
|
|
162
|
-
expect(command.run(%w
|
|
162
|
+
expect(command.run(%w{example-policy-group})).to eq(1)
|
|
163
163
|
|
|
164
|
-
expected_output
|
|
164
|
+
expected_output = <<-E
|
|
165
165
|
Error: Failed to delete policy group
|
|
166
166
|
Reason: (StandardError) some operation failed
|
|
167
167
|
|
|
@@ -173,9 +173,9 @@ E
|
|
|
173
173
|
context "when debug is enabled" do
|
|
174
174
|
|
|
175
175
|
it "includes the backtrace in the error" do
|
|
176
|
-
command.run(%w
|
|
176
|
+
command.run(%w{ example-policy-group -D })
|
|
177
177
|
|
|
178
|
-
expected_output
|
|
178
|
+
expected_output = <<-E
|
|
179
179
|
Error: Failed to delete policy group
|
|
180
180
|
Reason: (StandardError) some operation failed
|
|
181
181
|
|
|
@@ -197,11 +197,10 @@ E
|
|
|
197
197
|
end
|
|
198
198
|
|
|
199
199
|
it "exits 0" do
|
|
200
|
-
expect(command.run(%w
|
|
200
|
+
expect(command.run(%w{example-policy-group})).to eq(0)
|
|
201
201
|
end
|
|
202
202
|
|
|
203
203
|
end
|
|
204
204
|
|
|
205
205
|
end
|
|
206
206
|
end
|
|
207
|
-
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
# limitations under the License.
|
|
16
16
|
#
|
|
17
17
|
|
|
18
|
-
require
|
|
19
|
-
require
|
|
20
|
-
require
|
|
18
|
+
require "spec_helper"
|
|
19
|
+
require "shared/command_with_ui_object"
|
|
20
|
+
require "chef-dk/command/delete_policy"
|
|
21
21
|
|
|
22
22
|
describe ChefDK::Command::DeletePolicy do
|
|
23
23
|
|
|
@@ -67,7 +67,7 @@ describe ChefDK::Command::DeletePolicy do
|
|
|
67
67
|
|
|
68
68
|
context "when given a path to the config" do
|
|
69
69
|
|
|
70
|
-
let(:params) { base_params + %w
|
|
70
|
+
let(:params) { base_params + %w{ -c ~/otherstuff/config.rb } }
|
|
71
71
|
|
|
72
72
|
let(:config_arg) { "~/otherstuff/config.rb" }
|
|
73
73
|
|
|
@@ -122,7 +122,7 @@ describe ChefDK::Command::DeletePolicy do
|
|
|
122
122
|
|
|
123
123
|
context "when given too few arguments" do
|
|
124
124
|
|
|
125
|
-
let(:params) { %w
|
|
125
|
+
let(:params) { %w{ } }
|
|
126
126
|
|
|
127
127
|
it "shows usage and exits" do
|
|
128
128
|
expect(command.run(params)).to eq(1)
|
|
@@ -132,7 +132,7 @@ describe ChefDK::Command::DeletePolicy do
|
|
|
132
132
|
|
|
133
133
|
context "when given too many arguments" do
|
|
134
134
|
|
|
135
|
-
let(:params) { %w
|
|
135
|
+
let(:params) { %w{ a-policy-name wut-is-this } }
|
|
136
136
|
|
|
137
137
|
it "shows usage and exits" do
|
|
138
138
|
expect(command.run(params)).to eq(1)
|
|
@@ -159,9 +159,9 @@ describe ChefDK::Command::DeletePolicy do
|
|
|
159
159
|
end
|
|
160
160
|
|
|
161
161
|
it "prints a debugging message and exits non-zero" do
|
|
162
|
-
expect(command.run(%w
|
|
162
|
+
expect(command.run(%w{example-policy})).to eq(1)
|
|
163
163
|
|
|
164
|
-
expected_output
|
|
164
|
+
expected_output = <<-E
|
|
165
165
|
Error: Failed to delete policy.
|
|
166
166
|
Reason: (StandardError) some operation failed
|
|
167
167
|
|
|
@@ -173,9 +173,9 @@ E
|
|
|
173
173
|
context "when debug is enabled" do
|
|
174
174
|
|
|
175
175
|
it "includes the backtrace in the error" do
|
|
176
|
-
command.run(%w
|
|
176
|
+
command.run(%w{ example-policy -D })
|
|
177
177
|
|
|
178
|
-
expected_output
|
|
178
|
+
expected_output = <<-E
|
|
179
179
|
Error: Failed to delete policy.
|
|
180
180
|
Reason: (StandardError) some operation failed
|
|
181
181
|
|
|
@@ -197,11 +197,10 @@ E
|
|
|
197
197
|
end
|
|
198
198
|
|
|
199
199
|
it "exits 0" do
|
|
200
|
-
expect(command.run(%w
|
|
200
|
+
expect(command.run(%w{example-policy})).to eq(0)
|
|
201
201
|
end
|
|
202
202
|
|
|
203
203
|
end
|
|
204
204
|
|
|
205
205
|
end
|
|
206
206
|
end
|
|
207
|
-
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
# limitations under the License.
|
|
16
16
|
#
|
|
17
17
|
|
|
18
|
-
require
|
|
19
|
-
require
|
|
20
|
-
require
|
|
21
|
-
require
|
|
18
|
+
require "spec_helper"
|
|
19
|
+
require "shared/command_with_ui_object"
|
|
20
|
+
require "chef-dk/command/diff"
|
|
21
|
+
require "chef-dk/service_exceptions"
|
|
22
22
|
|
|
23
23
|
describe ChefDK::Command::Diff do
|
|
24
24
|
|
|
@@ -239,7 +239,7 @@ describe ChefDK::Command::Diff do
|
|
|
239
239
|
|
|
240
240
|
context "when the local lockfile can be read and parsed" do
|
|
241
241
|
before do
|
|
242
|
-
allow(local_lock_comparison_base).to receive(:lock).and_return({"name" => "example-policy"})
|
|
242
|
+
allow(local_lock_comparison_base).to receive(:lock).and_return({ "name" => "example-policy" })
|
|
243
243
|
allow(command).to receive(:differ).and_return(differ)
|
|
244
244
|
command.ui = ui
|
|
245
245
|
end
|
|
@@ -309,4 +309,3 @@ describe ChefDK::Command::Diff do
|
|
|
309
309
|
end
|
|
310
310
|
end
|
|
311
311
|
end
|
|
312
|
-
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
# limitations under the License.
|
|
16
16
|
#
|
|
17
17
|
|
|
18
|
-
require
|
|
19
|
-
require
|
|
20
|
-
require
|
|
18
|
+
require "spec_helper"
|
|
19
|
+
require "yaml"
|
|
20
|
+
require "chef-dk/command/env"
|
|
21
21
|
|
|
22
22
|
describe ChefDK::Command::Env do
|
|
23
23
|
let(:ui) { TestHelpers::TestUI.new }
|
|
@@ -25,7 +25,7 @@ describe ChefDK::Command::Env do
|
|
|
25
25
|
|
|
26
26
|
let(:command_options) { [] }
|
|
27
27
|
|
|
28
|
-
let(:user_bin_dir) { File.expand_path(File.join(Gem.user_dir,
|
|
28
|
+
let(:user_bin_dir) { File.expand_path(File.join(Gem.user_dir, "bin")) }
|
|
29
29
|
let(:omnibus_embedded_bin_dir) { "/foo/embedded/bin" }
|
|
30
30
|
let(:omnibus_bin_dir) { "/foo/bin" }
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@ describe ChefDK::Command::Env do
|
|
|
46
46
|
describe "when running env command" do
|
|
47
47
|
it "should return valid yaml" do
|
|
48
48
|
run_command
|
|
49
|
-
expect{ YAML.load(ui.output) }.not_to raise_error
|
|
49
|
+
expect { YAML.load(ui.output) }.not_to raise_error
|
|
50
50
|
end
|
|
51
51
|
end
|
|
52
52
|
end
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
# limitations under the License.
|
|
16
16
|
#
|
|
17
17
|
|
|
18
|
-
require
|
|
19
|
-
require
|
|
18
|
+
require "spec_helper"
|
|
19
|
+
require "chef-dk/command/exec"
|
|
20
20
|
|
|
21
21
|
describe ChefDK::Command::Exec do
|
|
22
22
|
let(:command_instance) { ChefDK::Command::Exec.new() }
|
|
@@ -43,13 +43,13 @@ describe ChefDK::Command::Exec do
|
|
|
43
43
|
end
|
|
44
44
|
|
|
45
45
|
it "should raise OmnibusInstallNotFound if directory is not looking like omnibus" do
|
|
46
|
-
allow(Gem).to receive(:ruby).and_return(File.join(fixtures_path,".rbenv/versions/2.1.1/bin/ruby"))
|
|
47
|
-
expect{command_instance.omnibus_bin_dir}.to raise_error(ChefDK::OmnibusInstallNotFound)
|
|
46
|
+
allow(Gem).to receive(:ruby).and_return(File.join(fixtures_path, ".rbenv/versions/2.1.1/bin/ruby"))
|
|
47
|
+
expect { command_instance.omnibus_bin_dir }.to raise_error(ChefDK::OmnibusInstallNotFound)
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
it "should raise OmnibusInstallNotFound if directory is not looking like omnibus" do
|
|
51
|
-
allow(Gem).to receive(:ruby).and_return(File.join(fixtures_path,".rbenv/versions/2.1.1/bin/ruby"))
|
|
52
|
-
expect{command_instance.omnibus_embedded_bin_dir}.to raise_error(ChefDK::OmnibusInstallNotFound)
|
|
51
|
+
allow(Gem).to receive(:ruby).and_return(File.join(fixtures_path, ".rbenv/versions/2.1.1/bin/ruby"))
|
|
52
|
+
expect { command_instance.omnibus_embedded_bin_dir }.to raise_error(ChefDK::OmnibusInstallNotFound)
|
|
53
53
|
end
|
|
54
54
|
end
|
|
55
55
|
|
|
@@ -62,19 +62,19 @@ describe ChefDK::Command::Exec do
|
|
|
62
62
|
# Using a fake path separator to keep to prevent people from accidently
|
|
63
63
|
# getting things correct on their system. This enforces that, in general,
|
|
64
64
|
# you should use the path separator ruby is telling you to use.
|
|
65
|
-
stub_const("File::PATH_SEPARATOR",
|
|
65
|
+
stub_const("File::PATH_SEPARATOR", "<>")
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
context "when running exec env" do
|
|
69
69
|
let(:command_options) { %w{gem list} }
|
|
70
70
|
|
|
71
|
-
let(:user_bin_dir) { File.expand_path(File.join(Gem.user_dir,
|
|
71
|
+
let(:user_bin_dir) { File.expand_path(File.join(Gem.user_dir, "bin")) }
|
|
72
72
|
|
|
73
73
|
let(:omnibus_embedded_bin_dir) { "/foo/embedded/bin" }
|
|
74
74
|
|
|
75
75
|
let(:omnibus_bin_dir) { "/foo/bin" }
|
|
76
76
|
|
|
77
|
-
let(:expected_PATH) { [omnibus_bin_dir, user_bin_dir, omnibus_embedded_bin_dir, ENV[
|
|
77
|
+
let(:expected_PATH) { [omnibus_bin_dir, user_bin_dir, omnibus_embedded_bin_dir, ENV["PATH"]].join(File::PATH_SEPARATOR) }
|
|
78
78
|
|
|
79
79
|
let(:expected_GEM_ROOT) { Gem.default_dir }
|
|
80
80
|
|
|
@@ -94,12 +94,12 @@ describe ChefDK::Command::Exec do
|
|
|
94
94
|
expect(ENV).to receive(:[]=).with("GEM_PATH", expected_GEM_PATH)
|
|
95
95
|
|
|
96
96
|
expect(command_instance).to receive(:exec).with(*command_options)
|
|
97
|
-
expect{ run_command }.to raise_error(RuntimeError) # XXX: this isn't a test we just need to swallow the exception
|
|
97
|
+
expect { run_command }.to raise_error(RuntimeError) # XXX: this isn't a test we just need to swallow the exception
|
|
98
98
|
end
|
|
99
99
|
|
|
100
|
-
[
|
|
100
|
+
["-v", "--version", "-h", "--help"].each do |switch|
|
|
101
101
|
context "when running a command with #{switch}" do
|
|
102
|
-
let(:command_options) { %W
|
|
102
|
+
let(:command_options) { %W{gem list #{switch}} }
|
|
103
103
|
|
|
104
104
|
it "should call exec to fire off the command with the correct environment" do
|
|
105
105
|
expect(ENV).to receive(:[]=).with("PATH", expected_PATH)
|
|
@@ -108,14 +108,14 @@ describe ChefDK::Command::Exec do
|
|
|
108
108
|
expect(ENV).to receive(:[]=).with("GEM_PATH", expected_GEM_PATH)
|
|
109
109
|
|
|
110
110
|
expect(command_instance).to receive(:exec).with(*command_options)
|
|
111
|
-
expect{ run_command }.to raise_error(RuntimeError) # XXX: this isn't a test we just need to swallow the exception
|
|
111
|
+
expect { run_command }.to raise_error(RuntimeError) # XXX: this isn't a test we just need to swallow the exception
|
|
112
112
|
end
|
|
113
113
|
end
|
|
114
114
|
end
|
|
115
115
|
|
|
116
|
-
[
|
|
116
|
+
["-h", "--help"].each do |switch|
|
|
117
117
|
context "when running a exec with #{switch} and things after it" do
|
|
118
|
-
let(:command_options) { %W
|
|
118
|
+
let(:command_options) { %W{#{switch} gem} }
|
|
119
119
|
|
|
120
120
|
it "should call not call exec, but it should print the banner" do
|
|
121
121
|
allow(command_instance).to receive(:msg)
|
|
@@ -143,13 +143,13 @@ describe ChefDK::Command::Exec do
|
|
|
143
143
|
context "when running command that does not exist" do
|
|
144
144
|
let(:command_options) { %w{chef_rules_everything_aroundme} }
|
|
145
145
|
|
|
146
|
-
let(:user_bin_dir) { File.expand_path(File.join(Gem.user_dir,
|
|
146
|
+
let(:user_bin_dir) { File.expand_path(File.join(Gem.user_dir, "bin")) }
|
|
147
147
|
|
|
148
148
|
let(:omnibus_bin_dir) { "/foo/bin" }
|
|
149
149
|
|
|
150
150
|
let(:omnibus_embedded_bin_dir) { "/foo/embedded/bin" }
|
|
151
151
|
|
|
152
|
-
let(:expected_PATH) { [omnibus_bin_dir, user_bin_dir, omnibus_embedded_bin_dir, ENV[
|
|
152
|
+
let(:expected_PATH) { [omnibus_bin_dir, user_bin_dir, omnibus_embedded_bin_dir, ENV["PATH"]].join(File::PATH_SEPARATOR) }
|
|
153
153
|
|
|
154
154
|
let(:expected_GEM_ROOT) { Gem.default_dir }
|
|
155
155
|
|
|
@@ -157,7 +157,6 @@ describe ChefDK::Command::Exec do
|
|
|
157
157
|
|
|
158
158
|
let(:expected_GEM_PATH) { Gem.path.join(File::PATH_SEPARATOR) }
|
|
159
159
|
|
|
160
|
-
|
|
161
160
|
before do
|
|
162
161
|
allow(command_instance).to receive(:omnibus_embedded_bin_dir).and_return(omnibus_embedded_bin_dir)
|
|
163
162
|
allow(command_instance).to receive(:omnibus_bin_dir).and_return(omnibus_bin_dir)
|
|
@@ -171,7 +170,7 @@ describe ChefDK::Command::Exec do
|
|
|
171
170
|
|
|
172
171
|
# XXX: this doesn't really test much, but really calling exec will never return to rspec
|
|
173
172
|
expect(command_instance).to receive(:exec).with(*command_options).and_raise(Errno::ENOENT)
|
|
174
|
-
expect{ run_command }.to raise_error(Errno::ENOENT)
|
|
173
|
+
expect { run_command }.to raise_error(Errno::ENOENT)
|
|
175
174
|
end
|
|
176
175
|
end
|
|
177
176
|
end
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
# limitations under the License.
|
|
16
16
|
#
|
|
17
17
|
|
|
18
|
-
require
|
|
19
|
-
require
|
|
20
|
-
require
|
|
18
|
+
require "spec_helper"
|
|
19
|
+
require "shared/command_with_ui_object"
|
|
20
|
+
require "chef-dk/command/export"
|
|
21
21
|
|
|
22
22
|
describe ChefDK::Command::Export do
|
|
23
23
|
|
|
@@ -164,7 +164,7 @@ MESSAGE
|
|
|
164
164
|
end
|
|
165
165
|
|
|
166
166
|
it "displays the exception and cause" do
|
|
167
|
-
expected_error_text
|
|
167
|
+
expected_error_text = <<-E
|
|
168
168
|
Error: export failed
|
|
169
169
|
Reason: (StandardError) some operation failed
|
|
170
170
|
|
|
@@ -179,7 +179,7 @@ E
|
|
|
179
179
|
let(:params) { [ "path/to/export", "-D"] }
|
|
180
180
|
|
|
181
181
|
it "displays the exception and cause with backtrace" do
|
|
182
|
-
expected_error_text
|
|
182
|
+
expected_error_text = <<-E
|
|
183
183
|
Error: export failed
|
|
184
184
|
Reason: (StandardError) some operation failed
|
|
185
185
|
|
|
@@ -197,4 +197,3 @@ E
|
|
|
197
197
|
|
|
198
198
|
end
|
|
199
199
|
end
|
|
200
|
-
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
# limitations under the License.
|
|
16
16
|
#
|
|
17
17
|
|
|
18
|
-
require
|
|
18
|
+
require "spec_helper"
|
|
19
19
|
require "stringio"
|
|
20
|
-
require
|
|
20
|
+
require "chef-dk/command/generate"
|
|
21
21
|
|
|
22
22
|
class ChefDK::Command::GeneratorCommands::Example < ChefDK::Command::GeneratorCommands::Base
|
|
23
23
|
|
|
@@ -41,7 +41,7 @@ class ChefDK::Command::GeneratorCommands::Example < ChefDK::Command::GeneratorCo
|
|
|
41
41
|
|
|
42
42
|
def run
|
|
43
43
|
parse_options(@argv)
|
|
44
|
-
{:argv => @argv, :ran_cmd => "example"}
|
|
44
|
+
{ :argv => @argv, :ran_cmd => "example" }
|
|
45
45
|
end
|
|
46
46
|
end
|
|
47
47
|
|
|
@@ -99,29 +99,29 @@ E
|
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
it "prints usage when running an unknown generator" do
|
|
102
|
-
generate.run(%w
|
|
102
|
+
generate.run(%w{ancient-aliens})
|
|
103
103
|
expect(stdout).to include(expected_help_message)
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
it "runs the generator sub-command" do
|
|
107
|
-
result = generate.run(%w
|
|
107
|
+
result = generate.run(%w{example})
|
|
108
108
|
expect(result[:ran_cmd]).to eq("example")
|
|
109
109
|
end
|
|
110
110
|
|
|
111
111
|
it "removes the subcommand name from argv" do
|
|
112
|
-
result = generate.run(%w
|
|
112
|
+
result = generate.run(%w{example})
|
|
113
113
|
expect(result[:argv]).to eq([])
|
|
114
114
|
end
|
|
115
115
|
|
|
116
116
|
it "passes extra arguments and options to the subcommand" do
|
|
117
|
-
result = generate.run(%w
|
|
118
|
-
expect(result[:argv]).to eq(%w
|
|
117
|
+
result = generate.run(%w{example argument_one argument_two --option-one --option-two})
|
|
118
|
+
expect(result[:argv]).to eq(%w{argument_one argument_two --option-one --option-two})
|
|
119
119
|
end
|
|
120
120
|
|
|
121
121
|
describe "when an invalid option is passed to the subcommand" do
|
|
122
122
|
|
|
123
123
|
it "prints usage and returns non-zero" do
|
|
124
|
-
result = generate.run(%w
|
|
124
|
+
result = generate.run(%w{example --nope})
|
|
125
125
|
expect(result).to eq(1)
|
|
126
126
|
expect(stderr).to eq("ERROR: invalid option: --nope\n\n")
|
|
127
127
|
end
|
|
@@ -131,7 +131,7 @@ E
|
|
|
131
131
|
describe "when an option requires an argument but none is given" do
|
|
132
132
|
|
|
133
133
|
it "prints usage and returns non-zero" do
|
|
134
|
-
result = generate.run(%w
|
|
134
|
+
result = generate.run(%w{example --arg})
|
|
135
135
|
expect(result).to eq(1)
|
|
136
136
|
expect(stderr).to eq("ERROR: missing argument: --arg\n\n")
|
|
137
137
|
end
|