+++ /dev/null
-require 'spec_helper'
-
-describe 'apache::mod::wsgi', :type => :class do
- let :pre_condition do
- 'include apache'
- end
- context "on a Debian OS" do
- let :facts do
- {
- :osfamily => 'Debian',
- :operatingsystemrelease => '6',
- :concat_basedir => '/dne',
- :lsbdistcodename => 'squeeze',
- :operatingsystem => 'Debian',
- :id => 'root',
- :kernel => 'Linux',
- :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
- :is_pe => false,
- }
- end
- it { is_expected.to contain_class("apache::params") }
- it { is_expected.to contain_class('apache::mod::wsgi').with(
- 'wsgi_socket_prefix' => nil
- )
- }
- it { is_expected.to contain_package("libapache2-mod-wsgi") }
- end
- context "on a RedHat OS" do
- let :facts do
- {
- :osfamily => 'RedHat',
- :operatingsystemrelease => '6',
- :concat_basedir => '/dne',
- :operatingsystem => 'RedHat',
- :id => 'root',
- :kernel => 'Linux',
- :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
- :is_pe => false,
- }
- end
- it { is_expected.to contain_class("apache::params") }
- it { is_expected.to contain_class('apache::mod::wsgi').with(
- 'wsgi_socket_prefix' => '/var/run/wsgi'
- )
- }
- it { is_expected.to contain_package("mod_wsgi") }
-
- describe "with custom WSGISocketPrefix" do
- let :params do
- { :wsgi_socket_prefix => 'run/wsgi' }
- end
- it {is_expected.to contain_file('wsgi.conf').with_content(/^ WSGISocketPrefix run\/wsgi$/)}
- end
- describe "with custom WSGIPythonHome" do
- let :params do
- { :wsgi_python_home => '/path/to/virtenv' }
- end
- it {is_expected.to contain_file('wsgi.conf').with_content(/^ WSGIPythonHome "\/path\/to\/virtenv"$/)}
- end
- describe "with custom package_name and mod_path" do
- let :params do
- {
- :package_name => 'mod_wsgi_package',
- :mod_path => '/foo/bar/baz',
- }
- end
- it { is_expected.to contain_apache__mod('wsgi').with({
- 'package' => 'mod_wsgi_package',
- 'path' => '/foo/bar/baz',
- })
- }
- it { is_expected.to contain_package("mod_wsgi_package") }
- it { is_expected.to contain_file('wsgi.load').with_content(%r"LoadModule wsgi_module /foo/bar/baz") }
- end
- describe "with custom mod_path not containing /" do
- let :params do
- {
- :package_name => 'mod_wsgi_package',
- :mod_path => 'wsgi_mod_name.so',
- }
- end
- it { is_expected.to contain_apache__mod('wsgi').with({
- 'path' => 'modules/wsgi_mod_name.so',
- 'package' => 'mod_wsgi_package',
- })
- }
- it { is_expected.to contain_file('wsgi.load').with_content(%r"LoadModule wsgi_module modules/wsgi_mod_name.so") }
-
- end
- describe "with package_name but no mod_path" do
- let :params do
- {
- :mod_path => '/foo/bar/baz',
- }
- end
- it { expect { catalogue }.to raise_error Puppet::Error, /apache::mod::wsgi - both package_name and mod_path must be specified!/ }
- end
- describe "with mod_path but no package_name" do
- let :params do
- {
- :package_name => '/foo/bar/baz',
- }
- end
- it { expect { catalogue }.to raise_error Puppet::Error, /apache::mod::wsgi - both package_name and mod_path must be specified!/ }
- end
- end
- context "on a FreeBSD OS" do
- let :facts do
- {
- :osfamily => 'FreeBSD',
- :operatingsystemrelease => '9',
- :concat_basedir => '/dne',
- :operatingsystem => 'FreeBSD',
- :id => 'root',
- :kernel => 'FreeBSD',
- :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
- :is_pe => false,
- }
- end
- it { is_expected.to contain_class("apache::params") }
- it { is_expected.to contain_class('apache::mod::wsgi').with(
- 'wsgi_socket_prefix' => nil
- )
- }
- it { is_expected.to contain_package("www/mod_wsgi") }
- end
- context "on a Gentoo OS" do
- let :facts do
- {
- :osfamily => 'Gentoo',
- :operatingsystem => 'Gentoo',
- :operatingsystemrelease => '3.16.1-gentoo',
- :concat_basedir => '/dne',
- :id => 'root',
- :kernel => 'Linux',
- :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin',
- :is_pe => false,
- }
- end
- it { is_expected.to contain_class("apache::params") }
- it { is_expected.to contain_class('apache::mod::wsgi').with(
- 'wsgi_socket_prefix' => nil
- )
- }
- it { is_expected.to contain_package("www-apache/mod_wsgi") }
- end
-end