diff options
author | danielsdeleo <dan@getchef.com> | 2015-02-10 14:40:58 -0800 |
---|---|---|
committer | danielsdeleo <dan@getchef.com> | 2015-02-11 10:52:50 -0800 |
commit | 1317eaf01510c33d1967ad0027d572792756807f (patch) | |
tree | 4fc7a5b3368db9a4ab6f6ddba3af21c6aa82f7ba /spec/unit/cookbook_uploader_spec.rb | |
parent | 1a09de46463df00b022700f3b1f872a3203bc9cc (diff) | |
download | chef-1317eaf01510c33d1967ad0027d572792756807f.tar.gz |
Add policy mode option to CookbookUploader
Diffstat (limited to 'spec/unit/cookbook_uploader_spec.rb')
-rw-r--r-- | spec/unit/cookbook_uploader_spec.rb | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/spec/unit/cookbook_uploader_spec.rb b/spec/unit/cookbook_uploader_spec.rb index deb0536487..152e5373f0 100644 --- a/spec/unit/cookbook_uploader_spec.rb +++ b/spec/unit/cookbook_uploader_spec.rb @@ -45,7 +45,13 @@ describe Chef::CookbookUploader do let(:sandbox_commit_uri) { "https://chef.example.org/sandboxes/abc123" } - let(:uploader) { described_class.new(cookbooks_to_upload, :rest => http_client) } + let(:policy_mode) { false } + + let(:uploader) { described_class.new(cookbooks_to_upload, rest: http_client, policy_mode: policy_mode) } + + it "defaults to not enabling policy mode" do + expect(described_class.new(cookbooks_to_upload, rest: http_client).policy_mode?).to be(false) + end it "has a list of cookbooks to upload" do expect(uploader.cookbooks).to eq(cookbooks_to_upload) @@ -159,6 +165,30 @@ describe Chef::CookbookUploader do end end + + context "when policy_mode is specified" do + + let(:cksums_not_on_remote) do + checksums_of_cookbook_files.keys + end + + let(:policy_mode) { true } + + def expected_save_url(cookbook) + "cookbook_artifacts/#{cookbook.name}/#{cookbook.version}" + end + + it "uploads all files in a sandbox transaction, then creates cookbooks on the server using cookbook_artifacts API" do + expect_sandbox_create + expect_checksum_upload + expect_sandbox_commit + expect_cookbook_create + + uploader.upload_cookbooks + end + + + end end end |