chef-dk 1.2.22 → 1.3.40
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
18
|
+
require "spec_helper"
|
19
19
|
|
20
|
-
require
|
20
|
+
require "chef-dk/policyfile/null_cookbook_source"
|
21
21
|
|
22
22
|
describe ChefDK::Policyfile::NullCookbookSource do
|
23
23
|
|
@@ -32,4 +32,3 @@ describe ChefDK::Policyfile::NullCookbookSource do
|
|
32
32
|
end
|
33
33
|
|
34
34
|
end
|
35
|
-
|
@@ -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 "chef-dk/policyfile/read_cookbook_for_compat_mode_upload"
|
20
|
+
require "chef-dk/helpers"
|
21
21
|
|
22
22
|
describe ChefDK::Policyfile::ReadCookbookForCompatModeUpload do
|
23
23
|
|
@@ -15,12 +15,12 @@
|
|
15
15
|
# limitations under the License.
|
16
16
|
#
|
17
17
|
|
18
|
-
require
|
19
|
-
require
|
18
|
+
require "spec_helper"
|
19
|
+
require "chef-dk/policyfile/reports/install"
|
20
20
|
|
21
21
|
# Used for verifying doubles
|
22
|
-
require
|
23
|
-
require
|
22
|
+
require "chef-dk/policyfile_compiler"
|
23
|
+
require "chef-dk/policyfile/cookbook_location_specification"
|
24
24
|
|
25
25
|
describe ChefDK::Policyfile::Reports::Install do
|
26
26
|
|
@@ -112,4 +112,3 @@ describe ChefDK::Policyfile::Reports::Install do
|
|
112
112
|
|
113
113
|
end
|
114
114
|
end
|
115
|
-
|
@@ -15,14 +15,14 @@
|
|
15
15
|
# limitations under the License.
|
16
16
|
#
|
17
17
|
|
18
|
-
require
|
19
|
-
require
|
18
|
+
require "spec_helper"
|
19
|
+
require "chef-dk/policyfile/reports/upload"
|
20
20
|
|
21
21
|
# For the LockedCookbookForUpload class:
|
22
|
-
require
|
22
|
+
require "chef-dk/policyfile/uploader"
|
23
23
|
|
24
24
|
# Used for verifying doubles
|
25
|
-
require
|
25
|
+
require "chef-dk/policyfile/cookbook_locks"
|
26
26
|
|
27
27
|
describe ChefDK::Policyfile::Reports::Upload do
|
28
28
|
|
@@ -92,5 +92,3 @@ E
|
|
92
92
|
end
|
93
93
|
|
94
94
|
end
|
95
|
-
|
96
|
-
|
@@ -15,12 +15,12 @@
|
|
15
15
|
# limitations under the License.
|
16
16
|
#
|
17
17
|
|
18
|
-
require
|
19
|
-
require
|
18
|
+
require "spec_helper"
|
19
|
+
require "chef-dk/policyfile/solution_dependencies"
|
20
20
|
|
21
21
|
describe ChefDK::Policyfile::SolutionDependencies do
|
22
22
|
|
23
|
-
let(:dependency_data) { {"Policyfile" => [], "dependencies" => {}} }
|
23
|
+
let(:dependency_data) { { "Policyfile" => [], "dependencies" => {} } }
|
24
24
|
|
25
25
|
let(:solution_dependencies) do
|
26
26
|
s = described_class.new
|
@@ -47,8 +47,8 @@ describe ChefDK::Policyfile::SolutionDependencies do
|
|
47
47
|
"nginx (1.2.3)" => [ ["apt", "~> 2.3"], ["yum", "~>3.4"] ],
|
48
48
|
"apt (2.5.6)" => [],
|
49
49
|
"yum (3.4.1)" => [],
|
50
|
-
"postgresql (5.0.0)" => []
|
51
|
-
}
|
50
|
+
"postgresql (5.0.0)" => [],
|
51
|
+
},
|
52
52
|
}
|
53
53
|
end
|
54
54
|
|
@@ -62,7 +62,7 @@ describe ChefDK::Policyfile::SolutionDependencies do
|
|
62
62
|
"nginx (1.2.3)" => [ ["apt", "~> 2.3"], ["yum", "~> 3.4"] ],
|
63
63
|
"apt (2.5.6)" => [],
|
64
64
|
"yum (3.4.1)" => [],
|
65
|
-
"postgresql (5.0.0)" => []
|
65
|
+
"postgresql (5.0.0)" => [],
|
66
66
|
}
|
67
67
|
expect(solution_dependencies.cookbook_deps_for_lock).to eq(expected)
|
68
68
|
end
|
@@ -76,7 +76,7 @@ describe ChefDK::Policyfile::SolutionDependencies do
|
|
76
76
|
"nginx (1.2.3)" => [ ["apt", "~> 2.3"], ["yum", "~> 3.4"] ],
|
77
77
|
"apt (2.5.6)" => [],
|
78
78
|
"yum (3.4.1)" => [],
|
79
|
-
"postgresql (5.0.0)" => []
|
79
|
+
"postgresql (5.0.0)" => [],
|
80
80
|
}
|
81
81
|
end
|
82
82
|
|
@@ -102,7 +102,7 @@ describe ChefDK::Policyfile::SolutionDependencies do
|
|
102
102
|
end
|
103
103
|
|
104
104
|
it "generates lock info containing both policyfile and cookbook dependencies" do
|
105
|
-
expected = {"Policyfile" => expected_policyfile_deps_for_lock, "dependencies" => expected_deps_for_lock}
|
105
|
+
expected = { "Policyfile" => expected_policyfile_deps_for_lock, "dependencies" => expected_deps_for_lock }
|
106
106
|
expect(solution_dependencies.to_lock).to eq(expected)
|
107
107
|
end
|
108
108
|
|
@@ -110,33 +110,33 @@ describe ChefDK::Policyfile::SolutionDependencies do
|
|
110
110
|
|
111
111
|
it "does not raise if a cookbook that's in the dependency set with a different version doesn't conflict" do
|
112
112
|
solution_dependencies.update_cookbook_dep("yum", "3.5.0", [ ])
|
113
|
-
expect(solution_dependencies.test_conflict!(
|
113
|
+
expect(solution_dependencies.test_conflict!("yum", "3.5.0")).to be(false)
|
114
114
|
end
|
115
115
|
|
116
116
|
it "raises if a cookbook is not in the current solution set" do
|
117
117
|
expected_message = "Cookbook foo (1.0.0) not in the working set, cannot test for conflicts"
|
118
|
-
expect { solution_dependencies.test_conflict!(
|
118
|
+
expect { solution_dependencies.test_conflict!("foo", "1.0.0") }.to raise_error(ChefDK::CookbookNotInWorkingSet, expected_message)
|
119
119
|
end
|
120
120
|
|
121
121
|
it "raises when a cookbook conflicts with a Policyfile constraint" do
|
122
122
|
solution_dependencies.update_cookbook_dep("nginx", "2.0.0", [])
|
123
123
|
|
124
124
|
expected_message = "Cookbook nginx (2.0.0) conflicts with other dependencies:\nPolicyfile depends on nginx ~> 1.0"
|
125
|
-
expect { solution_dependencies.test_conflict!(
|
125
|
+
expect { solution_dependencies.test_conflict!("nginx", "2.0.0") }.to raise_error(ChefDK::DependencyConflict, expected_message)
|
126
126
|
end
|
127
127
|
|
128
128
|
it "raises when a cookbook conflicts with another cookbook's dependency constraint" do
|
129
129
|
solution_dependencies.update_cookbook_dep("apt", "3.0.0", [])
|
130
130
|
|
131
131
|
expected_message = "Cookbook apt (3.0.0) conflicts with other dependencies:\nnginx (1.2.3) depends on apt ~> 2.3"
|
132
|
-
expect { solution_dependencies.test_conflict!(
|
132
|
+
expect { solution_dependencies.test_conflict!("apt", "3.0.0") }.to raise_error(ChefDK::DependencyConflict, expected_message)
|
133
133
|
end
|
134
134
|
|
135
135
|
it "raises when a cookbook's dependencies are no longer satisfiable" do
|
136
136
|
solution_dependencies.update_cookbook_dep("nginx", "1.2.3", [ [ "apt", "~> 3.0" ] ])
|
137
137
|
expected_message = "Cookbook nginx (1.2.3) has dependency constraints that cannot be met by the existing cookbook set:\n" +
|
138
138
|
"Dependency on apt ~> 3.0 conflicts with existing version apt (2.5.6)"
|
139
|
-
expect { solution_dependencies.test_conflict!(
|
139
|
+
expect { solution_dependencies.test_conflict!("nginx", "1.2.3") }.to raise_error(ChefDK::DependencyConflict, expected_message)
|
140
140
|
end
|
141
141
|
|
142
142
|
end
|
@@ -15,18 +15,18 @@
|
|
15
15
|
# limitations under the License.
|
16
16
|
#
|
17
17
|
|
18
|
-
require
|
18
|
+
require "spec_helper"
|
19
19
|
|
20
|
-
require
|
20
|
+
require "chef-dk/policyfile/source_uri"
|
21
21
|
|
22
22
|
describe ChefDK::Policyfile::SourceURI do
|
23
23
|
subject { described_class.parse(source_uri) }
|
24
24
|
|
25
25
|
describe '#validate' do
|
26
|
-
context
|
27
|
-
let(:source_uri) {
|
26
|
+
context "when the scheme is not https" do
|
27
|
+
let(:source_uri) { "ftp://chef.example.com" }
|
28
28
|
|
29
|
-
it
|
29
|
+
it "raises ChefDK::InvalidPolicyfileSourceURI" do
|
30
30
|
expect do
|
31
31
|
subject.validate
|
32
32
|
end.to raise_error(ChefDK::InvalidPolicyfileSourceURI)
|
@@ -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/policyfile/storage_config"
|
20
20
|
|
21
21
|
describe ChefDK::Policyfile::StorageConfig do
|
22
22
|
|
@@ -79,7 +79,7 @@ describe ChefDK::Policyfile::StorageConfig do
|
|
79
79
|
end
|
80
80
|
|
81
81
|
it "gives the expanded path to the policyfile" do
|
82
|
-
expect(storage_config.policyfile_expanded_path).to eq(File.expand_path(
|
82
|
+
expect(storage_config.policyfile_expanded_path).to eq(File.expand_path("/path/to/Policyfile.rb"))
|
83
83
|
end
|
84
84
|
|
85
85
|
context "when the policyfile is given as a relative path" do
|
@@ -129,7 +129,6 @@ describe ChefDK::Policyfile::StorageConfig do
|
|
129
129
|
|
130
130
|
end
|
131
131
|
|
132
|
-
|
133
132
|
describe "updating storage config for policyfile lock location" do
|
134
133
|
|
135
134
|
before do
|
@@ -174,11 +173,8 @@ describe ChefDK::Policyfile::StorageConfig do
|
|
174
173
|
expect(storage_config.policyfile_lock_expanded_path).to eq(File.expand_path("Policyfile.lock.json", "."))
|
175
174
|
end
|
176
175
|
|
177
|
-
|
178
176
|
end
|
179
177
|
|
180
178
|
end
|
181
179
|
|
182
|
-
|
183
180
|
end
|
184
|
-
|
@@ -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/policyfile/undo_record"
|
20
20
|
|
21
21
|
describe ChefDK::Policyfile::UndoRecord do
|
22
22
|
|
@@ -25,7 +25,7 @@ describe ChefDK::Policyfile::UndoRecord do
|
|
25
25
|
let(:policy_revision) do
|
26
26
|
{
|
27
27
|
"name" => "appserver",
|
28
|
-
"revision_id" => "1111111111111111111111111111111111111111111111111111111111111111"
|
28
|
+
"revision_id" => "1111111111111111111111111111111111111111111111111111111111111111",
|
29
29
|
}
|
30
30
|
end
|
31
31
|
|
@@ -49,8 +49,8 @@ describe ChefDK::Policyfile::UndoRecord do
|
|
49
49
|
"description" => "",
|
50
50
|
"backup_data" => {
|
51
51
|
"policy_groups" => [],
|
52
|
-
"policy_revisions" => []
|
53
|
-
}
|
52
|
+
"policy_revisions" => [],
|
53
|
+
},
|
54
54
|
}
|
55
55
|
expect(undo_record.for_serialization).to eq(expected)
|
56
56
|
end
|
@@ -90,10 +90,10 @@ describe ChefDK::Policyfile::UndoRecord do
|
|
90
90
|
{
|
91
91
|
"policy_name" => "appserver",
|
92
92
|
"policy_group" => "preprod",
|
93
|
-
"data" => policy_revision
|
94
|
-
}
|
95
|
-
]
|
96
|
-
}
|
93
|
+
"data" => policy_revision,
|
94
|
+
},
|
95
|
+
],
|
96
|
+
},
|
97
97
|
}
|
98
98
|
expect(undo_record.for_serialization).to eq(expected)
|
99
99
|
end
|
@@ -130,7 +130,7 @@ describe ChefDK::Policyfile::UndoRecord do
|
|
130
130
|
{
|
131
131
|
"format_version" => 1,
|
132
132
|
"description" => "delete-policy-group preprod",
|
133
|
-
"backup_data" => []
|
133
|
+
"backup_data" => [],
|
134
134
|
}
|
135
135
|
end
|
136
136
|
|
@@ -146,7 +146,7 @@ describe ChefDK::Policyfile::UndoRecord do
|
|
146
146
|
{
|
147
147
|
"format_version" => 1,
|
148
148
|
"description" => "delete-policy-group preprod",
|
149
|
-
"backup_data" => {}
|
149
|
+
"backup_data" => {},
|
150
150
|
}
|
151
151
|
end
|
152
152
|
|
@@ -164,8 +164,8 @@ describe ChefDK::Policyfile::UndoRecord do
|
|
164
164
|
"description" => "delete-policy-group preprod",
|
165
165
|
"backup_data" => {
|
166
166
|
"policy_groups" => nil,
|
167
|
-
"policy_revisions" => []
|
168
|
-
}
|
167
|
+
"policy_revisions" => [],
|
168
|
+
},
|
169
169
|
}
|
170
170
|
end
|
171
171
|
|
@@ -183,8 +183,8 @@ describe ChefDK::Policyfile::UndoRecord do
|
|
183
183
|
"description" => "delete-policy-group preprod",
|
184
184
|
"backup_data" => {
|
185
185
|
"policy_groups" => [],
|
186
|
-
"policy_revisions" => nil
|
187
|
-
}
|
186
|
+
"policy_revisions" => nil,
|
187
|
+
},
|
188
188
|
}
|
189
189
|
end
|
190
190
|
|
@@ -202,8 +202,8 @@ describe ChefDK::Policyfile::UndoRecord do
|
|
202
202
|
"description" => "delete-policy-group preprod",
|
203
203
|
"backup_data" => {
|
204
204
|
"policy_groups" => [],
|
205
|
-
"policy_revisions" => [ nil ]
|
206
|
-
}
|
205
|
+
"policy_revisions" => [ nil ],
|
206
|
+
},
|
207
207
|
}
|
208
208
|
end
|
209
209
|
|
@@ -225,10 +225,10 @@ describe ChefDK::Policyfile::UndoRecord do
|
|
225
225
|
{
|
226
226
|
"policy_name" => "appserver",
|
227
227
|
"policy_group" => "preprod",
|
228
|
-
"data" => policy_revision
|
229
|
-
}
|
230
|
-
]
|
231
|
-
}
|
228
|
+
"data" => policy_revision,
|
229
|
+
},
|
230
|
+
],
|
231
|
+
},
|
232
232
|
}
|
233
233
|
end
|
234
234
|
|
@@ -252,9 +252,7 @@ describe ChefDK::Policyfile::UndoRecord do
|
|
252
252
|
expect(undo_record.for_serialization).to eq(serialized_data)
|
253
253
|
end
|
254
254
|
|
255
|
-
|
256
255
|
end
|
257
256
|
end
|
258
257
|
|
259
258
|
end
|
260
|
-
|
@@ -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/policyfile/undo_stack"
|
20
20
|
|
21
21
|
describe ChefDK::Policyfile::UndoStack do
|
22
22
|
|
@@ -25,7 +25,7 @@ describe ChefDK::Policyfile::UndoStack do
|
|
25
25
|
let(:policy_revision) do
|
26
26
|
{
|
27
27
|
"name" => "appserver",
|
28
|
-
"revision_id" => "1111111111111111111111111111111111111111111111111111111111111111"
|
28
|
+
"revision_id" => "1111111111111111111111111111111111111111111111111111111111111111",
|
29
29
|
}
|
30
30
|
end
|
31
31
|
|
@@ -180,7 +180,6 @@ describe ChefDK::Policyfile::UndoStack do
|
|
180
180
|
|
181
181
|
end
|
182
182
|
|
183
|
-
|
184
183
|
context "when the stack is at the maximum configured size" do
|
185
184
|
# `Time.new` is stubbed later on, need to force it to be evaluated before
|
186
185
|
# then.
|
@@ -196,7 +195,7 @@ describe ChefDK::Policyfile::UndoStack do
|
|
196
195
|
def incremented_undo_record(i)
|
197
196
|
record = {
|
198
197
|
"name" => "appserver",
|
199
|
-
"revision_id" => i.to_s * 64
|
198
|
+
"revision_id" => i.to_s * 64,
|
200
199
|
}
|
201
200
|
|
202
201
|
ChefDK::Policyfile::UndoRecord.new.tap do |undo_record|
|
@@ -241,7 +240,7 @@ describe ChefDK::Policyfile::UndoStack do
|
|
241
240
|
|
242
241
|
before do
|
243
242
|
FileUtils.touch(older_record_path)
|
244
|
-
|
243
|
+
expect(undo_stack_files.size).to eq(11)
|
245
244
|
end
|
246
245
|
|
247
246
|
describe "pushing a new undo record" do
|
@@ -15,33 +15,33 @@
|
|
15
15
|
# limitations under the License.
|
16
16
|
#
|
17
17
|
|
18
|
-
require
|
19
|
-
require
|
18
|
+
require "spec_helper"
|
19
|
+
require "chef-dk/policyfile/uploader"
|
20
20
|
|
21
21
|
# We load this here to ensure we get the "verifying doubles" behavior from
|
22
22
|
# RSpec. It's not used by Policyfile::Uploader, but it's a collaborator.
|
23
|
-
require
|
23
|
+
require "chef-dk/authenticated_http"
|
24
24
|
|
25
25
|
describe ChefDK::Policyfile::Uploader do
|
26
26
|
|
27
27
|
let(:policyfile_lock_data) do
|
28
28
|
{
|
29
|
-
"name"=> "example",
|
30
|
-
"run_list"=> [ "recipe[omnibus::default]" ],
|
31
|
-
"cookbook_locks"=> {
|
32
|
-
"omnibus"=> {
|
33
|
-
"version"=> "2.2.0",
|
34
|
-
"identifier"=> "64b3e64306cff223206348e46af545b19032b170",
|
35
|
-
"dotted_decimal_identifier"=> "28345299219435506.9887234981653237.76628930769264",
|
36
|
-
"cache_key"=> "omnibus-2cf98f9797cacce9c8688fc4e74858b858e2bc14",
|
37
|
-
"origin"=> "git@github.com:opscode-cookbooks/omnibus.git",
|
38
|
-
"source_options"=> {
|
39
|
-
"git"=> "git@github.com:opscode-cookbooks/omnibus.git",
|
40
|
-
"revision"=> "2cf98f9797cacce9c8688fc4e74858b858e2bc14",
|
41
|
-
"branch"=> "master"
|
42
|
-
}
|
43
|
-
}
|
44
|
-
}
|
29
|
+
"name" => "example",
|
30
|
+
"run_list" => [ "recipe[omnibus::default]" ],
|
31
|
+
"cookbook_locks" => {
|
32
|
+
"omnibus" => {
|
33
|
+
"version" => "2.2.0",
|
34
|
+
"identifier" => "64b3e64306cff223206348e46af545b19032b170",
|
35
|
+
"dotted_decimal_identifier" => "28345299219435506.9887234981653237.76628930769264",
|
36
|
+
"cache_key" => "omnibus-2cf98f9797cacce9c8688fc4e74858b858e2bc14",
|
37
|
+
"origin" => "git@github.com:opscode-cookbooks/omnibus.git",
|
38
|
+
"source_options" => {
|
39
|
+
"git" => "git@github.com:opscode-cookbooks/omnibus.git",
|
40
|
+
"revision" => "2cf98f9797cacce9c8688fc4e74858b858e2bc14",
|
41
|
+
"branch" => "master",
|
42
|
+
},
|
43
|
+
},
|
44
|
+
},
|
45
45
|
}
|
46
46
|
end
|
47
47
|
|
@@ -66,7 +66,7 @@ describe ChefDK::Policyfile::Uploader do
|
|
66
66
|
policyfile_as_data_bag_item = {
|
67
67
|
"id" => "example-unit-test",
|
68
68
|
"name" => "data_bag_item_policyfiles_example-unit-test",
|
69
|
-
"data_bag" => "policyfiles"
|
69
|
+
"data_bag" => "policyfiles",
|
70
70
|
}
|
71
71
|
policyfile_as_data_bag_item["raw_data"] = policyfile_lock_data.dup
|
72
72
|
policyfile_as_data_bag_item["raw_data"]["id"] = "example-unit-test"
|
@@ -210,7 +210,7 @@ describe ChefDK::Policyfile::Uploader do
|
|
210
210
|
let(:expected_cookbooks_for_upload) do
|
211
211
|
[
|
212
212
|
cookbook_versions["my_apache2"],
|
213
|
-
cookbook_versions["my_jenkins"]
|
213
|
+
cookbook_versions["my_jenkins"],
|
214
214
|
]
|
215
215
|
end
|
216
216
|
|
@@ -218,7 +218,6 @@ describe ChefDK::Policyfile::Uploader do
|
|
218
218
|
expect(policyfile_lock).to receive(:validate_cookbooks!)
|
219
219
|
expect(http_client).to receive(:get).with(list_cookbooks_url).and_return(existing_cookbook_on_remote)
|
220
220
|
|
221
|
-
|
222
221
|
expect(uploader.cookbook_versions_to_upload).to eq(expected_cookbooks_for_upload)
|
223
222
|
end
|
224
223
|
|
@@ -273,35 +272,35 @@ describe ChefDK::Policyfile::Uploader do
|
|
273
272
|
|
274
273
|
context "when configured for policy document compat mode" do
|
275
274
|
|
276
|
-
let(:policyfiles_data_bag) { {"name" => "policyfiles" } }
|
275
|
+
let(:policyfiles_data_bag) { { "name" => "policyfiles" } }
|
277
276
|
|
278
|
-
let(:list_cookbooks_url) {
|
277
|
+
let(:list_cookbooks_url) { "cookbooks?num_versions=all" }
|
279
278
|
|
280
279
|
let(:existing_cookbook_on_remote) do
|
281
|
-
{"apt"=>
|
282
|
-
{"url"=>"http://localhost:8889/cookbooks/apt",
|
283
|
-
|
284
|
-
[{"url"=>
|
280
|
+
{ "apt" =>
|
281
|
+
{ "url" => "http://localhost:8889/cookbooks/apt",
|
282
|
+
"versions" =>
|
283
|
+
[{ "url" =>
|
285
284
|
"http://localhost:8889/cookbooks/apt/46097674477573307.43471642740453733.243606720748315",
|
286
|
-
|
287
|
-
|
288
|
-
{"url"=>"http://localhost:8889/cookbooks/build-essential",
|
289
|
-
|
290
|
-
[{"url"=>
|
285
|
+
"version" => "46097674477573307.43471642740453733.243606720748315" }] },
|
286
|
+
"build-essential" =>
|
287
|
+
{ "url" => "http://localhost:8889/cookbooks/build-essential",
|
288
|
+
"versions" =>
|
289
|
+
[{ "url" =>
|
291
290
|
"http://localhost:8889/cookbooks/build-essential/67369247788170534.26353953100055918.55660493423796",
|
292
|
-
|
293
|
-
|
294
|
-
{"url"=>"http://localhost:8889/cookbooks/java",
|
295
|
-
|
296
|
-
[{"url"=>
|
291
|
+
"version" => "67369247788170534.26353953100055918.55660493423796" }] },
|
292
|
+
"java" =>
|
293
|
+
{ "url" => "http://localhost:8889/cookbooks/java",
|
294
|
+
"versions" =>
|
295
|
+
[{ "url" =>
|
297
296
|
"http://localhost:8889/cookbooks/java/5664982062912610.52588194571203830.6215746262253",
|
298
|
-
|
299
|
-
|
300
|
-
{"url"=>"http://localhost:8889/cookbooks/jenkins",
|
301
|
-
|
302
|
-
[{"url"=>
|
297
|
+
"version" => "5664982062912610.52588194571203830.6215746262253" }] },
|
298
|
+
"jenkins" =>
|
299
|
+
{ "url" => "http://localhost:8889/cookbooks/jenkins",
|
300
|
+
"versions" =>
|
301
|
+
[{ "url" =>
|
303
302
|
"http://localhost:8889/cookbooks/jenkins/69194928762630300.30177357398946006.269829039948647",
|
304
|
-
|
303
|
+
"version" => "69194928762630300.30177357398946006.269829039948647" }] },
|
305
304
|
}
|
306
305
|
end
|
307
306
|
|
@@ -311,14 +310,14 @@ describe ChefDK::Policyfile::Uploader do
|
|
311
310
|
end
|
312
311
|
|
313
312
|
it "ensures a data bag named 'policyfiles' exists" do
|
314
|
-
expect(http_client).to receive(:post).with(
|
313
|
+
expect(http_client).to receive(:post).with("data", policyfiles_data_bag)
|
315
314
|
uploader.data_bag_create
|
316
315
|
end
|
317
316
|
|
318
317
|
it "does not error when the 'policyfiles' data bag exists" do
|
319
318
|
response = double("Net::HTTP response", code: "409")
|
320
319
|
error = Net::HTTPServerException.new("conflict", response)
|
321
|
-
expect(http_client).to receive(:post).with(
|
320
|
+
expect(http_client).to receive(:post).with("data", { "name" => "policyfiles" }).and_raise(error)
|
322
321
|
expect { uploader.data_bag_create }.to_not raise_error
|
323
322
|
end
|
324
323
|
|
@@ -326,24 +325,24 @@ describe ChefDK::Policyfile::Uploader do
|
|
326
325
|
response = double("Net::HTTP response", code: "404")
|
327
326
|
error = Net::HTTPServerException.new("Not Found", response)
|
328
327
|
expect(http_client).to receive(:put).
|
329
|
-
with(
|
328
|
+
with("data/policyfiles/example-unit-test", policyfile_as_data_bag_item).
|
330
329
|
and_raise(error)
|
331
330
|
expect(http_client).to receive(:post).
|
332
|
-
with(
|
331
|
+
with("data/policyfiles", policyfile_as_data_bag_item)
|
333
332
|
|
334
333
|
uploader.data_bag_item_create
|
335
334
|
end
|
336
335
|
|
337
336
|
it "replaces an existing policyfile on the server if it exists" do
|
338
337
|
expect(http_client).to receive(:put).
|
339
|
-
with(
|
338
|
+
with("data/policyfiles/example-unit-test", policyfile_as_data_bag_item)
|
340
339
|
uploader.data_bag_item_create
|
341
340
|
end
|
342
341
|
|
343
342
|
it "creates the data bag and item to upload the policy" do
|
344
|
-
expect(http_client).to receive(:post).with(
|
343
|
+
expect(http_client).to receive(:post).with("data", policyfiles_data_bag)
|
345
344
|
expect(http_client).to receive(:put).
|
346
|
-
with(
|
345
|
+
with("data/policyfiles/example-unit-test", policyfile_as_data_bag_item)
|
347
346
|
uploader.upload_policy
|
348
347
|
end
|
349
348
|
|
@@ -355,38 +354,38 @@ describe ChefDK::Policyfile::Uploader do
|
|
355
354
|
|
356
355
|
let(:policy_document_native_api) { true }
|
357
356
|
|
358
|
-
let(:list_cookbooks_url) {
|
357
|
+
let(:list_cookbooks_url) { "cookbook_artifacts?num_versions=all" }
|
359
358
|
|
360
359
|
let(:existing_cookbook_on_remote) do
|
361
|
-
{"apt"=>
|
362
|
-
{"url"=>"http://localhost:8889/cookbook_artifacts/apt",
|
363
|
-
|
364
|
-
[{"url"=>
|
360
|
+
{ "apt" =>
|
361
|
+
{ "url" => "http://localhost:8889/cookbook_artifacts/apt",
|
362
|
+
"versions" =>
|
363
|
+
[{ "url" =>
|
365
364
|
"http://localhost:8889/cookbook_artifacts/apt/5f7045a8aeaf6ccda3b3594258df9ee982b3a023",
|
366
|
-
|
367
|
-
|
368
|
-
{"url"=>"http://localhost:8889/cookbook_artifacts/build-essential",
|
369
|
-
|
370
|
-
[{"url"=>
|
365
|
+
"identifier" => "5f7045a8aeaf6ccda3b3594258df9ee982b3a023" }] },
|
366
|
+
"build-essential" =>
|
367
|
+
{ "url" => "http://localhost:8889/cookbook_artifacts/build-essential",
|
368
|
+
"versions" =>
|
369
|
+
[{ "url" =>
|
371
370
|
"http://localhost:8889/cookbook_artifacts/build-essential/571d8ebd02b296fe90b2e4d68754af7e8e185f28",
|
372
|
-
|
373
|
-
|
374
|
-
{"url"=>"http://localhost:8889/cookbook_artifacts/java",
|
375
|
-
|
376
|
-
[{"url"=>
|
371
|
+
"identifier" => "571d8ebd02b296fe90b2e4d68754af7e8e185f28" }] },
|
372
|
+
"java" =>
|
373
|
+
{ "url" => "http://localhost:8889/cookbook_artifacts/java",
|
374
|
+
"versions" =>
|
375
|
+
[{ "url" =>
|
377
376
|
"http://localhost:8889/cookbook_artifacts/java/9178a38ad3e3baa55b49c1b8d9f4bf6a43dbc358",
|
378
|
-
|
379
|
-
|
380
|
-
{"url"=>"http://localhost:8889/cookbook_artifacts/jenkins",
|
381
|
-
|
382
|
-
[{"url"=>
|
377
|
+
"identifier" => "9178a38ad3e3baa55b49c1b8d9f4bf6a43dbc358" }] },
|
378
|
+
"jenkins" =>
|
379
|
+
{ "url" => "http://localhost:8889/cookbook_artifacts/jenkins",
|
380
|
+
"versions" =>
|
381
|
+
[{ "url" =>
|
383
382
|
"http://localhost:8889/cookbook_artifacts/jenkins/0be380429add00d189b4431059ac967a60052323",
|
384
|
-
|
383
|
+
"identifier" => "0be380429add00d189b4431059ac967a60052323" }] },
|
385
384
|
}
|
386
385
|
end
|
387
386
|
def expect_policyfile_upload
|
388
387
|
expect(http_client).to receive(:put).
|
389
|
-
with(
|
388
|
+
with("/policy_groups/unit-test/policies/example", policyfile_lock_data)
|
390
389
|
end
|
391
390
|
|
392
391
|
it "enables native document mode for policyfiles" do
|
@@ -395,7 +394,7 @@ describe ChefDK::Policyfile::Uploader do
|
|
395
394
|
|
396
395
|
it "uploads the policyfile to the native API" do
|
397
396
|
expect(http_client).to receive(:put).
|
398
|
-
with(
|
397
|
+
with("/policy_groups/unit-test/policies/example", policyfile_lock_data)
|
399
398
|
|
400
399
|
uploader.upload_policy
|
401
400
|
end
|
@@ -407,4 +406,3 @@ describe ChefDK::Policyfile::Uploader do
|
|
407
406
|
end
|
408
407
|
|
409
408
|
end
|
410
|
-
|