chef-dk 0.13.21 → 0.14.25
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 +186 -186
- data/Gemfile +37 -14
- data/Gemfile.lock +178 -72
- data/LICENSE +201 -201
- data/README.md +11 -148
- data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +27 -27
- data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +288 -288
- data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +52 -52
- data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +51 -51
- data/acceptance/.shared/kitchen_acceptance/metadata.rb +1 -1
- data/acceptance/Gemfile +2 -1
- data/acceptance/Gemfile.lock +39 -42
- data/acceptance/README.md +132 -132
- data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +2 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +2 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
- data/acceptance/trivial/.kitchen.yml +7 -7
- data/acceptance/trivial/test/integration/chefdk-current-install/inspec/chef_client_spec.rb +5 -5
- 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/chef_runner.rb +107 -107
- data/lib/chef-dk/cli.rb +200 -200
- data/lib/chef-dk/command/base.rb +79 -79
- 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 +157 -157
- data/lib/chef-dk/command/gem.rb +47 -47
- data/lib/chef-dk/command/generate.rb +120 -120
- data/lib/chef-dk/command/generator_commands.rb +83 -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 +148 -148
- data/lib/chef-dk/command/generator_commands/cookbook.rb +153 -153
- 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 -177
- data/lib/chef-dk/command/generator_commands/lwrp.rb +36 -36
- data/lib/chef-dk/command/generator_commands/policyfile.rb +127 -127
- data/lib/chef-dk/command/generator_commands/recipe.rb +36 -36
- data/lib/chef-dk/command/generator_commands/repo.rb +125 -125
- 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 +148 -148
- data/lib/chef-dk/command/verify.rb +106 -29
- 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 +30 -1
- data/lib/chef-dk/configurable.rb +69 -69
- 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 +129 -129
- data/lib/chef-dk/generator.rb +163 -163
- 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 +138 -138
- data/lib/chef-dk/policyfile/chef_server_cookbook_source.rb +54 -54
- data/lib/chef-dk/policyfile/community_cookbook_source.rb +97 -97
- data/lib/chef-dk/policyfile/comparison_base.rb +124 -124
- data/lib/chef-dk/policyfile/cookbook_location_specification.rb +154 -154
- data/lib/chef-dk/policyfile/cookbook_locks.rb +466 -466
- data/lib/chef-dk/policyfile/cookbook_sources.rb +22 -22
- data/lib/chef-dk/policyfile/delivery_supermarket_source.rb +90 -90
- data/lib/chef-dk/policyfile/differ.rb +266 -266
- data/lib/chef-dk/policyfile/dsl.rb +261 -261
- 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 +419 -419
- 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 +421 -421
- data/lib/chef-dk/policyfile_services/install.rb +126 -126
- data/lib/chef-dk/policyfile_services/push.rb +114 -114
- data/lib/chef-dk/policyfile_services/push_archive.rb +204 -204
- 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 +102 -102
- 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 -27
- 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 +58 -58
- 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/dot-chef-repo.txt +6 -6
- 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/policies/README.md +24 -24
- data/lib/chef-dk/skeletons/code_generator/files/default/repo/roles/README.md +9 -9
- 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 -8
- data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper.rb +2 -2
- data/lib/chef-dk/skeletons/code_generator/files/default/spec_helper_policyfile.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 +117 -117
- 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 +67 -67
- 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 → LICENSE.apachev2.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 +25 -25
- 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 +21 -21
- data/lib/chef-dk/skeletons/code_generator/templates/default/kitchen_policyfile.yml.erb +32 -32
- 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 +1 -1
- data/lib/kitchen/provisioner/policyfile_zero.rb +195 -195
- data/omnibus_overrides.rb +19 -11
- 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 +130 -130
- data/spec/shared/fixture_cookbook_checksums.rb +47 -47
- data/spec/shared/setup_git_cookbooks.rb +53 -53
- data/spec/spec_helper.rb +51 -51
- data/spec/test_helpers.rb +84 -84
- data/spec/unit/chef_runner_spec.rb +139 -139
- data/spec/unit/cli_spec.rb +357 -357
- data/spec/unit/command/base_spec.rb +173 -169
- 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 +200 -200
- 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/base_spec.rb +136 -136
- data/spec/unit/command/generator_commands/cookbook_file_spec.rb +32 -32
- data/spec/unit/command/generator_commands/cookbook_spec.rb +450 -450
- data/spec/unit/command/generator_commands/generator_generator_spec.rb +229 -229
- data/spec/unit/command/generator_commands/lwrp_spec.rb +32 -32
- data/spec/unit/command/generator_commands/policyfile_spec.rb +225 -225
- data/spec/unit/command/generator_commands/recipe_spec.rb +34 -34
- data/spec/unit/command/generator_commands/repo_spec.rb +374 -367
- 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 +275 -275
- data/spec/unit/command/verify_spec.rb +15 -6
- data/spec/unit/commands_map_spec.rb +57 -57
- data/spec/unit/component_test_spec.rb +128 -126
- data/spec/unit/configurable_spec.rb +41 -41
- 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/configurable/test_config_loader.rb +5 -5
- data/spec/unit/fixtures/configurable/test_configurable.rb +10 -10
- 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 +119 -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 +93 -93
- data/spec/unit/policyfile/chef_server_cookbook_source_spec.rb +34 -34
- data/spec/unit/policyfile/community_cookbook_source_spec.rb +84 -84
- data/spec/unit/policyfile/comparison_base_spec.rb +343 -343
- data/spec/unit/policyfile/cookbook_location_specification_spec.rb +277 -277
- data/spec/unit/policyfile/cookbook_locks_spec.rb +529 -529
- data/spec/unit/policyfile/delivery_supermarket_source_spec.rb +130 -130
- 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 +1203 -1203
- data/spec/unit/policyfile_evaluation_spec.rb +642 -642
- 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 +481 -481
- data/spec/unit/policyfile_services/install_spec.rb +211 -211
- data/spec/unit/policyfile_services/push_archive_spec.rb +378 -378
- 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
- data/spec/unit/tasks/helpers_spec.rb +75 -0
- data/tasks/bin/bundle-platform +0 -0
- data/tasks/bin/bundle-platform.bat +0 -0
- data/tasks/bin/create-override-gemfile +110 -0
- data/tasks/bundle.rb +27 -11
- data/tasks/bundle_util.rb +6 -5
- data/tasks/dependencies.rb +97 -122
- data/tasks/gemfile_util.rb +357 -66
- data/tasks/helpers.rb +47 -0
- data/tasks/version.rb +1 -5
- data/version_policy.rb +66 -41
- data/warning.txt +9 -9
- metadata +7 -5
- data/Gemfile.windows +0 -34
- data/Gemfile.windows.lock +0 -936
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
shared_examples_for "a generated file" do |context_var|
|
|
2
|
-
before do
|
|
3
|
-
Dir.chdir(tempdir) do
|
|
4
|
-
allow(generator.chef_runner).to receive(:stdout).and_return(stdout_io)
|
|
5
|
-
generator.run
|
|
6
|
-
end
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
it "should contain #{context_var} from the generator context" do
|
|
10
|
-
expect(File.read(file)).to match line
|
|
11
|
-
end
|
|
12
|
-
end
|
|
1
|
+
shared_examples_for "a generated file" do |context_var|
|
|
2
|
+
before do
|
|
3
|
+
Dir.chdir(tempdir) do
|
|
4
|
+
allow(generator.chef_runner).to receive(:stdout).and_return(stdout_io)
|
|
5
|
+
generator.run
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
it "should contain #{context_var} from the generator context" do
|
|
10
|
+
expect(File.read(file)).to match line
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
shared_examples_for "a command with a UI object" do
|
|
2
|
-
|
|
3
|
-
subject(:command) { described_class.new }
|
|
4
|
-
|
|
5
|
-
it "configures a default UI component" do
|
|
6
|
-
ui = command.ui
|
|
7
|
-
expect(ui.out_stream).to eq($stdout)
|
|
8
|
-
expect(ui.err_stream).to eq($stderr)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
end
|
|
1
|
+
shared_examples_for "a command with a UI object" do
|
|
2
|
+
|
|
3
|
+
subject(:command) { described_class.new }
|
|
4
|
+
|
|
5
|
+
it "configures a default UI component" do
|
|
6
|
+
ui = command.ui
|
|
7
|
+
expect(ui.out_stream).to eq($stdout)
|
|
8
|
+
expect(ui.err_stream).to eq($stderr)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
end
|
|
@@ -1,130 +1,130 @@
|
|
|
1
|
-
|
|
2
|
-
# Required `let` bindings:
|
|
3
|
-
# * `generator_name` in lowercase, e.g., "cookbook", "app"
|
|
4
|
-
# * `generator_arg`: argument to the generator command
|
|
5
|
-
# * `expected_cookbook_files`: a list of files the generator should create
|
|
6
|
-
shared_examples_for "custom generator cookbook" do
|
|
7
|
-
|
|
8
|
-
context "when given a generator-cookbook path" do
|
|
9
|
-
|
|
10
|
-
let(:default_generator_cookbook_path) { File.expand_path('lib/chef-dk/skeletons/code_generator', project_root) }
|
|
11
|
-
|
|
12
|
-
let(:generator_cookbook_path) { File.join(tempdir, 'a_generator_cookbook') }
|
|
13
|
-
let(:generator_copyright_holder) { 'Chef' }
|
|
14
|
-
let(:generator_email) { 'mail@chef.io' }
|
|
15
|
-
let(:generator_license) { 'Free as in Beer'}
|
|
16
|
-
|
|
17
|
-
let(:argv) { [generator_arg, "--generator-cookbook", generator_cookbook_path] }
|
|
18
|
-
|
|
19
|
-
subject(:code_generator) { described_class.new(argv) }
|
|
20
|
-
|
|
21
|
-
before do
|
|
22
|
-
reset_tempdir
|
|
23
|
-
code_generator.read_and_validate_params
|
|
24
|
-
allow(code_generator.config_loader).to receive(:load)
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
it "configures the generator context" do
|
|
28
|
-
code_generator.setup_context
|
|
29
|
-
expect(generator_context.cookbook_name).to eq(generator_arg)
|
|
30
|
-
expect(code_generator.chef_runner.cookbook_path).to eq(tempdir)
|
|
31
|
-
expect(code_generator.chef_runner.run_list).to eq(["recipe[a_generator_cookbook::#{generator_name}]"])
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
context "when the generator cookbook is configured in a configuration file" do
|
|
35
|
-
|
|
36
|
-
let(:argv) { [generator_arg] }
|
|
37
|
-
|
|
38
|
-
let(:generator_config) do
|
|
39
|
-
double("Generator Config Context",
|
|
40
|
-
license: generator_license,
|
|
41
|
-
copyright_holder: generator_copyright_holder,
|
|
42
|
-
email: generator_email)
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
let(:chefdk_config) do
|
|
46
|
-
double("Mixlib::Config context for ChefDK",
|
|
47
|
-
generator_cookbook: generator_cookbook_path,
|
|
48
|
-
generator: generator_config)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
before do
|
|
52
|
-
allow(code_generator).to receive(:chefdk_config).and_return(chefdk_config)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
it "configures the generator context" do
|
|
56
|
-
code_generator.setup_context
|
|
57
|
-
expect(generator_context.cookbook_name).to eq(generator_arg)
|
|
58
|
-
expect(code_generator.chef_runner.cookbook_path).to eq(tempdir)
|
|
59
|
-
expect(code_generator.chef_runner.run_list).to eq(["recipe[a_generator_cookbook::#{generator_name}]"])
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
context "with an invalid generator-cookbook path" do
|
|
64
|
-
|
|
65
|
-
it "fails with an informative error" do
|
|
66
|
-
Dir.chdir(tempdir) do
|
|
67
|
-
allow(code_generator.chef_runner).to receive(:stdout).and_return(stdout_io)
|
|
68
|
-
allow(code_generator).to receive(:stderr).and_return(stderr_io)
|
|
69
|
-
expect(code_generator.run).to eq(1)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
cookbook_path = File.dirname(generator_cookbook_path)
|
|
73
|
-
expected_msg = %Q(ERROR: Could not find cookbook(s) to satisfy run list ["recipe[a_generator_cookbook::#{generator_name}]"] in #{cookbook_path})
|
|
74
|
-
|
|
75
|
-
expect(stderr_io.string).to include(expected_msg)
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
context "with a generator-cookbook path to a specific cookbook" do
|
|
81
|
-
|
|
82
|
-
let(:metadata_file) { File.join(generator_cookbook_path, "metadata.rb") }
|
|
83
|
-
|
|
84
|
-
before do
|
|
85
|
-
FileUtils.cp_r(default_generator_cookbook_path, generator_cookbook_path)
|
|
86
|
-
|
|
87
|
-
# have to update metadata with the correct name
|
|
88
|
-
IO.binwrite(metadata_file, "name 'a_generator_cookbook'")
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
it "creates the new files" do
|
|
92
|
-
expect(code_generator.chef_runner.cookbook_path).to eq(tempdir)
|
|
93
|
-
expect(code_generator.chef_runner.run_list).to eq(["recipe[a_generator_cookbook::#{generator_name}]"])
|
|
94
|
-
|
|
95
|
-
Dir.chdir(tempdir) do
|
|
96
|
-
allow(code_generator.chef_runner).to receive(:stdout).and_return(stdout_io)
|
|
97
|
-
code_generator.run
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
context "with a generator-cookbook path to a directory containing a 'code_generator' cookbook" do
|
|
104
|
-
|
|
105
|
-
before do
|
|
106
|
-
FileUtils.mkdir_p(generator_cookbook_path)
|
|
107
|
-
FileUtils.cp_r(default_generator_cookbook_path, generator_cookbook_path)
|
|
108
|
-
|
|
109
|
-
allow(code_generator).to receive(:stderr).and_return(stderr_io)
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
it "creates the new_files (and warns about deprecated usage)" do
|
|
113
|
-
allow(code_generator.chef_runner).to receive(:stdout).and_return(stdout_io)
|
|
114
|
-
|
|
115
|
-
Dir.chdir(tempdir) do
|
|
116
|
-
code_generator.run
|
|
117
|
-
end
|
|
118
|
-
generated_files = Dir.glob("#{tempdir}/#{generator_arg}/**/*", File::FNM_DOTMATCH)
|
|
119
|
-
expected_cookbook_files.each do |expected_file|
|
|
120
|
-
expect(generated_files).to include(expected_file)
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
code_generator_path = File.join(generator_cookbook_path, "code_generator")
|
|
124
|
-
warning_message = "WARN: Please configure the generator cookbook by giving the full path to the desired cookbook (like '#{code_generator_path}')"
|
|
125
|
-
|
|
126
|
-
expect(stderr_io.string).to include(warning_message)
|
|
127
|
-
end
|
|
128
|
-
end
|
|
129
|
-
end
|
|
130
|
-
end
|
|
1
|
+
|
|
2
|
+
# Required `let` bindings:
|
|
3
|
+
# * `generator_name` in lowercase, e.g., "cookbook", "app"
|
|
4
|
+
# * `generator_arg`: argument to the generator command
|
|
5
|
+
# * `expected_cookbook_files`: a list of files the generator should create
|
|
6
|
+
shared_examples_for "custom generator cookbook" do
|
|
7
|
+
|
|
8
|
+
context "when given a generator-cookbook path" do
|
|
9
|
+
|
|
10
|
+
let(:default_generator_cookbook_path) { File.expand_path('lib/chef-dk/skeletons/code_generator', project_root) }
|
|
11
|
+
|
|
12
|
+
let(:generator_cookbook_path) { File.join(tempdir, 'a_generator_cookbook') }
|
|
13
|
+
let(:generator_copyright_holder) { 'Chef' }
|
|
14
|
+
let(:generator_email) { 'mail@chef.io' }
|
|
15
|
+
let(:generator_license) { 'Free as in Beer'}
|
|
16
|
+
|
|
17
|
+
let(:argv) { [generator_arg, "--generator-cookbook", generator_cookbook_path] }
|
|
18
|
+
|
|
19
|
+
subject(:code_generator) { described_class.new(argv) }
|
|
20
|
+
|
|
21
|
+
before do
|
|
22
|
+
reset_tempdir
|
|
23
|
+
code_generator.read_and_validate_params
|
|
24
|
+
allow(code_generator.config_loader).to receive(:load)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it "configures the generator context" do
|
|
28
|
+
code_generator.setup_context
|
|
29
|
+
expect(generator_context.cookbook_name).to eq(generator_arg)
|
|
30
|
+
expect(code_generator.chef_runner.cookbook_path).to eq(tempdir)
|
|
31
|
+
expect(code_generator.chef_runner.run_list).to eq(["recipe[a_generator_cookbook::#{generator_name}]"])
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
context "when the generator cookbook is configured in a configuration file" do
|
|
35
|
+
|
|
36
|
+
let(:argv) { [generator_arg] }
|
|
37
|
+
|
|
38
|
+
let(:generator_config) do
|
|
39
|
+
double("Generator Config Context",
|
|
40
|
+
license: generator_license,
|
|
41
|
+
copyright_holder: generator_copyright_holder,
|
|
42
|
+
email: generator_email)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
let(:chefdk_config) do
|
|
46
|
+
double("Mixlib::Config context for ChefDK",
|
|
47
|
+
generator_cookbook: generator_cookbook_path,
|
|
48
|
+
generator: generator_config)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
before do
|
|
52
|
+
allow(code_generator).to receive(:chefdk_config).and_return(chefdk_config)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
it "configures the generator context" do
|
|
56
|
+
code_generator.setup_context
|
|
57
|
+
expect(generator_context.cookbook_name).to eq(generator_arg)
|
|
58
|
+
expect(code_generator.chef_runner.cookbook_path).to eq(tempdir)
|
|
59
|
+
expect(code_generator.chef_runner.run_list).to eq(["recipe[a_generator_cookbook::#{generator_name}]"])
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
context "with an invalid generator-cookbook path" do
|
|
64
|
+
|
|
65
|
+
it "fails with an informative error" do
|
|
66
|
+
Dir.chdir(tempdir) do
|
|
67
|
+
allow(code_generator.chef_runner).to receive(:stdout).and_return(stdout_io)
|
|
68
|
+
allow(code_generator).to receive(:stderr).and_return(stderr_io)
|
|
69
|
+
expect(code_generator.run).to eq(1)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
cookbook_path = File.dirname(generator_cookbook_path)
|
|
73
|
+
expected_msg = %Q(ERROR: Could not find cookbook(s) to satisfy run list ["recipe[a_generator_cookbook::#{generator_name}]"] in #{cookbook_path})
|
|
74
|
+
|
|
75
|
+
expect(stderr_io.string).to include(expected_msg)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
context "with a generator-cookbook path to a specific cookbook" do
|
|
81
|
+
|
|
82
|
+
let(:metadata_file) { File.join(generator_cookbook_path, "metadata.rb") }
|
|
83
|
+
|
|
84
|
+
before do
|
|
85
|
+
FileUtils.cp_r(default_generator_cookbook_path, generator_cookbook_path)
|
|
86
|
+
|
|
87
|
+
# have to update metadata with the correct name
|
|
88
|
+
IO.binwrite(metadata_file, "name 'a_generator_cookbook'")
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
it "creates the new files" do
|
|
92
|
+
expect(code_generator.chef_runner.cookbook_path).to eq(tempdir)
|
|
93
|
+
expect(code_generator.chef_runner.run_list).to eq(["recipe[a_generator_cookbook::#{generator_name}]"])
|
|
94
|
+
|
|
95
|
+
Dir.chdir(tempdir) do
|
|
96
|
+
allow(code_generator.chef_runner).to receive(:stdout).and_return(stdout_io)
|
|
97
|
+
code_generator.run
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
context "with a generator-cookbook path to a directory containing a 'code_generator' cookbook" do
|
|
104
|
+
|
|
105
|
+
before do
|
|
106
|
+
FileUtils.mkdir_p(generator_cookbook_path)
|
|
107
|
+
FileUtils.cp_r(default_generator_cookbook_path, generator_cookbook_path)
|
|
108
|
+
|
|
109
|
+
allow(code_generator).to receive(:stderr).and_return(stderr_io)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
it "creates the new_files (and warns about deprecated usage)" do
|
|
113
|
+
allow(code_generator.chef_runner).to receive(:stdout).and_return(stdout_io)
|
|
114
|
+
|
|
115
|
+
Dir.chdir(tempdir) do
|
|
116
|
+
code_generator.run
|
|
117
|
+
end
|
|
118
|
+
generated_files = Dir.glob("#{tempdir}/#{generator_arg}/**/*", File::FNM_DOTMATCH)
|
|
119
|
+
expected_cookbook_files.each do |expected_file|
|
|
120
|
+
expect(generated_files).to include(expected_file)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
code_generator_path = File.join(generator_cookbook_path, "code_generator")
|
|
124
|
+
warning_message = "WARN: Please configure the generator cookbook by giving the full path to the desired cookbook (like '#{code_generator_path}')"
|
|
125
|
+
|
|
126
|
+
expect(stderr_io.string).to include(warning_message)
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
@@ -1,47 +1,47 @@
|
|
|
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 'chef-dk/helpers'
|
|
19
|
-
|
|
20
|
-
RSpec.shared_context "fixture cookbooks checksums" do
|
|
21
|
-
|
|
22
|
-
def id_to_dotted(sha1_id)
|
|
23
|
-
major = sha1_id[0...14]
|
|
24
|
-
minor = sha1_id[14...28]
|
|
25
|
-
patch = sha1_id[28..40]
|
|
26
|
-
decimal_integers =[major, minor, patch].map {|hex| hex.to_i(16) }
|
|
27
|
-
decimal_integers.join(".")
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
let(:cookbook_foo_cksum) { "467dc855408ce8b74f991c5dc2fd72a6aa369b60" }
|
|
31
|
-
|
|
32
|
-
let(:cookbook_foo_cksum_dotted) { id_to_dotted(cookbook_foo_cksum) }
|
|
33
|
-
|
|
34
|
-
let(:cookbook_bar_cksum) { "4c538def500b75e744a3af05df66afd04dc3b3c5" }
|
|
35
|
-
|
|
36
|
-
let(:cookbook_bar_cksum_dotted) { id_to_dotted(cookbook_bar_cksum) }
|
|
37
|
-
|
|
38
|
-
let(:cookbook_baz_cksum) { "5c9063efbc5b5d8acc37024d7383f7dd010ae728" }
|
|
39
|
-
|
|
40
|
-
let(:cookbook_baz_cksum_dotted) { id_to_dotted(cookbook_baz_cksum) }
|
|
41
|
-
|
|
42
|
-
let(:cookbook_dep_of_bar_cksum) { "a4a6a5e4c6d95a580d291f6415d55b010669feac" }
|
|
43
|
-
|
|
44
|
-
let(:cookbook_dep_of_bar_cksum_dotted) { id_to_dotted(cookbook_dep_of_bar_cksum) }
|
|
45
|
-
|
|
46
|
-
end
|
|
47
|
-
|
|
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 'chef-dk/helpers'
|
|
19
|
+
|
|
20
|
+
RSpec.shared_context "fixture cookbooks checksums" do
|
|
21
|
+
|
|
22
|
+
def id_to_dotted(sha1_id)
|
|
23
|
+
major = sha1_id[0...14]
|
|
24
|
+
minor = sha1_id[14...28]
|
|
25
|
+
patch = sha1_id[28..40]
|
|
26
|
+
decimal_integers =[major, minor, patch].map {|hex| hex.to_i(16) }
|
|
27
|
+
decimal_integers.join(".")
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
let(:cookbook_foo_cksum) { "467dc855408ce8b74f991c5dc2fd72a6aa369b60" }
|
|
31
|
+
|
|
32
|
+
let(:cookbook_foo_cksum_dotted) { id_to_dotted(cookbook_foo_cksum) }
|
|
33
|
+
|
|
34
|
+
let(:cookbook_bar_cksum) { "4c538def500b75e744a3af05df66afd04dc3b3c5" }
|
|
35
|
+
|
|
36
|
+
let(:cookbook_bar_cksum_dotted) { id_to_dotted(cookbook_bar_cksum) }
|
|
37
|
+
|
|
38
|
+
let(:cookbook_baz_cksum) { "5c9063efbc5b5d8acc37024d7383f7dd010ae728" }
|
|
39
|
+
|
|
40
|
+
let(:cookbook_baz_cksum_dotted) { id_to_dotted(cookbook_baz_cksum) }
|
|
41
|
+
|
|
42
|
+
let(:cookbook_dep_of_bar_cksum) { "a4a6a5e4c6d95a580d291f6415d55b010669feac" }
|
|
43
|
+
|
|
44
|
+
let(:cookbook_dep_of_bar_cksum_dotted) { id_to_dotted(cookbook_dep_of_bar_cksum) }
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
|
|
@@ -1,53 +1,53 @@
|
|
|
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 'chef-dk/helpers'
|
|
19
|
-
|
|
20
|
-
RSpec.shared_context "setup git cookbooks" do
|
|
21
|
-
|
|
22
|
-
include ChefDK::Helpers
|
|
23
|
-
|
|
24
|
-
let(:cookbook_pristine_path) do
|
|
25
|
-
File.expand_path("spec/unit/fixtures/dev_cookbooks/bar-cookbook.gitbundle", project_root)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
let(:cookbook_path) { File.join(tempdir, "bar") }
|
|
29
|
-
|
|
30
|
-
let(:current_rev) { 'dfc68070c47cbf4267be14ea87f80680cb5dafb3' }
|
|
31
|
-
|
|
32
|
-
before do
|
|
33
|
-
reset_tempdir
|
|
34
|
-
system_command("git clone #{cookbook_pristine_path} #{cookbook_path}").error!
|
|
35
|
-
system_command("git reset --hard #{current_rev}", cwd: cookbook_path).error!
|
|
36
|
-
system_command("git remote remove origin", cwd: cookbook_path).error!
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
after do
|
|
40
|
-
clear_tempdir
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
RSpec.shared_context "setup git cookbook remote" do
|
|
46
|
-
let(:remote_url) { "file://#{tempdir}/bar-cookbook.git" }
|
|
47
|
-
|
|
48
|
-
before do
|
|
49
|
-
system_command("git init --bare #{tempdir}/bar-cookbook.git").error!
|
|
50
|
-
system_command("git remote add origin #{remote_url}", cwd: cookbook_path).error!
|
|
51
|
-
system_command("git push -u origin master", cwd: cookbook_path).error!
|
|
52
|
-
end
|
|
53
|
-
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 'chef-dk/helpers'
|
|
19
|
+
|
|
20
|
+
RSpec.shared_context "setup git cookbooks" do
|
|
21
|
+
|
|
22
|
+
include ChefDK::Helpers
|
|
23
|
+
|
|
24
|
+
let(:cookbook_pristine_path) do
|
|
25
|
+
File.expand_path("spec/unit/fixtures/dev_cookbooks/bar-cookbook.gitbundle", project_root)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
let(:cookbook_path) { File.join(tempdir, "bar") }
|
|
29
|
+
|
|
30
|
+
let(:current_rev) { 'dfc68070c47cbf4267be14ea87f80680cb5dafb3' }
|
|
31
|
+
|
|
32
|
+
before do
|
|
33
|
+
reset_tempdir
|
|
34
|
+
system_command("git clone #{cookbook_pristine_path} #{cookbook_path}").error!
|
|
35
|
+
system_command("git reset --hard #{current_rev}", cwd: cookbook_path).error!
|
|
36
|
+
system_command("git remote remove origin", cwd: cookbook_path).error!
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
after do
|
|
40
|
+
clear_tempdir
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
RSpec.shared_context "setup git cookbook remote" do
|
|
46
|
+
let(:remote_url) { "file://#{tempdir}/bar-cookbook.git" }
|
|
47
|
+
|
|
48
|
+
before do
|
|
49
|
+
system_command("git init --bare #{tempdir}/bar-cookbook.git").error!
|
|
50
|
+
system_command("git remote add origin #{remote_url}", cwd: cookbook_path).error!
|
|
51
|
+
system_command("git push -u origin master", cwd: cookbook_path).error!
|
|
52
|
+
end
|
|
53
|
+
end
|