diff options
-rw-r--r-- | spec/unit/provider/naginator.rb | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/spec/unit/provider/naginator.rb b/spec/unit/provider/naginator.rb new file mode 100644 index 000000000..c39a50c23 --- /dev/null +++ b/spec/unit/provider/naginator.rb @@ -0,0 +1,50 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../../spec_helper' + +require 'puppet/provider/naginator' + +describe Puppet::Provider::Naginator do + before do + @resource_type = stub 'resource_type', :name => :nagios_test + @class = Class.new(Puppet::Provider::Naginator) + + @class.stubs(:resource_type).returns @resource_type + end + + it "should be able to look up the associated Nagios type" do + nagios_type = mock "nagios_type" + nagios_type.stubs :attr_accessor + Nagios::Base.expects(:type).with(:test).returns nagios_type + + @class.nagios_type.should equal(nagios_type) + end + + it "should use the Nagios type to determine whether an attribute is valid" do + nagios_type = mock "nagios_type" + nagios_type.stubs :attr_accessor + Nagios::Base.expects(:type).with(:test).returns nagios_type + + nagios_type.expects(:parameters).returns [:foo, :bar] + + @class.valid_attr?(:test, :foo).should be_true + end + + it "should use Naginator to parse configuration snippets" do + parser = mock 'parser' + parser.expects(:parse).with("my text").returns "my instances" + Nagios::Parser.expects(:new).returns(parser) + + @class.parse("my text").should == "my instances" + end + + it "should join Nagios::Base records with '\\n' when asked to convert them to text" do + @class.expects(:header).returns "myheader\n" + + @class.to_file([:one, :two]).should == "myheader\none\ntwo" + end + + it "should be able to prefetch instance from configuration files" do + @class.should respond_to(:prefetch) + end +end |