summaryrefslogtreecommitdiff
path: root/spec/unit/cookbook_uploader_spec.rb
diff options
context:
space:
mode:
authordanielsdeleo <dan@getchef.com>2015-02-10 14:40:58 -0800
committerdanielsdeleo <dan@getchef.com>2015-02-11 10:52:50 -0800
commit1317eaf01510c33d1967ad0027d572792756807f (patch)
tree4fc7a5b3368db9a4ab6f6ddba3af21c6aa82f7ba /spec/unit/cookbook_uploader_spec.rb
parent1a09de46463df00b022700f3b1f872a3203bc9cc (diff)
downloadchef-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.rb32
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