Node parameters were made a reader instead of an accessor in

  commit b82b4ef04282ca0006931562f60459a1591b6268
  Author: Luke Kanies <[email protected]>
  Date:   Wed Jan 6 17:42:42 2010 -0800

      All non-transient parser references are gone

but external nodes needs to be able to assign to parameters.  The fix is
just to change that back to an accessor.  There may have been concern
over nodes replacing the hash object instead of the values could have
bad consequences, but that's not a concern since the node object being
created in this case is new also.

Paired with:  Nick Lewis

Signed-off-by: Matt Robinson <[email protected]>
---
 lib/puppet/node.rb                     |    4 ++--
 spec/unit/indirector/node/exec_spec.rb |    9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/lib/puppet/node.rb b/lib/puppet/node.rb
index 1fc6154..2453cd1 100644
--- a/lib/puppet/node.rb
+++ b/lib/puppet/node.rb
@@ -16,8 +16,8 @@ class Puppet::Node
   indirects :node, :terminus_setting => :node_terminus, :doc => "Where to find 
node information.
     A node is composed of its name, its facts, and its environment."
 
-  attr_accessor :name, :classes, :source, :ipaddress
-  attr_reader :time, :parameters
+  attr_accessor :name, :classes, :source, :ipaddress, :parameters
+  attr_reader :time
 
   def environment
     return super if @environment
diff --git a/spec/unit/indirector/node/exec_spec.rb 
b/spec/unit/indirector/node/exec_spec.rb
index d5299ad..d214a5e 100755
--- a/spec/unit/indirector/node/exec_spec.rb
+++ b/spec/unit/indirector/node/exec_spec.rb
@@ -25,8 +25,9 @@ describe Puppet::Node::Exec do
 
   describe "when handling the results of the command" do
     before do
-      @node = stub 'node', :fact_merge => nil
       @name = "yay"
+      @node = Puppet::Node.new(@name)
+      @node.stubs(:fact_merge)
       Puppet::Node.expects(:new).with(@name).returns(@node)
       @result = {}
       # Use a local variable so the reference is usable in the execute 
definition.
@@ -45,14 +46,14 @@ describe Puppet::Node::Exec do
 
     it "should set the resulting parameters as the node parameters" do
       @result[:parameters] = {"a" => "b", "c" => "d"}
-      @node.expects(:parameters=).with "a" => "b", "c" => "d"
       @searcher.find(@request)
+      @node.parameters.should == {"a" => "b", "c" => "d"}
     end
 
     it "should set the resulting classes as the node classes" do
       @result[:classes] = %w{one two}
-      @node.expects(:classes=).with %w{one two}
       @searcher.find(@request)
+      @node.classes.should == [ 'one', 'two' ]
     end
 
     it "should merge the node's facts with its parameters" do
@@ -62,8 +63,8 @@ describe Puppet::Node::Exec do
 
     it "should set the node's environment if one is provided" do
       @result[:environment] = "yay"
-      @node.expects(:environment=).with "yay"
       @searcher.find(@request)
+      @node.environment.to_s.should == 'yay'
     end
   end
 end
-- 
1.7.1

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to