puppetlabs-stdlib/spec/unit/puppet/parser/functions/is_function_available.rb
Eric Shamow 961dcab15d (#13610) Add is_function_available to stdlib
This function provides a simple wrapper around
Puppet::Parser::Functions.function for access within Puppet manifests.
This will allow users to check whether or not a plugin or functionality
such as hiera is installed on the server.
2013-03-18 15:44:50 -07:00

31 lines
890 B
Ruby

#!/usr/bin/env rspec
require 'spec_helper'
describe "the is_function_available function" do
before :all do
Puppet::Parser::Functions.autoloader.loadall
end
before :each do
@scope = Puppet::Parser::Scope.new
end
it "should exist" do
Puppet::Parser::Functions.function("is_function_available").should == "function_is_function_available"
end
it "should raise a ParseError if there is less than 1 arguments" do
lambda { @scope.function_is_function_available([]) }.should( raise_error(Puppet::ParseError))
end
it "should return false if a nonexistent function is passed" do
result = @scope.function_is_function_available(['jeff_mccunes_left_sock'])
result.should(eq(false))
end
it "should return true if an available function is passed" do
result = @scope.function_is_function_available(['require'])
result.should(eq(true))
end
end