From 089ac3e37dd1418751bc4dfe152e09fbacbc5122 Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Fri, 18 Sep 2009 12:48:12 -0700 Subject: Fixing #2617 - using the searched-for REST name This allows a separation between the wrapper class and its internals, which is (at least) necessary for the CA cert, which might not be found using the internal name. Signed-off-by: Luke Kanies --- spec/unit/indirector/rest.rb | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'spec/unit') diff --git a/spec/unit/indirector/rest.rb b/spec/unit/indirector/rest.rb index d98e6f5c6..d12e3c642 100755 --- a/spec/unit/indirector/rest.rb +++ b/spec/unit/indirector/rest.rb @@ -29,7 +29,7 @@ describe Puppet::Indirector::REST do before do Puppet::Indirector::Terminus.stubs(:register_terminus_class) @model = stub('model', :supported_formats => %w{}, :convert_from => nil) - @instance = stub('model instance') + @instance = stub('model instance', :name= => nil) @indirection = stub('indirection', :name => :mystuff, :register_terminus_type => nil, :model => @model) Puppet::Indirector::Indirection.stubs(:instance).returns(@indirection) @@ -201,9 +201,11 @@ describe Puppet::Indirector::REST do it "should deserialize and return the http response" do @connection.expects(:get).returns @response - @searcher.expects(:deserialize).with(@response).returns "myobject" - @searcher.find(@request).should == 'myobject' + instance = stub 'object', :name= => nil + @searcher.expects(:deserialize).with(@response).returns instance + + @searcher.find(@request).should == instance end it "should use the URI generated by the Handler module" do @@ -224,6 +226,12 @@ describe Puppet::Indirector::REST do @searcher.find(@request).should equal(@instance) end + it "should set the name of the resulting instance to the asked-for name" do + @searcher.expects(:deserialize).with(@response).returns @instance + @instance.expects(:name=).with "foo bar" + @searcher.find(@request) + end + it "should generate an error when result data deserializes fails" do @searcher.expects(:deserialize).raises(ArgumentError) lambda { @searcher.find(@request) }.should raise_error(ArgumentError) -- cgit