chef-dk 0.8.0 → 0.9.0
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/CONTRIBUTING.md +190 -190
- data/Gemfile +26 -0
- data/LICENSE +201 -201
- data/README.md +276 -276
- data/Rakefile +18 -18
- data/bin/chef +25 -25
- data/lib/chef-dk.rb +19 -19
- data/lib/chef-dk/authenticated_http.rb +40 -40
- data/lib/chef-dk/builtin_commands.rb +60 -60
- data/lib/chef-dk/chef_runner.rb +98 -98
- data/lib/chef-dk/cli.rb +200 -200
- data/lib/chef-dk/command/base.rb +79 -75
- data/lib/chef-dk/command/clean_policy_cookbooks.rb +116 -116
- data/lib/chef-dk/command/clean_policy_revisions.rb +113 -113
- data/lib/chef-dk/command/delete_policy.rb +122 -122
- data/lib/chef-dk/command/delete_policy_group.rb +122 -122
- data/lib/chef-dk/command/diff.rb +316 -316
- data/lib/chef-dk/command/env.rb +90 -90
- data/lib/chef-dk/command/exec.rb +45 -45
- data/lib/chef-dk/command/export.rb +151 -153
- data/lib/chef-dk/command/gem.rb +47 -47
- data/lib/chef-dk/command/generate.rb +120 -118
- data/lib/chef-dk/command/generator_commands.rb +80 -80
- data/lib/chef-dk/command/generator_commands/app.rb +107 -107
- data/lib/chef-dk/command/generator_commands/attribute.rb +37 -37
- data/lib/chef-dk/command/generator_commands/base.rb +121 -121
- data/lib/chef-dk/command/generator_commands/cookbook.rb +119 -108
- data/lib/chef-dk/command/generator_commands/cookbook_code_file.rb +100 -100
- data/lib/chef-dk/command/generator_commands/cookbook_file.rb +45 -45
- data/lib/chef-dk/command/generator_commands/generator_generator.rb +177 -0
- data/lib/chef-dk/command/generator_commands/lwrp.rb +36 -36
- data/lib/chef-dk/command/generator_commands/policyfile.rb +86 -83
- data/lib/chef-dk/command/generator_commands/recipe.rb +36 -36
- data/lib/chef-dk/command/generator_commands/repo.rb +96 -96
- data/lib/chef-dk/command/generator_commands/template.rb +46 -46
- data/lib/chef-dk/command/install.rb +121 -121
- data/lib/chef-dk/command/provision.rb +438 -438
- data/lib/chef-dk/command/push.rb +118 -118
- data/lib/chef-dk/command/push_archive.rb +126 -126
- data/lib/chef-dk/command/shell_init.rb +180 -180
- data/lib/chef-dk/command/show_policy.rb +165 -165
- data/lib/chef-dk/command/undelete.rb +155 -155
- data/lib/chef-dk/command/update.rb +129 -129
- data/lib/chef-dk/command/verify.rb +490 -453
- data/lib/chef-dk/commands_map.rb +115 -115
- data/lib/chef-dk/completions/bash.sh.erb +5 -5
- data/lib/chef-dk/completions/chef.fish.erb +10 -10
- data/lib/chef-dk/completions/zsh.zsh.erb +21 -21
- data/lib/chef-dk/component_test.rb +171 -171
- data/lib/chef-dk/configurable.rb +57 -52
- data/lib/chef-dk/cookbook_metadata.rb +45 -45
- data/lib/chef-dk/cookbook_omnifetch.rb +32 -32
- data/lib/chef-dk/cookbook_profiler/git.rb +151 -151
- data/lib/chef-dk/cookbook_profiler/identifiers.rb +72 -72
- data/lib/chef-dk/cookbook_profiler/null_scm.rb +32 -32
- data/lib/chef-dk/exceptions.rb +113 -113
- data/lib/chef-dk/generator.rb +163 -162
- data/lib/chef-dk/helpers.rb +159 -159
- data/lib/chef-dk/pager.rb +106 -106
- data/lib/chef-dk/policyfile/chef_repo_cookbook_source.rb +122 -122
- data/lib/chef-dk/policyfile/chef_server_cookbook_source.rb +54 -54
- data/lib/chef-dk/policyfile/community_cookbook_source.rb +82 -82
- data/lib/chef-dk/policyfile/comparison_base.rb +124 -124
- data/lib/chef-dk/policyfile/cookbook_location_specification.rb +133 -133
- data/lib/chef-dk/policyfile/cookbook_locks.rb +466 -466
- data/lib/chef-dk/policyfile/cookbook_sources.rb +21 -21
- data/lib/chef-dk/policyfile/differ.rb +266 -266
- data/lib/chef-dk/policyfile/dsl.rb +197 -197
- data/lib/chef-dk/policyfile/lister.rb +232 -232
- data/lib/chef-dk/policyfile/null_cookbook_source.rb +45 -45
- data/lib/chef-dk/policyfile/read_cookbook_for_compat_mode_upload.rb +124 -124
- data/lib/chef-dk/policyfile/reports/install.rb +70 -70
- data/lib/chef-dk/policyfile/reports/table_printer.rb +58 -58
- data/lib/chef-dk/policyfile/reports/upload.rb +70 -70
- data/lib/chef-dk/policyfile/solution_dependencies.rb +298 -298
- data/lib/chef-dk/policyfile/storage_config.rb +100 -100
- data/lib/chef-dk/policyfile/undo_record.rb +142 -142
- data/lib/chef-dk/policyfile/undo_stack.rb +130 -130
- data/lib/chef-dk/policyfile/uploader.rb +213 -213
- data/lib/chef-dk/policyfile_compiler.rb +322 -322
- data/lib/chef-dk/policyfile_lock.rb +552 -552
- data/lib/chef-dk/policyfile_services/clean_policies.rb +95 -95
- data/lib/chef-dk/policyfile_services/clean_policy_cookbooks.rb +125 -125
- data/lib/chef-dk/policyfile_services/export_repo.rb +309 -281
- data/lib/chef-dk/policyfile_services/install.rb +125 -125
- data/lib/chef-dk/policyfile_services/push.rb +114 -114
- data/lib/chef-dk/policyfile_services/push_archive.rb +173 -173
- data/lib/chef-dk/policyfile_services/rm_policy.rb +142 -142
- data/lib/chef-dk/policyfile_services/rm_policy_group.rb +86 -86
- data/lib/chef-dk/policyfile_services/show_policy.rb +237 -237
- data/lib/chef-dk/policyfile_services/undelete.rb +108 -108
- data/lib/chef-dk/policyfile_services/update_attributes.rb +104 -104
- data/lib/chef-dk/service_exception_inspectors.rb +25 -25
- data/lib/chef-dk/service_exception_inspectors/base.rb +40 -40
- data/lib/chef-dk/service_exception_inspectors/http.rb +121 -121
- data/lib/chef-dk/service_exceptions.rb +143 -143
- data/lib/chef-dk/shell_out.rb +36 -36
- data/lib/chef-dk/skeletons/code_generator/files/default/Berksfile +3 -3
- data/lib/chef-dk/skeletons/code_generator/files/default/chefignore +100 -100
- data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README-policy.md +9 -9
- data/lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README.md +54 -54
- data/lib/chef-dk/skeletons/code_generator/files/default/gitignore +16 -16
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/README.md +28 -28
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/README.md +27 -0
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/attributes/default.rb +7 -7
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/metadata.rb +3 -3
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/recipes/default.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/README.md +57 -57
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/data_bags/example/example_item.json +3 -3
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/README.md +9 -9
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/environments/example.json +12 -12
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/README.md +8 -8
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/example.json +12 -12
- data/lib/chef-dk/skeletons/code_generator/files/default/serverspec_spec_helper.rb +8 -3
- data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper.rb +2 -2
- data/lib/chef-dk/skeletons/code_generator/metadata.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/recipes/app.rb +97 -97
- data/lib/chef-dk/skeletons/code_generator/recipes/attribute.rb +12 -12
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook.rb +104 -92
- data/lib/chef-dk/skeletons/code_generator/recipes/cookbook_file.rb +24 -24
- data/lib/chef-dk/skeletons/code_generator/recipes/lwrp.rb +23 -23
- data/lib/chef-dk/skeletons/code_generator/recipes/policyfile.rb +8 -8
- data/lib/chef-dk/skeletons/code_generator/recipes/recipe.rb +27 -27
- data/lib/chef-dk/skeletons/code_generator/recipes/repo.rb +48 -47
- data/lib/chef-dk/skeletons/code_generator/recipes/template.rb +32 -32
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.all_rights.erb +3 -3
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.apache2.erb +201 -201
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv2.erb +339 -339
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.gplv3.erb +674 -674
- data/lib/chef-dk/skeletons/code_generator/templates/default/LICENSE.mit.erb +21 -21
- data/lib/chef-dk/skeletons/code_generator/templates/default/Policyfile.rb.erb +20 -16
- data/lib/chef-dk/skeletons/code_generator/templates/default/README.md.erb +4 -4
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb +16 -16
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +27 -0
- data/lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb +7 -7
- data/lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb +5 -5
- data/lib/chef-dk/skeletons/code_generator/templates/default/recipe_spec.rb.erb +20 -20
- data/lib/chef-dk/skeletons/code_generator/templates/default/repo/gitignore.erb +11 -11
- data/lib/chef-dk/skeletons/code_generator/templates/default/serverspec_default_spec.rb.erb +9 -9
- data/lib/chef-dk/ui.rb +58 -58
- data/lib/chef-dk/version.rb +20 -20
- data/lib/kitchen/provisioner/policyfile_zero.rb +193 -164
- data/spec/shared/a_file_generator.rb +125 -125
- data/spec/shared/a_generated_file.rb +12 -12
- data/spec/shared/command_with_ui_object.rb +11 -11
- data/spec/shared/custom_generator_cookbook.rb +117 -117
- data/spec/shared/fixture_cookbook_checksums.rb +47 -47
- data/spec/shared/setup_git_cookbooks.rb +53 -53
- data/spec/spec_helper.rb +49 -48
- data/spec/test_helpers.rb +84 -84
- data/spec/unit/chef_runner_spec.rb +111 -110
- data/spec/unit/cli_spec.rb +357 -357
- data/spec/unit/command/base_spec.rb +169 -136
- data/spec/unit/command/clean_policy_cookbooks_spec.rb +181 -181
- data/spec/unit/command/clean_policy_revisions_spec.rb +181 -181
- data/spec/unit/command/delete_policy_group_spec.rb +207 -207
- data/spec/unit/command/delete_policy_spec.rb +207 -207
- data/spec/unit/command/diff_spec.rb +312 -312
- data/spec/unit/command/env_spec.rb +52 -52
- data/spec/unit/command/exec_spec.rb +179 -179
- data/spec/unit/command/export_spec.rb +189 -189
- data/spec/unit/command/generate_spec.rb +142 -142
- data/spec/unit/command/generator_commands/app_spec.rb +169 -169
- data/spec/unit/command/generator_commands/attribute_spec.rb +32 -32
- data/spec/unit/command/generator_commands/cookbook_file_spec.rb +32 -32
- data/spec/unit/command/generator_commands/cookbook_spec.rb +320 -240
- data/spec/unit/command/generator_commands/generator_generator_spec.rb +229 -0
- data/spec/unit/command/generator_commands/lwrp_spec.rb +32 -32
- data/spec/unit/command/generator_commands/policyfile_spec.rb +125 -125
- data/spec/unit/command/generator_commands/recipe_spec.rb +34 -34
- data/spec/unit/command/generator_commands/repo_spec.rb +283 -283
- data/spec/unit/command/generator_commands/template_spec.rb +32 -32
- data/spec/unit/command/install_spec.rb +179 -179
- data/spec/unit/command/provision_spec.rb +592 -592
- data/spec/unit/command/push_archive_spec.rb +153 -153
- data/spec/unit/command/push_spec.rb +199 -199
- data/spec/unit/command/shell_init_spec.rb +329 -329
- data/spec/unit/command/show_policy_spec.rb +235 -235
- data/spec/unit/command/undelete_spec.rb +246 -246
- data/spec/unit/command/update_spec.rb +251 -251
- data/spec/unit/command/verify_spec.rb +323 -322
- data/spec/unit/commands_map_spec.rb +57 -57
- data/spec/unit/component_test_spec.rb +126 -126
- data/spec/unit/cookbook_metadata_spec.rb +98 -98
- data/spec/unit/cookbook_profiler/git_spec.rb +176 -176
- data/spec/unit/cookbook_profiler/identifiers_spec.rb +83 -83
- data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_one.rb +9 -9
- data/spec/unit/fixtures/chef-runner-cookbooks/test_cookbook/recipes/recipe_two.rb +9 -9
- data/spec/unit/fixtures/command/cli_test_command.rb +26 -26
- data/spec/unit/fixtures/command/explicit_path_example.rb +7 -7
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +16 -16
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/Berksfile +3 -3
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +4 -4
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/chefignore +96 -96
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/baz-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/.kitchen.yml +16 -16
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/Berksfile +3 -3
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/README.md +4 -4
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/chefignore +96 -96
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/metadata.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/dep_of_bar-1.2.3/recipes/default.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/.kitchen.yml +16 -16
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/Berksfile +3 -3
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/README.md +4 -4
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/chefignore +96 -96
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/metadata.rb +8 -8
- data/spec/unit/fixtures/cookbook_cache/foo-1.0.0/recipes/default.rb +8 -8
- data/spec/unit/fixtures/cookbooks_api/pruned_small_universe.json +1321 -1321
- data/spec/unit/fixtures/cookbooks_api/small_universe.json +2987 -2987
- data/spec/unit/fixtures/cookbooks_api/universe.json +1 -1
- data/spec/unit/fixtures/cookbooks_api/update_fixtures.rb +36 -36
- data/spec/unit/fixtures/dev_cookbooks/README.md +16 -16
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/integration_test +2 -2
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/berkshelf/verify_me +5 -5
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/chef/verify_me +3 -3
- data/spec/unit/fixtures/eg_omnibus_dir/valid/embedded/apps/test-kitchen/verify_me +2 -2
- data/spec/unit/fixtures/example_cookbook/.gitignore +17 -17
- data/spec/unit/fixtures/example_cookbook/.kitchen.yml +16 -16
- data/spec/unit/fixtures/example_cookbook/Berksfile +3 -3
- data/spec/unit/fixtures/example_cookbook/README.md +4 -4
- data/spec/unit/fixtures/example_cookbook/chefignore +96 -96
- data/spec/unit/fixtures/example_cookbook/metadata.rb +8 -8
- data/spec/unit/fixtures/example_cookbook/recipes/default.rb +8 -8
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/.gitignore +17 -17
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/.kitchen.yml +16 -16
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/Berksfile +3 -3
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/README.md +4 -4
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/chefignore +96 -96
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/metadata.json +5 -5
- data/spec/unit/fixtures/example_cookbook_metadata_json_only/recipes/default.rb +8 -8
- data/spec/unit/fixtures/example_cookbook_no_metadata/.gitignore +17 -17
- data/spec/unit/fixtures/example_cookbook_no_metadata/.kitchen.yml +16 -16
- data/spec/unit/fixtures/example_cookbook_no_metadata/Berksfile +3 -3
- data/spec/unit/fixtures/example_cookbook_no_metadata/README.md +4 -4
- data/spec/unit/fixtures/example_cookbook_no_metadata/chefignore +96 -96
- data/spec/unit/fixtures/example_cookbook_no_metadata/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/chefignore +96 -96
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/metadata.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/Berksfile +3 -3
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/chefignore +96 -96
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/metadata.rb +9 -9
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/.kitchen.yml +16 -16
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/Berksfile +3 -3
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/chefignore +96 -96
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/metadata.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/local-cookbook/recipes/default.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/metadata-missing/README.md +2 -2
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/.kitchen.yml +16 -16
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/README.md +4 -4
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb +8 -8
- data/spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb +8 -8
- data/spec/unit/generator_spec.rb +120 -120
- data/spec/unit/helpers_spec.rb +92 -92
- data/spec/unit/pager_spec.rb +119 -119
- data/spec/unit/policyfile/chef_repo_cookbook_source_spec.rb +66 -66
- data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +34 -34
- data/spec/unit/policyfile/community_cookbook_source_spec.rb +51 -51
- data/spec/unit/policyfile/comparison_base_spec.rb +343 -343
- data/spec/unit/policyfile/cookbook_location_specification_spec.rb +252 -252
- data/spec/unit/policyfile/cookbook_locks_spec.rb +529 -529
- data/spec/unit/policyfile/differ_spec.rb +687 -687
- data/spec/unit/policyfile/lister_spec.rb +272 -272
- data/spec/unit/policyfile/null_cookbook_source_spec.rb +35 -35
- data/spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb +92 -92
- data/spec/unit/policyfile/reports/install_spec.rb +115 -115
- data/spec/unit/policyfile/reports/upload_spec.rb +96 -96
- data/spec/unit/policyfile/solution_dependencies_spec.rb +145 -145
- data/spec/unit/policyfile/storage_config_spec.rb +172 -172
- data/spec/unit/policyfile/undo_record_spec.rb +260 -260
- data/spec/unit/policyfile/undo_stack_spec.rb +266 -266
- data/spec/unit/policyfile/uploader_spec.rb +410 -410
- data/spec/unit/policyfile_demands_spec.rb +876 -876
- data/spec/unit/policyfile_evaluation_spec.rb +441 -441
- data/spec/unit/policyfile_lock_build_spec.rb +1056 -1056
- data/spec/unit/policyfile_lock_install_spec.rb +138 -138
- data/spec/unit/policyfile_lock_serialization_spec.rb +425 -425
- data/spec/unit/policyfile_lock_validation_spec.rb +611 -611
- data/spec/unit/policyfile_services/clean_policies_spec.rb +236 -236
- data/spec/unit/policyfile_services/clean_policy_cookbooks_spec.rb +275 -275
- data/spec/unit/policyfile_services/export_repo_spec.rb +439 -416
- data/spec/unit/policyfile_services/install_spec.rb +191 -191
- data/spec/unit/policyfile_services/push_archive_spec.rb +345 -345
- data/spec/unit/policyfile_services/push_spec.rb +233 -233
- data/spec/unit/policyfile_services/rm_policy_group_spec.rb +241 -241
- data/spec/unit/policyfile_services/rm_policy_spec.rb +266 -266
- data/spec/unit/policyfile_services/show_policy_spec.rb +889 -889
- data/spec/unit/policyfile_services/undelete_spec.rb +304 -304
- data/spec/unit/policyfile_services/update_attributes_spec.rb +217 -217
- data/spec/unit/service_exception_inspectors/base_spec.rb +43 -43
- data/spec/unit/service_exception_inspectors/http_spec.rb +140 -140
- data/spec/unit/shell_out_spec.rb +34 -34
- metadata +9 -3
|
@@ -1,140 +1,140 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
-
# License:: Apache License, Version 2.0
|
|
4
|
-
#
|
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
# you may not use this file except in compliance with the License.
|
|
7
|
-
# You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
require 'spec_helper'
|
|
19
|
-
require 'net/http'
|
|
20
|
-
require 'chef/monkey_patches/net_http'
|
|
21
|
-
require 'chef-dk/service_exception_inspectors/http'
|
|
22
|
-
|
|
23
|
-
describe ChefDK::ServiceExceptionInspectors::HTTP do
|
|
24
|
-
|
|
25
|
-
let(:message) { "something went wrong, oops" }
|
|
26
|
-
|
|
27
|
-
let(:response_body) { "" }
|
|
28
|
-
|
|
29
|
-
let(:request_headers) do
|
|
30
|
-
{
|
|
31
|
-
"content-type" => "application/json",
|
|
32
|
-
"accept" => "application/json"
|
|
33
|
-
}
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
let(:request_body) { "this is the request" }
|
|
37
|
-
|
|
38
|
-
let(:request) do
|
|
39
|
-
r = instance_double(Net::HTTP::Post,
|
|
40
|
-
method: "POST",
|
|
41
|
-
uri: nil,
|
|
42
|
-
path: "/organizations/chef-oss-dev/cookbooks",
|
|
43
|
-
body: request_body)
|
|
44
|
-
stub = allow(r).to(receive(:each_header))
|
|
45
|
-
request_headers.each { |k,v| stub.and_yield(k,v) }
|
|
46
|
-
r
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
let(:response_headers) do
|
|
50
|
-
{
|
|
51
|
-
"server" => "ngx_openresty",
|
|
52
|
-
"date" => "Wed, 29 Oct 2014 22:27:47 GMT"
|
|
53
|
-
}
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
let(:response) do
|
|
57
|
-
r = instance_double(Net::HTTPClientError,
|
|
58
|
-
code: "400",
|
|
59
|
-
message: "Bad Request",
|
|
60
|
-
body: response_body)
|
|
61
|
-
stub = allow(r).to(receive(:each_header))
|
|
62
|
-
response_headers.each { |k,v| stub.and_yield(k,v) }
|
|
63
|
-
r
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
let(:exception) do
|
|
67
|
-
Net::HTTPServerException.new(message, response).tap {|e| e.chef_rest_request = request }
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
subject(:inspector) { described_class.new(exception) }
|
|
72
|
-
|
|
73
|
-
it "has an exception" do
|
|
74
|
-
expect(inspector.exception).to eq(exception)
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
context "with a string response body" do
|
|
78
|
-
|
|
79
|
-
let(:response_body) { "No sir, I didn't like it" }
|
|
80
|
-
|
|
81
|
-
it "gives a customized exception message including the server response" do
|
|
82
|
-
expect(inspector.message).to eq("HTTP 400 Bad Request: No sir, I didn't like it")
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
context "with an empty response body" do
|
|
88
|
-
|
|
89
|
-
let(:response_body) { "" }
|
|
90
|
-
|
|
91
|
-
it "gives a customized exception message including the server response" do
|
|
92
|
-
expect(inspector.message).to eq("HTTP 400 Bad Request: (No explanation provided by server)")
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
context "with a JSON response body in the standard Chef Server format" do
|
|
98
|
-
|
|
99
|
-
let(:response_body) { %q[{"error":["Field 'name' invalid"]}] }
|
|
100
|
-
|
|
101
|
-
it "gives a customized exception message including the server response" do
|
|
102
|
-
expect(inspector.message).to eq("HTTP 400 Bad Request: Field 'name' invalid")
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
describe "showing the request and response in extended error info" do
|
|
108
|
-
|
|
109
|
-
let(:response_body) { "this is the response" }
|
|
110
|
-
|
|
111
|
-
it "shows the request in a format similar to HTTP messages" do
|
|
112
|
-
expected_request_string = <<-E
|
|
113
|
-
--- REQUEST DATA ----
|
|
114
|
-
POST /organizations/chef-oss-dev/cookbooks
|
|
115
|
-
content-type: application/json
|
|
116
|
-
accept: application/json
|
|
117
|
-
|
|
118
|
-
this is the request
|
|
119
|
-
|
|
120
|
-
E
|
|
121
|
-
expect(inspector.extended_error_info).to include(expected_request_string)
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
it "shows the response in a format similar to HTTP messages" do
|
|
125
|
-
expected_response_string = <<-E
|
|
126
|
-
--- RESPONSE DATA ---
|
|
127
|
-
400 Bad Request
|
|
128
|
-
server: ngx_openresty
|
|
129
|
-
date: Wed, 29 Oct 2014 22:27:47 GMT
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
this is the response
|
|
133
|
-
E
|
|
134
|
-
expect(inspector.extended_error_info).to include(expected_response_string)
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
end
|
|
138
|
-
|
|
139
|
-
end
|
|
140
|
-
|
|
1
|
+
#
|
|
2
|
+
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
+
# License:: Apache License, Version 2.0
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
require 'spec_helper'
|
|
19
|
+
require 'net/http'
|
|
20
|
+
require 'chef/monkey_patches/net_http'
|
|
21
|
+
require 'chef-dk/service_exception_inspectors/http'
|
|
22
|
+
|
|
23
|
+
describe ChefDK::ServiceExceptionInspectors::HTTP do
|
|
24
|
+
|
|
25
|
+
let(:message) { "something went wrong, oops" }
|
|
26
|
+
|
|
27
|
+
let(:response_body) { "" }
|
|
28
|
+
|
|
29
|
+
let(:request_headers) do
|
|
30
|
+
{
|
|
31
|
+
"content-type" => "application/json",
|
|
32
|
+
"accept" => "application/json"
|
|
33
|
+
}
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
let(:request_body) { "this is the request" }
|
|
37
|
+
|
|
38
|
+
let(:request) do
|
|
39
|
+
r = instance_double(Net::HTTP::Post,
|
|
40
|
+
method: "POST",
|
|
41
|
+
uri: nil,
|
|
42
|
+
path: "/organizations/chef-oss-dev/cookbooks",
|
|
43
|
+
body: request_body)
|
|
44
|
+
stub = allow(r).to(receive(:each_header))
|
|
45
|
+
request_headers.each { |k,v| stub.and_yield(k,v) }
|
|
46
|
+
r
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
let(:response_headers) do
|
|
50
|
+
{
|
|
51
|
+
"server" => "ngx_openresty",
|
|
52
|
+
"date" => "Wed, 29 Oct 2014 22:27:47 GMT"
|
|
53
|
+
}
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
let(:response) do
|
|
57
|
+
r = instance_double(Net::HTTPClientError,
|
|
58
|
+
code: "400",
|
|
59
|
+
message: "Bad Request",
|
|
60
|
+
body: response_body)
|
|
61
|
+
stub = allow(r).to(receive(:each_header))
|
|
62
|
+
response_headers.each { |k,v| stub.and_yield(k,v) }
|
|
63
|
+
r
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
let(:exception) do
|
|
67
|
+
Net::HTTPServerException.new(message, response).tap {|e| e.chef_rest_request = request }
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
subject(:inspector) { described_class.new(exception) }
|
|
72
|
+
|
|
73
|
+
it "has an exception" do
|
|
74
|
+
expect(inspector.exception).to eq(exception)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
context "with a string response body" do
|
|
78
|
+
|
|
79
|
+
let(:response_body) { "No sir, I didn't like it" }
|
|
80
|
+
|
|
81
|
+
it "gives a customized exception message including the server response" do
|
|
82
|
+
expect(inspector.message).to eq("HTTP 400 Bad Request: No sir, I didn't like it")
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
context "with an empty response body" do
|
|
88
|
+
|
|
89
|
+
let(:response_body) { "" }
|
|
90
|
+
|
|
91
|
+
it "gives a customized exception message including the server response" do
|
|
92
|
+
expect(inspector.message).to eq("HTTP 400 Bad Request: (No explanation provided by server)")
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
context "with a JSON response body in the standard Chef Server format" do
|
|
98
|
+
|
|
99
|
+
let(:response_body) { %q[{"error":["Field 'name' invalid"]}] }
|
|
100
|
+
|
|
101
|
+
it "gives a customized exception message including the server response" do
|
|
102
|
+
expect(inspector.message).to eq("HTTP 400 Bad Request: Field 'name' invalid")
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
describe "showing the request and response in extended error info" do
|
|
108
|
+
|
|
109
|
+
let(:response_body) { "this is the response" }
|
|
110
|
+
|
|
111
|
+
it "shows the request in a format similar to HTTP messages" do
|
|
112
|
+
expected_request_string = <<-E
|
|
113
|
+
--- REQUEST DATA ----
|
|
114
|
+
POST /organizations/chef-oss-dev/cookbooks
|
|
115
|
+
content-type: application/json
|
|
116
|
+
accept: application/json
|
|
117
|
+
|
|
118
|
+
this is the request
|
|
119
|
+
|
|
120
|
+
E
|
|
121
|
+
expect(inspector.extended_error_info).to include(expected_request_string)
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
it "shows the response in a format similar to HTTP messages" do
|
|
125
|
+
expected_response_string = <<-E
|
|
126
|
+
--- RESPONSE DATA ---
|
|
127
|
+
400 Bad Request
|
|
128
|
+
server: ngx_openresty
|
|
129
|
+
date: Wed, 29 Oct 2014 22:27:47 GMT
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
this is the response
|
|
133
|
+
E
|
|
134
|
+
expect(inspector.extended_error_info).to include(expected_response_string)
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
end
|
|
140
|
+
|
data/spec/unit/shell_out_spec.rb
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
-
# License:: Apache License, Version 2.0
|
|
4
|
-
#
|
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
# you may not use this file except in compliance with the License.
|
|
7
|
-
# You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
require 'spec_helper'
|
|
19
|
-
require 'chef-dk/shell_out'
|
|
20
|
-
|
|
21
|
-
describe ChefDK::ShellOut do
|
|
22
|
-
|
|
23
|
-
describe "providing the API expected by CookbookOmnifetch" do
|
|
24
|
-
|
|
25
|
-
it "provides a `shell_out` class method" do
|
|
26
|
-
expect(described_class).to respond_to(:shell_out)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
it "responds to #success?" do
|
|
30
|
-
expect(described_class.new("echo 'foo'")).to respond_to(:success?)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
end
|
|
34
|
-
end
|
|
1
|
+
#
|
|
2
|
+
# Copyright:: Copyright (c) 2014 Chef Software Inc.
|
|
3
|
+
# License:: Apache License, Version 2.0
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
require 'spec_helper'
|
|
19
|
+
require 'chef-dk/shell_out'
|
|
20
|
+
|
|
21
|
+
describe ChefDK::ShellOut do
|
|
22
|
+
|
|
23
|
+
describe "providing the API expected by CookbookOmnifetch" do
|
|
24
|
+
|
|
25
|
+
it "provides a `shell_out` class method" do
|
|
26
|
+
expect(described_class).to respond_to(:shell_out)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "responds to #success?" do
|
|
30
|
+
expect(described_class.new("echo 'foo'")).to respond_to(:success?)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: chef-dk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel DeLeo
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2015-
|
|
13
|
+
date: 2015-10-20 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: mixlib-cli
|
|
@@ -223,6 +223,7 @@ extensions: []
|
|
|
223
223
|
extra_rdoc_files: []
|
|
224
224
|
files:
|
|
225
225
|
- CONTRIBUTING.md
|
|
226
|
+
- Gemfile
|
|
226
227
|
- LICENSE
|
|
227
228
|
- README.md
|
|
228
229
|
- Rakefile
|
|
@@ -250,6 +251,7 @@ files:
|
|
|
250
251
|
- lib/chef-dk/command/generator_commands/cookbook.rb
|
|
251
252
|
- lib/chef-dk/command/generator_commands/cookbook_code_file.rb
|
|
252
253
|
- lib/chef-dk/command/generator_commands/cookbook_file.rb
|
|
254
|
+
- lib/chef-dk/command/generator_commands/generator_generator.rb
|
|
253
255
|
- lib/chef-dk/command/generator_commands/lwrp.rb
|
|
254
256
|
- lib/chef-dk/command/generator_commands/policyfile.rb
|
|
255
257
|
- lib/chef-dk/command/generator_commands/recipe.rb
|
|
@@ -323,6 +325,7 @@ files:
|
|
|
323
325
|
- lib/chef-dk/skeletons/code_generator/files/default/cookbook_readmes/README.md
|
|
324
326
|
- lib/chef-dk/skeletons/code_generator/files/default/gitignore
|
|
325
327
|
- lib/chef-dk/skeletons/code_generator/files/default/repo/README.md
|
|
328
|
+
- lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/README.md
|
|
326
329
|
- lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/attributes/default.rb
|
|
327
330
|
- lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/metadata.rb
|
|
328
331
|
- lib/chef-dk/skeletons/code_generator/files/default/repo/cookbooks/example/recipes/default.rb
|
|
@@ -354,6 +357,7 @@ files:
|
|
|
354
357
|
- lib/chef-dk/skeletons/code_generator/templates/default/attribute.rb.erb
|
|
355
358
|
- lib/chef-dk/skeletons/code_generator/templates/default/cookbook_file.erb
|
|
356
359
|
- lib/chef-dk/skeletons/code_generator/templates/default/kitchen.yml.erb
|
|
360
|
+
- lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb
|
|
357
361
|
- lib/chef-dk/skeletons/code_generator/templates/default/metadata.rb.erb
|
|
358
362
|
- lib/chef-dk/skeletons/code_generator/templates/default/provider.rb.erb
|
|
359
363
|
- lib/chef-dk/skeletons/code_generator/templates/default/recipe.rb.erb
|
|
@@ -389,6 +393,7 @@ files:
|
|
|
389
393
|
- spec/unit/command/generator_commands/attribute_spec.rb
|
|
390
394
|
- spec/unit/command/generator_commands/cookbook_file_spec.rb
|
|
391
395
|
- spec/unit/command/generator_commands/cookbook_spec.rb
|
|
396
|
+
- spec/unit/command/generator_commands/generator_generator_spec.rb
|
|
392
397
|
- spec/unit/command/generator_commands/lwrp_spec.rb
|
|
393
398
|
- spec/unit/command/generator_commands/policyfile_spec.rb
|
|
394
399
|
- spec/unit/command/generator_commands/recipe_spec.rb
|
|
@@ -559,7 +564,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
559
564
|
version: '0'
|
|
560
565
|
requirements: []
|
|
561
566
|
rubyforge_project:
|
|
562
|
-
rubygems_version: 2.4.
|
|
567
|
+
rubygems_version: 2.4.6
|
|
563
568
|
signing_key:
|
|
564
569
|
specification_version: 4
|
|
565
570
|
summary: A streamlined development and deployment workflow for Chef platform.
|
|
@@ -588,6 +593,7 @@ test_files:
|
|
|
588
593
|
- spec/unit/command/generator_commands/attribute_spec.rb
|
|
589
594
|
- spec/unit/command/generator_commands/cookbook_file_spec.rb
|
|
590
595
|
- spec/unit/command/generator_commands/cookbook_spec.rb
|
|
596
|
+
- spec/unit/command/generator_commands/generator_generator_spec.rb
|
|
591
597
|
- spec/unit/command/generator_commands/lwrp_spec.rb
|
|
592
598
|
- spec/unit/command/generator_commands/policyfile_spec.rb
|
|
593
599
|
- spec/unit/command/generator_commands/recipe_spec.rb
|