require 'spec_helper_system' describe 'apache::mod::php class' do let(:distro_commands) { YAML.load(File.read(File.dirname(__FILE__) + '/../fixtures/system/distro_commands.yaml')) } let(:os) { node.facts['osfamily'] } let(:mod_dir) { case node.facts['osfamily'] when 'Debian' '/etc/apache2/mods-available' when 'RedHat' '/etc/httpd/conf.d' end } let(:vhost_dir) { case node.facts['osfamily'] when 'Debian' '/etc/apache2/sites-enabled' when 'RedHat' '/etc/httpd/conf.d' end } context "default php config" do it 'should install php' do puppet_apply(%{ class { 'apache': mpm_module => 'prefork', } class { 'apache::mod::php': } apache::vhost { 'php.example.com': port => '80', docroot => '/var/www/php', } host { 'php.example.com': ip => '127.0.0.1', } file { '/var/www/php/index.php': ensure => file, content => "\\n", } }) { |r| [0,2].should include r.exit_code} if distro_commands.has_key?(os) shell(distro_commands[os]["service_check"]["command"]) do |r| r.exit_code.should == 0 end end end it 'should have a default config file' do shell("/bin/cat #{mod_dir}/php5.conf") do |r| r.stdout.should =~ /^DirectoryIndex index\.php$/ r.exit_code.should == 0 end end it 'should answer to php.example.com' do shell("/usr/bin/curl php.example.com:80") do |r| r.stdout.should =~ /PHP Version/ r.exit_code.should == 0 end end end end