X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fpostgresql%2Fspec%2Funit%2Fdefines%2Fserver%2Fconfig_entry_spec.rb;fp=3rdparty%2Fmodules%2Fpostgresql%2Fspec%2Funit%2Fdefines%2Fserver%2Fconfig_entry_spec.rb;h=34f0c70002eb48013eeeb84953d3be3dade98070;hb=a69999e580f8b3abd12446c2d6ad59e517651813;hp=0000000000000000000000000000000000000000;hpb=e7b6b352165009c385c52fcfe5a1055690dbfa4b;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/postgresql/spec/unit/defines/server/config_entry_spec.rb b/3rdparty/modules/postgresql/spec/unit/defines/server/config_entry_spec.rb new file mode 100644 index 000000000..34f0c7000 --- /dev/null +++ b/3rdparty/modules/postgresql/spec/unit/defines/server/config_entry_spec.rb @@ -0,0 +1,136 @@ +require 'spec_helper' + +describe 'postgresql::server::config_entry', :type => :define do + let :facts do + { + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemrelease => '6.4', + :kernel => 'Linux', + :concat_basedir => tmpfilename('contrib'), + :id => 'root', + :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', + :selinux => true, + } + end + + let(:title) { 'config_entry'} + + let :target do + tmpfilename('postgresql_conf') + end + + let :pre_condition do + "class {'postgresql::server':}" + end + + context "syntax check" do + let(:params) { { :ensure => 'present'} } + it { is_expected.to contain_postgresql__server__config_entry('config_entry') } + end + + context 'ports' do + context 'redhat 6' do + let :facts do + { + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemrelease => '6.4', + :kernel => 'Linux', + :concat_basedir => tmpfilename('contrib'), + :id => 'root', + :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', + :selinux => true, + } + end + let(:params) {{ :ensure => 'present', :name => 'port_spec', :value => '5432' }} + + it 'stops postgresql and changes the port' do + is_expected.to contain_exec('postgresql_stop_port') + is_expected.to contain_augeas('override PGPORT in /etc/sysconfig/pgsql/postgresql') + end + end + context 'redhat 7' do + let :facts do + { + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemrelease => '7.0', + :kernel => 'Linux', + :concat_basedir => tmpfilename('contrib'), + :id => 'root', + :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', + :selinux => true, + } + end + let(:params) {{ :ensure => 'present', :name => 'port_spec', :value => '5432' }} + + it 'stops postgresql and changes the port' do + is_expected.to contain_file('systemd-override') + is_expected.to contain_exec('restart-systemd') + end + end + context 'fedora 19' do + let :facts do + { + :osfamily => 'RedHat', + :operatingsystem => 'Fedora', + :operatingsystemrelease => '19', + :kernel => 'Linux', + :concat_basedir => tmpfilename('contrib'), + :id => 'root', + :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', + :selinux => true, + } + end + let(:params) {{ :ensure => 'present', :name => 'port_spec', :value => '5432' }} + + it 'stops postgresql and changes the port' do + is_expected.to contain_file('systemd-override') + is_expected.to contain_exec('restart-systemd') + end + end + end + + context "data_directory" do + let(:params) {{ :ensure => 'present', :name => 'data_directory_spec', :value => '/var/pgsql' }} + + it 'stops postgresql and changes the data directory' do + is_expected.to contain_exec('postgresql_data_directory') + is_expected.to contain_augeas('override PGDATA in /etc/sysconfig/pgsql/postgresql') + end + end + + context "passes values through appropriately" do + let(:params) {{ :ensure => 'present', :name => 'check_function_bodies', :value => 'off' }} + + it 'with no quotes' do + is_expected.to contain_postgresql_conf('check_function_bodies').with({ + :name => 'check_function_bodies', + :value => 'off' }) + end + end + + context 'unix_socket_directories' do + let :facts do + { + :osfamily => 'RedHat', + :operatingsystem => 'RedHat', + :operatingsystemrelease => '7.0', + :kernel => 'Linux', + :concat_basedir => tmpfilename('contrib'), + :id => 'root', + :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', + :selinux => true, + } + end + let(:params) {{ :ensure => 'present', :name => 'unix_socket_directories', :value => '/var/pgsql, /opt/postgresql, /root/' }} + + it 'should restart the server and change unix_socket_directories to the provided list' do + is_expected.to contain_postgresql_conf('unix_socket_directories') + .with({ :name => 'unix_socket_directories', + :value => '/var/pgsql, /opt/postgresql, /root/'}) + .that_notifies('Class[postgresql::server::service]') + end + end +end