diff options
-rw-r--r-- | lib/puppet/indirector/indirection.rb | 2 | ||||
-rw-r--r-- | lib/puppet/indirector/request.rb | 1 | ||||
-rwxr-xr-x | spec/unit/indirector/indirection.rb | 8 | ||||
-rwxr-xr-x | spec/unit/indirector/request.rb | 8 |
4 files changed, 14 insertions, 5 deletions
diff --git a/lib/puppet/indirector/indirection.rb b/lib/puppet/indirector/indirection.rb index 05464f8c9..4841ec532 100644 --- a/lib/puppet/indirector/indirection.rb +++ b/lib/puppet/indirector/indirection.rb @@ -267,7 +267,7 @@ class Puppet::Indirector::Indirection def check_authorization(request, terminus) # At this point, we're assuming authorization makes no sense without # client information. - return unless request.options[:node] + return unless request.node # This is only to authorize via a terminus-specific authorization hook. return unless terminus.respond_to?(:authorized?) diff --git a/lib/puppet/indirector/request.rb b/lib/puppet/indirector/request.rb index 45c06670b..98fa38885 100644 --- a/lib/puppet/indirector/request.rb +++ b/lib/puppet/indirector/request.rb @@ -24,6 +24,7 @@ class Puppet::Indirector::Request else result[param] = value end + result end if key.is_a?(String) or key.is_a?(Symbol) diff --git a/spec/unit/indirector/indirection.rb b/spec/unit/indirector/indirection.rb index cefd0557e..5d4539e95 100755 --- a/spec/unit/indirector/indirection.rb +++ b/spec/unit/indirector/indirection.rb @@ -6,7 +6,7 @@ require 'puppet/indirector/indirection' describe "Indirection Delegator", :shared => true do it "should create a request object with the appropriate method name and all of the passed arguments" do - request = stub 'request', :options => {} + request = stub 'request', :node => nil @indirection.expects(:request).with(@method, "mystuff", :one => :two).returns request @@ -339,7 +339,7 @@ describe Puppet::Indirector::Indirection do end it "should use a request to save the object to the cache" do - request = stub 'request', :instance => @instance, :options => {} + request = stub 'request', :instance => @instance, :node => nil @indirection.expects(:request).returns request @@ -370,8 +370,8 @@ describe Puppet::Indirector::Indirection do end it "should use a request instance to search in and remove objects from the cache" do - destroy = stub 'destroy_request', :key => "/my/key", :options => {} - find = stub 'destroy_request', :key => "/my/key", :options => {} + destroy = stub 'destroy_request', :key => "/my/key", :node => nil + find = stub 'destroy_request', :key => "/my/key", :node => nil @indirection.expects(:request).with(:destroy, "/my/key").returns destroy @indirection.expects(:request).with(:find, "/my/key").returns find diff --git a/spec/unit/indirector/request.rb b/spec/unit/indirector/request.rb index 4f0ad8b6a..f7702f821 100755 --- a/spec/unit/indirector/request.rb +++ b/spec/unit/indirector/request.rb @@ -67,6 +67,14 @@ describe Puppet::Indirector::Request do it "should set be marked authenticated if configured in the options" do Puppet::Indirector::Request.new(:ind, :method, :key, :authenticated => "eh").should be_authenticated end + + it "should keep its options as a hash even if a node is specified" do + Puppet::Indirector::Request.new(:ind, :method, :key, :node => "eh").options.should be_instance_of(Hash) + end + + it "should keep its options as a hash even if another option is specified" do + Puppet::Indirector::Request.new(:ind, :method, :key, :foo => "bar").options.should be_instance_of(Hash) + end end it "should look use the Indirection class to return the appropriate indirection" do |