summaryrefslogtreecommitdiff
path: root/spec/unit/knife/cookbook_upload_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/knife/cookbook_upload_spec.rb')
-rw-r--r--spec/unit/knife/cookbook_upload_spec.rb112
1 files changed, 56 insertions, 56 deletions
diff --git a/spec/unit/knife/cookbook_upload_spec.rb b/spec/unit/knife/cookbook_upload_spec.rb
index ecee34f308..666974a817 100644
--- a/spec/unit/knife/cookbook_upload_spec.rb
+++ b/spec/unit/knife/cookbook_upload_spec.rb
@@ -19,11 +19,11 @@
require File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "spec_helper"))
-require 'chef/cookbook_uploader'
-require 'timeout'
+require "chef/cookbook_uploader"
+require "timeout"
describe Chef::Knife::CookbookUpload do
- let(:cookbook) { Chef::CookbookVersion.new('test_cookbook', '/tmp/blah.txt') }
+ let(:cookbook) { Chef::CookbookVersion.new("test_cookbook", "/tmp/blah.txt") }
let(:cookbooks_by_name) do
{cookbook.name => cookbook}
@@ -40,7 +40,7 @@ describe Chef::Knife::CookbookUpload do
let(:output) { StringIO.new }
- let(:name_args) { ['test_cookbook'] }
+ let(:name_args) { ["test_cookbook"] }
let(:knife) do
k = Chef::Knife::CookbookUpload.new
@@ -54,11 +54,11 @@ describe Chef::Knife::CookbookUpload do
allow(Chef::CookbookLoader).to receive(:new).and_return(cookbook_loader)
end
- describe 'with --concurrency' do
- it 'should upload cookbooks with predefined concurrency' do
+ describe "with --concurrency" do
+ it "should upload cookbooks with predefined concurrency" do
allow(Chef::CookbookVersion).to receive(:list_all_versions).and_return({})
knife.config[:concurrency] = 3
- test_cookbook = Chef::CookbookVersion.new('test_cookbook', '/tmp/blah')
+ test_cookbook = Chef::CookbookVersion.new("test_cookbook", "/tmp/blah")
allow(cookbook_loader).to receive(:each).and_yield("test_cookbook", test_cookbook)
allow(cookbook_loader).to receive(:cookbook_names).and_return(["test_cookbook"])
expect(Chef::CookbookUploader).to receive(:new).
@@ -68,35 +68,35 @@ describe Chef::Knife::CookbookUpload do
end
end
- describe 'run' do
+ describe "run" do
before(:each) do
allow(Chef::CookbookUploader).to receive_messages(:new => cookbook_uploader)
allow(Chef::CookbookVersion).to receive(:list_all_versions).and_return({})
end
- it 'should print usage and exit when a cookbook name is not provided' do
+ it "should print usage and exit when a cookbook name is not provided" do
knife.name_args = []
expect(knife).to receive(:show_usage)
expect(knife.ui).to receive(:fatal)
expect { knife.run }.to raise_error(SystemExit)
end
- describe 'when specifying a cookbook name' do
- it 'should upload the cookbook' do
+ describe "when specifying a cookbook name" do
+ it "should upload the cookbook" do
expect(knife).to receive(:upload).once
knife.run
end
- it 'should report on success' do
+ it "should report on success" do
expect(knife).to receive(:upload).once
expect(knife.ui).to receive(:info).with(/Uploaded 1 cookbook/)
knife.run
end
end
- describe 'when specifying the same cookbook name twice' do
- it 'should upload the cookbook only once' do
- knife.name_args = ['test_cookbook', 'test_cookbook']
+ describe "when specifying the same cookbook name twice" do
+ it "should upload the cookbook only once" do
+ knife.name_args = ["test_cookbook", "test_cookbook"]
expect(knife).to receive(:upload).once
knife.run
end
@@ -105,9 +105,9 @@ describe Chef::Knife::CookbookUpload do
context "when uploading a cookbook that uses deprecated overlays" do
before do
- allow(cookbook_loader).to receive(:merged_cookbooks).and_return(['test_cookbook'])
+ allow(cookbook_loader).to receive(:merged_cookbooks).and_return(["test_cookbook"])
allow(cookbook_loader).to receive(:merged_cookbook_paths).
- and_return({'test_cookbook' => %w{/path/one/test_cookbook /path/two/test_cookbook}})
+ and_return({"test_cookbook" => %w{/path/one/test_cookbook /path/two/test_cookbook}})
end
it "emits a warning" do
@@ -127,19 +127,19 @@ E
end
end
- describe 'when specifying a cookbook name among many' do
- let(:name_args) { ['test_cookbook1'] }
+ describe "when specifying a cookbook name among many" do
+ let(:name_args) { ["test_cookbook1"] }
let(:cookbooks_by_name) do
{
- 'test_cookbook1' => Chef::CookbookVersion.new('test_cookbook1', '/tmp/blah'),
- 'test_cookbook2' => Chef::CookbookVersion.new('test_cookbook2', '/tmp/blah'),
- 'test_cookbook3' => Chef::CookbookVersion.new('test_cookbook3', '/tmp/blah'),
+ "test_cookbook1" => Chef::CookbookVersion.new("test_cookbook1", "/tmp/blah"),
+ "test_cookbook2" => Chef::CookbookVersion.new("test_cookbook2", "/tmp/blah"),
+ "test_cookbook3" => Chef::CookbookVersion.new("test_cookbook3", "/tmp/blah"),
}
end
it "should read only one cookbook" do
- expect(cookbook_loader).to receive(:[]).once.with('test_cookbook1').and_call_original
+ expect(cookbook_loader).to receive(:[]).once.with("test_cookbook1").and_call_original
knife.run
end
@@ -155,7 +155,7 @@ E
end
# This is testing too much. We should break it up.
- describe 'when specifying a cookbook name with dependencies' do
+ describe "when specifying a cookbook name with dependencies" do
let(:name_args) { ["test_cookbook2"] }
let(:cookbooks_by_name) do
@@ -164,16 +164,16 @@ E
"test_cookbook3" => test_cookbook3 }
end
- let(:test_cookbook1) { Chef::CookbookVersion.new('test_cookbook1', '/tmp/blah') }
+ let(:test_cookbook1) { Chef::CookbookVersion.new("test_cookbook1", "/tmp/blah") }
let(:test_cookbook2) do
- c = Chef::CookbookVersion.new('test_cookbook2')
+ c = Chef::CookbookVersion.new("test_cookbook2")
c.metadata.depends("test_cookbook3")
c
end
let(:test_cookbook3) do
- c = Chef::CookbookVersion.new('test_cookbook3')
+ c = Chef::CookbookVersion.new("test_cookbook3")
c.metadata.depends("test_cookbook1")
c.metadata.depends("test_cookbook2")
c
@@ -191,8 +191,8 @@ E
end
end
- describe 'when specifying a cookbook name with missing dependencies' do
- let(:cookbook_dependency) { Chef::CookbookVersion.new('dependency', '/tmp/blah') }
+ describe "when specifying a cookbook name with missing dependencies" do
+ let(:cookbook_dependency) { Chef::CookbookVersion.new("dependency", "/tmp/blah") }
before(:each) do
cookbook.metadata.depends("dependency")
@@ -205,22 +205,22 @@ E
knife.ui = Chef::Knife::UI.new(@stdout, @stderr, @stdin, {})
end
- it 'should exit and not upload the cookbook' do
- expect(cookbook_loader).to receive(:[]).once.with('test_cookbook')
+ it "should exit and not upload the cookbook" do
+ expect(cookbook_loader).to receive(:[]).once.with("test_cookbook")
expect(cookbook_loader).not_to receive(:load_cookbooks)
expect(cookbook_uploader).not_to receive(:upload_cookbooks)
expect {knife.run}.to raise_error(SystemExit)
end
- it 'should output a message for a single missing dependency' do
+ it "should output a message for a single missing dependency" do
expect {knife.run}.to raise_error(SystemExit)
- expect(@stderr.string).to include('Cookbook test_cookbook depends on cookbooks which are not currently')
- expect(@stderr.string).to include('being uploaded and cannot be found on the server.')
+ expect(@stderr.string).to include("Cookbook test_cookbook depends on cookbooks which are not currently")
+ expect(@stderr.string).to include("being uploaded and cannot be found on the server.")
expect(@stderr.string).to include("The missing cookbook(s) are: 'dependency' version '>= 0.0.0'")
end
- it 'should output a message for a multiple missing dependencies which are concatenated' do
- cookbook_dependency2 = Chef::CookbookVersion.new('dependency2')
+ it "should output a message for a multiple missing dependencies which are concatenated" do
+ cookbook_dependency2 = Chef::CookbookVersion.new("dependency2")
cookbook.metadata.depends("dependency2")
allow(cookbook_loader).to receive(:[]) do |ckbk|
{ "test_cookbook" => cookbook,
@@ -229,8 +229,8 @@ E
end
allow(knife).to receive(:cookbook_names).and_return(["dependency", "dependency2", "test_cookbook"])
expect {knife.run}.to raise_error(SystemExit)
- expect(@stderr.string).to include('Cookbook test_cookbook depends on cookbooks which are not currently')
- expect(@stderr.string).to include('being uploaded and cannot be found on the server.')
+ expect(@stderr.string).to include("Cookbook test_cookbook depends on cookbooks which are not currently")
+ expect(@stderr.string).to include("being uploaded and cannot be found on the server.")
expect(@stderr.string).to include("The missing cookbook(s) are:")
expect(@stderr.string).to include("'dependency' version '>= 0.0.0'")
expect(@stderr.string).to include("'dependency2' version '>= 0.0.0'")
@@ -243,31 +243,31 @@ E
knife.run
end
- describe 'with -a or --all' do
+ describe "with -a or --all" do
before(:each) do
knife.config[:all] = true
end
- context 'when cookbooks exist in the cookbook path' do
+ context "when cookbooks exist in the cookbook path" do
before(:each) do
- @test_cookbook1 = Chef::CookbookVersion.new('test_cookbook1', '/tmp/blah')
- @test_cookbook2 = Chef::CookbookVersion.new('test_cookbook2', '/tmp/blah')
+ @test_cookbook1 = Chef::CookbookVersion.new("test_cookbook1", "/tmp/blah")
+ @test_cookbook2 = Chef::CookbookVersion.new("test_cookbook2", "/tmp/blah")
allow(cookbook_loader).to receive(:each).and_yield("test_cookbook1", @test_cookbook1).and_yield("test_cookbook2", @test_cookbook2)
allow(cookbook_loader).to receive(:cookbook_names).and_return(["test_cookbook1", "test_cookbook2"])
end
- it 'should upload all cookbooks' do
+ it "should upload all cookbooks" do
expect(knife).to receive(:upload).once
knife.run
end
- it 'should report on success' do
+ it "should report on success" do
expect(knife).to receive(:upload).once
expect(knife.ui).to receive(:info).with(/Uploaded all cookbooks/)
knife.run
end
- it 'should update the version constraints for an environment' do
+ it "should update the version constraints for an environment" do
allow(knife).to receive(:assert_environment_valid!).and_return(true)
knife.config[:environment] = "production"
expect(knife).to receive(:update_version_constraints).once
@@ -275,28 +275,28 @@ E
end
end
- context 'when no cookbooks exist in the cookbook path' do
+ context "when no cookbooks exist in the cookbook path" do
before(:each) do
allow(cookbook_loader).to receive(:each)
end
- it 'should not upload any cookbooks' do
+ it "should not upload any cookbooks" do
expect(knife).to_not receive(:upload)
knife.run
end
- context 'when cookbook path is an array' do
- it 'should warn users that no cookbooks exist' do
- knife.config[:cookbook_path] = ['/chef-repo/cookbooks', '/home/user/cookbooks']
+ context "when cookbook path is an array" do
+ it "should warn users that no cookbooks exist" do
+ knife.config[:cookbook_path] = ["/chef-repo/cookbooks", "/home/user/cookbooks"]
expect(knife.ui).to receive(:warn).with(
/Could not find any cookbooks in your cookbook path: #{knife.config[:cookbook_path].join(', ')}\. Use --cookbook-path to specify the desired path\./)
knife.run
end
end
- context 'when cookbook path is a string' do
- it 'should warn users that no cookbooks exist' do
- knife.config[:cookbook_path] = '/chef-repo/cookbooks'
+ context "when cookbook path is a string" do
+ it "should warn users that no cookbooks exist" do
+ knife.config[:cookbook_path] = "/chef-repo/cookbooks"
expect(knife.ui).to receive(:warn).with(
/Could not find any cookbooks in your cookbook path: #{knife.config[:cookbook_path]}\. Use --cookbook-path to specify the desired path\./)
knife.run
@@ -305,8 +305,8 @@ E
end
end
- describe 'when a frozen cookbook exists on the server' do
- it 'should fail to replace it' do
+ describe "when a frozen cookbook exists on the server" do
+ it "should fail to replace it" do
exception = Chef::Exceptions::CookbookFrozen.new
expect(cookbook_uploader).to receive(:upload_cookbooks).
and_raise(exception)
@@ -315,7 +315,7 @@ E
expect { knife.run }.to raise_error(SystemExit)
end
- it 'should not update the version constraints for an environment' do
+ it "should not update the version constraints for an environment" do
allow(knife).to receive(:assert_environment_valid!).and_return(true)
knife.config[:environment] = "production"
allow(knife).to receive(:upload).and_raise(Chef::Exceptions::CookbookFrozen)