Signed-off-by: Luke Kanies <[email protected]>
---
lib/puppet/indirector/node/active_record.rb | 6 ++++++
spec/unit/indirector/node/active_record.rb | 14 ++++++++++++++
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/lib/puppet/indirector/node/active_record.rb
b/lib/puppet/indirector/node/active_record.rb
index ab33af4..7b1ef92 100644
--- a/lib/puppet/indirector/node/active_record.rb
+++ b/lib/puppet/indirector/node/active_record.rb
@@ -4,4 +4,10 @@ require 'puppet/node'
class Puppet::Node::ActiveRecord < Puppet::Indirector::ActiveRecord
use_ar_model Puppet::Rails::Host
+
+ def find(request)
+ node = super
+ node.fact_merge
+ node
+ end
end
diff --git a/spec/unit/indirector/node/active_record.rb
b/spec/unit/indirector/node/active_record.rb
index 75a3772..1d90295 100755
--- a/spec/unit/indirector/node/active_record.rb
+++ b/spec/unit/indirector/node/active_record.rb
@@ -17,4 +17,18 @@ describe "Puppet::Node::ActiveRecord" do
it "should use Puppet::Rails::Host as its ActiveRecord model" do
Puppet::Node::ActiveRecord.ar_model.should equal(Puppet::Rails::Host)
end
+
+ it "should call fact_merge when a node is found" do
+ db_instance = stub 'db_instance'
+ Puppet::Node::ActiveRecord.ar_model.expects(:find_by_name).returns
db_instance
+
+ node = Puppet::Node.new("foo")
+ db_instance.expects(:to_puppet).returns node
+ ar = Puppet::Node::ActiveRecord.new
+
+ node.expects(:fact_merge)
+
+ request = Puppet::Indirector::Request.new(:node, :find, "what.ever")
+ ar.find(request)
+ end
end
--
1.6.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
-~----------~----~----~----~------~----~------~--~---