diff options
Diffstat (limited to 'spec/unit/platform_spec.rb')
-rw-r--r-- | spec/unit/platform_spec.rb | 70 |
1 files changed, 35 insertions, 35 deletions
diff --git a/spec/unit/platform_spec.rb b/spec/unit/platform_spec.rb index 03357830cc..3904435ea0 100644 --- a/spec/unit/platform_spec.rb +++ b/spec/unit/platform_spec.rb @@ -6,9 +6,9 @@ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -32,7 +32,7 @@ describe "Chef::Platform supports" do :redhat, :oracle, :gentoo, - :arch, + :arch, :solaris, :mswin, :mingw32, @@ -50,11 +50,11 @@ describe Chef::Platform do before :all do @original_platform_map = Chef::Platform.platforms end - + after :all do || Chef::Platform.platforms = @original_platform_map end - + before(:each) do Chef::Platform.platforms = { :darwin => { @@ -80,13 +80,13 @@ describe Chef::Platform do } @events = Chef::EventDispatch::Dispatcher.new end - + it "should allow you to look up a platform by name and version, returning the provider map for it" do pmap = Chef::Platform.find("Darwin", "9.2.2") pmap.should be_a_kind_of(Hash) pmap[:file].should eql("darwinian") end - + it "should allow you to look up a platform by name and version using \"greater than\" style operators" do pmap = Chef::Platform.find("Darwin", "11.1.0") pmap.should be_a_kind_of(Hash) @@ -98,46 +98,46 @@ describe Chef::Platform do pmap.should be_a_kind_of(Hash) pmap[:file].should eql("old school") end - + it "should use the default providers if the os doesn't give me a default, but does exist" do pmap = Chef::Platform.find("mars_volta", "1") pmap.should be_a_kind_of(Hash) pmap[:file].should eql(Chef::Provider::File) end - + it "should use the default provider if the os does not exist" do pmap = Chef::Platform.find("AIX", "1") pmap.should be_a_kind_of(Hash) pmap[:file].should eql(Chef::Provider::File) end - + it "should merge the defaults for an os with the specific version" do pmap = Chef::Platform.find("Darwin", "9.2.2") pmap[:file].should eql("darwinian") pmap[:snicker].should eql("snack") end - + it "should merge the defaults for an os with the universal defaults" do pmap = Chef::Platform.find("Darwin", "9.2.2") pmap[:file].should eql("darwinian") pmap[:pax].should eql("brittania") end - + it "should allow you to look up a provider for a platform directly by symbol" do Chef::Platform.find_provider("Darwin", "9.2.2", :file).should eql("darwinian") end - + it "should raise an exception if a provider cannot be found for a resource type" do lambda { Chef::Platform.find_provider("Darwin", "9.2.2", :coffee) }.should raise_error(ArgumentError) end - + it "should look up a provider for a resource with a Chef::Resource object" do kitty = Chef::Resource::Cat.new("loulou") Chef::Platform.find_provider("Darwin", "9.2.2", kitty).should eql("nice") end - + it "should look up a provider with a node and a Chef::Resource object" do - kitty = Chef::Resource::Cat.new("loulou") + kitty = Chef::Resource::Cat.new("loulou") node = Chef::Node.new node.name("Intel") node.automatic_attrs[:platform] = "mac_os_x" @@ -150,7 +150,7 @@ describe Chef::Platform do end it "should prefer an explicit provider" do - kitty = Chef::Resource::Cat.new("loulou") + kitty = Chef::Resource::Cat.new("loulou") kitty.stub!(:provider).and_return(Chef::Provider::File) node = Chef::Node.new node.name("Intel") @@ -169,7 +169,7 @@ describe Chef::Platform do node.automatic_attrs[:platform_version] = "8.5" Chef::Platform.find_provider_for_node(node, kitty).should eql(Chef::Provider::Cat) end - + def setup_file_resource node = Chef::Node.new node.automatic_attrs[:platform] = "mac_os_x" @@ -185,7 +185,7 @@ describe Chef::Platform do provider.new_resource.should equal(file) provider.run_context.should equal(run_context) end - + it "returns a provider object given a Chef::Resource object which has a valid run context without an action" do file, run_context = setup_file_resource provider = Chef::Platform.provider_for_resource(file) @@ -193,7 +193,7 @@ describe Chef::Platform do provider.new_resource.should equal(file) provider.run_context.should equal(run_context) end - + it "raises an error when trying to find the provider for a resource with no run context" do file = Chef::Resource::File.new("whateva") lambda {Chef::Platform.provider_for_resource(file)}.should raise_error(ArgumentError) @@ -203,44 +203,44 @@ describe Chef::Platform do lambda {Chef::Platform.provider_for_node('node', 'resource')}.should raise_error(NotImplementedError) end - it "should update the provider map with map" do + it "should update the provider map with map" do Chef::Platform.set( :platform => :darwin, :version => "9.2.2", - :resource => :file, + :resource => :file, :provider => "masterful" ) Chef::Platform.platforms[:darwin]["9.2.2"][:file].should eql("masterful") Chef::Platform.set( :platform => :darwin, :resource => :file, - :provider => "masterful" + :provider => "masterful" ) Chef::Platform.platforms[:darwin][:default][:file].should eql("masterful") Chef::Platform.set( - :resource => :file, + :resource => :file, :provider => "masterful" - ) + ) Chef::Platform.platforms[:default][:file].should eql("masterful") - + Chef::Platform.set( :platform => :hero, :version => "9.2.2", - :resource => :file, + :resource => :file, :provider => "masterful" ) Chef::Platform.platforms[:hero]["9.2.2"][:file].should eql("masterful") - + Chef::Platform.set( - :resource => :file, + :resource => :file, :provider => "masterful" ) Chef::Platform.platforms[:default][:file].should eql("masterful") - + Chef::Platform.platforms = {} - + Chef::Platform.set( - :resource => :file, + :resource => :file, :provider => "masterful" ) Chef::Platform.platforms[:default][:file].should eql("masterful") @@ -248,8 +248,8 @@ describe Chef::Platform do Chef::Platform.platforms = { :neurosis => {} } Chef::Platform.set(:platform => :neurosis, :resource => :package, :provider => "masterful") Chef::Platform.platforms[:neurosis][:default][:package].should eql("masterful") - + end - - + + end |