summaryrefslogtreecommitdiffstats
path: root/spec/unit
diff options
context:
space:
mode:
authorMax Martin <max@puppetlabs.com>2011-04-21 16:56:03 -0700
committerMax Martin <max@puppetlabs.com>2011-04-21 17:20:28 -0700
commit2a2226c0b71aafcda953057d3ecc8df5638447f2 (patch)
tree956b8923f01a5b39cb3f9fc84aedb1a823b76bc1 /spec/unit
parentaaf7e2300b12a0ef03b620efc5eea7af0dc6f71b (diff)
downloadpuppet-2a2226c0b71aafcda953057d3ecc8df5638447f2.tar.gz
puppet-2a2226c0b71aafcda953057d3ecc8df5638447f2.tar.xz
puppet-2a2226c0b71aafcda953057d3ecc8df5638447f2.zip
Revert "Fixing Facts pson methods more resilient"
This reverts commit 07a7a68a25eb9b21189751c27f90f972224ea533. The JSON patch series has caused problems with the inventory service, and further discussion is needed to decide how to serialize objects to PSON with regards to future compatibility. Conflicts: spec/unit/node/facts_spec.rb Paired-with:Matt Robinson <matt@puppetlabs.com>
Diffstat (limited to 'spec/unit')
-rwxr-xr-xspec/unit/node/facts_spec.rb30
1 files changed, 6 insertions, 24 deletions
diff --git a/spec/unit/node/facts_spec.rb b/spec/unit/node/facts_spec.rb
index 1b6991ca0..efaa76e12 100755
--- a/spec/unit/node/facts_spec.rb
+++ b/spec/unit/node/facts_spec.rb
@@ -110,11 +110,7 @@ describe Puppet::Node::Facts, "when indirecting" do
end
it "should accept properly formatted pson" do
- facts = Puppet::Node::Facts.new("foo")
- facts.values = {"a" => "1", "b" => "2", "c" => "3"}
- facts.expiration = Time.now
- #pson = %Q({"document_type": "Puppet::Node::Facts", "data: {"name": "foo", "expiration": "#{@expiration}", "timestamp": "#{@timestamp}", "values": {"a": "1", "b": "2", "c": "3"}}})
- pson = %Q({"data": {"name":"foo", "expiration":"#{@expiration}", "timestamp": "#{@timestamp}", "values":{"a":"1","b":"2","c":"3"}}, "document_type":"Puppet::Node::Facts"})
+ pson = %Q({"name": "foo", "expiration": "#{@expiration}", "timestamp": "#{@timestamp}", "values": {"a": "1", "b": "2", "c": "3"}})
format = Puppet::Network::FormatHandler.format('pson')
facts = format.intern(Puppet::Node::Facts,pson)
facts.name.should == 'foo'
@@ -126,25 +122,11 @@ describe Puppet::Node::Facts, "when indirecting" do
Time.stubs(:now).returns(@timestamp)
facts = Puppet::Node::Facts.new("foo", {'a' => 1, 'b' => 2, 'c' => 3})
facts.expiration = @expiration
- facts.to_pson.should == %Q[{"data":{"name":"foo","timestamp":"#{@timestamp}","expiration":"#{@expiration}","values":{"a":1,"b":2,"c":3}},"document_type":"Puppet::Node::Facts"}]
- end
-
- it "should not include nil values" do
- facts = Puppet::Node::Facts.new("foo", {'a' => 1, 'b' => 2, 'c' => 3})
-
- # XXX:LAK For some reason this is resurrection the full instance, instead
- # of just returning the hash. This code works, but I can't figure out what's
- # going on.
- newfacts = PSON.parse(facts.to_pson)
- newfacts.expiration.should be_nil
- end
-
- it "should be able to handle nil values" do
- pson = %Q({"name": "foo", "values": {"a": "1", "b": "2", "c": "3"}})
- format = Puppet::Network::FormatHandler.format('pson')
- facts = format.intern(Puppet::Node::Facts,pson)
- facts.name.should == 'foo'
- facts.expiration.should be_nil
+ result = PSON.parse(facts.to_pson)
+ result['name'].should == facts.name
+ result['values'].should == facts.values.reject { |key, value| key.to_s =~ /_/ }
+ result['timestamp'].should == facts.timestamp.to_s
+ result['expiration'].should == facts.expiration.to_s
end
end
end