From 8fb31b7d15263ef044a57d50a172295bbf6465a9 Mon Sep 17 00:00:00 2001 From: varac Date: Wed, 25 Nov 2015 14:15:03 +0100 Subject: [feat] Add guess_apache_version() function Try to guess the version of apache to be installed. Certain apache modules depend on each other, so we need to evaluate the apache version before it gets installed. This function decides which apache version is going to be installed based on the `operatingsystemmajrelease` fact. --- spec/functions/guess_apache_version.rb | 50 ++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 spec/functions/guess_apache_version.rb (limited to 'spec/functions') diff --git a/spec/functions/guess_apache_version.rb b/spec/functions/guess_apache_version.rb new file mode 100644 index 0000000..b57a7a0 --- /dev/null +++ b/spec/functions/guess_apache_version.rb @@ -0,0 +1,50 @@ +require File.expand_path(File.join(File.dirname(__FILE__),'../spec_helper')) + +describe 'guess_apache_version function' do + + #let(:scope) { PuppetlabsSpec::PuppetInternals.scope } + + it "should exist" do + expect(Puppet::Parser::Functions.function("guess_apache_version")).to eq("function_guess_apache_version") + end + + context 'on debian 7.8' do + let(:facts) do + { + :operatingsystem => 'Debian', + :operatingsystemrelease => '7.8' + } + end + it "should return 2.2" do + result = scope.function_guess_apache_version([]) + expect(result).to(eq('2.2')) + end + end + + context 'on debian 8.0' do + let(:facts) do + { + :operatingsystem => 'Debian', + :operatingsystemrelease => '8.0' + } + end + it "should return 2.4" do + result = scope.function_guess_apache_version([]) + expect(result).to(eq('2.4')) + end + end + + context 'on ubuntu 15.10' do + let(:facts) do + { + :operatingsystem => 'Ubuntu', + :operatingsystemrelease => '15.10' + } + end + it "should return 2.4" do + result = scope.function_guess_apache_version([]) + expect(result).to(eq('2.4')) + end + end + +end -- cgit v1.2.3