summaryrefslogtreecommitdiffstats
path: root/spec/unit/property/keyvalue_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/property/keyvalue_spec.rb')
-rw-r--r--spec/unit/property/keyvalue_spec.rb308
1 files changed, 154 insertions, 154 deletions
diff --git a/spec/unit/property/keyvalue_spec.rb b/spec/unit/property/keyvalue_spec.rb
index 6f9eef531..7666def56 100644
--- a/spec/unit/property/keyvalue_spec.rb
+++ b/spec/unit/property/keyvalue_spec.rb
@@ -8,161 +8,161 @@ klass = Puppet::Property::KeyValue
describe klass do
- it "should be a subclass of Property" do
- klass.superclass.must == Puppet::Property
+ it "should be a subclass of Property" do
+ klass.superclass.must == Puppet::Property
+ end
+
+ describe "as an instance" do
+ before do
+ # Wow that's a messy interface to the resource.
+ klass.initvars
+ @resource = stub 'resource', :[]= => nil, :property => nil
+ @property = klass.new(:resource => @resource)
end
- describe "as an instance" do
- before do
- # Wow that's a messy interface to the resource.
- klass.initvars
- @resource = stub 'resource', :[]= => nil, :property => nil
- @property = klass.new(:resource => @resource)
- end
-
- it "should have a , as default delimiter" do
- @property.delimiter.should == ";"
- end
-
- it "should have a = as default separator" do
- @property.separator.should == "="
- end
-
- it "should have a :membership as default membership" do
- @property.membership.should == :key_value_membership
- end
-
- it "should return the same value passed into should_to_s" do
- @property.should_to_s({:foo => "baz", :bar => "boo"}) == "foo=baz;bar=boo"
- end
-
- it "should return the passed in array values joined with the delimiter from is_to_s" do
- @property.is_to_s({"foo" => "baz" , "bar" => "boo"}).should == "foo=baz;bar=boo"
- end
-
- describe "when calling inclusive?" do
- it "should use the membership method to look up on the @resource" do
- @property.expects(:membership).returns(:key_value_membership)
- @resource.expects(:[]).with(:key_value_membership)
- @property.inclusive?
- end
-
- it "should return true when @resource[membership] == inclusive" do
- @property.stubs(:membership).returns(:key_value_membership)
- @resource.stubs(:[]).with(:key_value_membership).returns(:inclusive)
- @property.inclusive?.must == true
- end
-
- it "should return false when @resource[membership] != inclusive" do
- @property.stubs(:membership).returns(:key_value_membership)
- @resource.stubs(:[]).with(:key_value_membership).returns(:minimum)
- @property.inclusive?.must == false
- end
- end
-
- describe "when calling process_current_hash" do
- it "should return {} if hash is :absent" do
- @property.process_current_hash(:absent).must == {}
- end
-
- it "should set every key to nil if inclusive?" do
- @property.stubs(:inclusive?).returns(true)
- @property.process_current_hash({:foo => "bar", :do => "re"}).must == { :foo => nil, :do => nil }
- end
-
- it "should return the hash if !inclusive?" do
- @property.stubs(:inclusive?).returns(false)
- @property.process_current_hash({:foo => "bar", :do => "re"}).must == {:foo => "bar", :do => "re"}
- end
- end
-
- describe "when calling should" do
- it "should return nil if @should is nil" do
- @property.should.must == nil
- end
-
- it "should call process_current_hash" do
- @property.should = ["foo=baz", "bar=boo"]
- @property.stubs(:retrieve).returns({:do => "re", :mi => "fa" })
- @property.expects(:process_current_hash).returns({})
- @property.should
- end
-
- it "should return the hashed values of @should and the nilled values of retrieve if inclusive" do
- @property.should = ["foo=baz", "bar=boo"]
- @property.expects(:retrieve).returns({:do => "re", :mi => "fa" })
- @property.expects(:inclusive?).returns(true)
- @property.should.must == { :foo => "baz", :bar => "boo", :do => nil, :mi => nil }
- end
-
- it "should return the hashed @should + the unique values of retrieve if !inclusive" do
- @property.should = ["foo=baz", "bar=boo"]
- @property.expects(:retrieve).returns({:foo => "diff", :do => "re", :mi => "fa"})
- @property.expects(:inclusive?).returns(false)
- @property.should.must == { :foo => "baz", :bar => "boo", :do => "re", :mi => "fa" }
- end
- end
-
- describe "when calling retrieve" do
- before do
- @provider = mock("provider")
- @property.stubs(:provider).returns(@provider)
- end
-
- it "should send 'name' to the provider" do
- @provider.expects(:send).with(:keys)
- @property.expects(:name).returns(:keys)
- @property.retrieve
- end
-
- it "should return a hash with the provider returned info" do
- @provider.stubs(:send).with(:keys).returns({"do" => "re", "mi" => "fa" })
- @property.stubs(:name).returns(:keys)
- @property.retrieve == {"do" => "re", "mi" => "fa" }
- end
-
- it "should return :absent when the provider returns :absent" do
- @provider.stubs(:send).with(:keys).returns(:absent)
- @property.stubs(:name).returns(:keys)
- @property.retrieve == :absent
- end
- end
-
- describe "when calling hashify" do
- it "should return the array hashified" do
- @property.hashify(["foo=baz", "bar=boo"]).must == { :foo => "baz", :bar => "boo" }
- end
- end
-
- describe "when calling insync?" do
- before do
- @provider = mock("provider")
- @property.stubs(:provider).returns(@provider)
- @property.stubs(:name).returns(:prop_name)
- end
-
- it "should return true unless @should is defined and not nil" do
- @property.insync?("foo") == true
- end
-
- it "should return true if the passed in values is nil" do
- @property.should = "foo"
- @property.insync?(nil) == true
- end
-
- it "should return true if hashified should value == (retrieved) value passed in" do
- @provider.stubs(:prop_name).returns({ :foo => "baz", :bar => "boo" })
- @property.should = ["foo=baz", "bar=boo"]
- @property.expects(:inclusive?).returns(true)
- @property.insync?({ :foo => "baz", :bar => "boo" }).must == true
- end
-
- it "should return false if prepared value != should value" do
- @provider.stubs(:prop_name).returns({ "foo" => "bee", "bar" => "boo" })
- @property.should = ["foo=baz", "bar=boo"]
- @property.expects(:inclusive?).returns(true)
- @property.insync?({ "foo" => "bee", "bar" => "boo" }).must == false
- end
- end
+ it "should have a , as default delimiter" do
+ @property.delimiter.should == ";"
end
+
+ it "should have a = as default separator" do
+ @property.separator.should == "="
+ end
+
+ it "should have a :membership as default membership" do
+ @property.membership.should == :key_value_membership
+ end
+
+ it "should return the same value passed into should_to_s" do
+ @property.should_to_s({:foo => "baz", :bar => "boo"}) == "foo=baz;bar=boo"
+ end
+
+ it "should return the passed in array values joined with the delimiter from is_to_s" do
+ @property.is_to_s({"foo" => "baz" , "bar" => "boo"}).should == "foo=baz;bar=boo"
+ end
+
+ describe "when calling inclusive?" do
+ it "should use the membership method to look up on the @resource" do
+ @property.expects(:membership).returns(:key_value_membership)
+ @resource.expects(:[]).with(:key_value_membership)
+ @property.inclusive?
+ end
+
+ it "should return true when @resource[membership] == inclusive" do
+ @property.stubs(:membership).returns(:key_value_membership)
+ @resource.stubs(:[]).with(:key_value_membership).returns(:inclusive)
+ @property.inclusive?.must == true
+ end
+
+ it "should return false when @resource[membership] != inclusive" do
+ @property.stubs(:membership).returns(:key_value_membership)
+ @resource.stubs(:[]).with(:key_value_membership).returns(:minimum)
+ @property.inclusive?.must == false
+ end
+ end
+
+ describe "when calling process_current_hash" do
+ it "should return {} if hash is :absent" do
+ @property.process_current_hash(:absent).must == {}
+ end
+
+ it "should set every key to nil if inclusive?" do
+ @property.stubs(:inclusive?).returns(true)
+ @property.process_current_hash({:foo => "bar", :do => "re"}).must == { :foo => nil, :do => nil }
+ end
+
+ it "should return the hash if !inclusive?" do
+ @property.stubs(:inclusive?).returns(false)
+ @property.process_current_hash({:foo => "bar", :do => "re"}).must == {:foo => "bar", :do => "re"}
+ end
+ end
+
+ describe "when calling should" do
+ it "should return nil if @should is nil" do
+ @property.should.must == nil
+ end
+
+ it "should call process_current_hash" do
+ @property.should = ["foo=baz", "bar=boo"]
+ @property.stubs(:retrieve).returns({:do => "re", :mi => "fa" })
+ @property.expects(:process_current_hash).returns({})
+ @property.should
+ end
+
+ it "should return the hashed values of @should and the nilled values of retrieve if inclusive" do
+ @property.should = ["foo=baz", "bar=boo"]
+ @property.expects(:retrieve).returns({:do => "re", :mi => "fa" })
+ @property.expects(:inclusive?).returns(true)
+ @property.should.must == { :foo => "baz", :bar => "boo", :do => nil, :mi => nil }
+ end
+
+ it "should return the hashed @should + the unique values of retrieve if !inclusive" do
+ @property.should = ["foo=baz", "bar=boo"]
+ @property.expects(:retrieve).returns({:foo => "diff", :do => "re", :mi => "fa"})
+ @property.expects(:inclusive?).returns(false)
+ @property.should.must == { :foo => "baz", :bar => "boo", :do => "re", :mi => "fa" }
+ end
+ end
+
+ describe "when calling retrieve" do
+ before do
+ @provider = mock("provider")
+ @property.stubs(:provider).returns(@provider)
+ end
+
+ it "should send 'name' to the provider" do
+ @provider.expects(:send).with(:keys)
+ @property.expects(:name).returns(:keys)
+ @property.retrieve
+ end
+
+ it "should return a hash with the provider returned info" do
+ @provider.stubs(:send).with(:keys).returns({"do" => "re", "mi" => "fa" })
+ @property.stubs(:name).returns(:keys)
+ @property.retrieve == {"do" => "re", "mi" => "fa" }
+ end
+
+ it "should return :absent when the provider returns :absent" do
+ @provider.stubs(:send).with(:keys).returns(:absent)
+ @property.stubs(:name).returns(:keys)
+ @property.retrieve == :absent
+ end
+ end
+
+ describe "when calling hashify" do
+ it "should return the array hashified" do
+ @property.hashify(["foo=baz", "bar=boo"]).must == { :foo => "baz", :bar => "boo" }
+ end
+ end
+
+ describe "when calling insync?" do
+ before do
+ @provider = mock("provider")
+ @property.stubs(:provider).returns(@provider)
+ @property.stubs(:name).returns(:prop_name)
+ end
+
+ it "should return true unless @should is defined and not nil" do
+ @property.insync?("foo") == true
+ end
+
+ it "should return true if the passed in values is nil" do
+ @property.should = "foo"
+ @property.insync?(nil) == true
+ end
+
+ it "should return true if hashified should value == (retrieved) value passed in" do
+ @provider.stubs(:prop_name).returns({ :foo => "baz", :bar => "boo" })
+ @property.should = ["foo=baz", "bar=boo"]
+ @property.expects(:inclusive?).returns(true)
+ @property.insync?({ :foo => "baz", :bar => "boo" }).must == true
+ end
+
+ it "should return false if prepared value != should value" do
+ @provider.stubs(:prop_name).returns({ "foo" => "bee", "bar" => "boo" })
+ @property.should = ["foo=baz", "bar=boo"]
+ @property.expects(:inclusive?).returns(true)
+ @property.insync?({ "foo" => "bee", "bar" => "boo" }).must == false
+ end
+ end
+ end
end