diff options
Diffstat (limited to 'spec/unit/knife/cookbook_upload_spec.rb')
-rw-r--r-- | spec/unit/knife/cookbook_upload_spec.rb | 112 |
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) |