123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- require 'spec_helper'
- describe 'puppetdb::server::jetty', :type => :class do
- context 'on a supported platform' do
- let(:facts) do
- {
- :osfamily => 'RedHat',
- :fqdn => 'test.domain.local',
- }
- end
- it { should contain_class('puppetdb::server::jetty') }
- describe 'when using default values' do
- it { should contain_file('/etc/puppetlabs/puppetdb/conf.d/jetty.ini').
- with(
- 'ensure' => 'file',
- 'owner' => 'puppetdb',
- 'group' => 'puppetdb',
- 'mode' => '0600'
- )}
- it { should contain_ini_setting('puppetdb_host').
- with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'host',
- 'value' => 'localhost'
- )}
- it { should contain_ini_setting('puppetdb_port').
- with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'port',
- 'value' => 8080
- )}
- it { should contain_ini_setting('puppetdb_sslhost').
- with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'ssl-host',
- 'value' => '0.0.0.0'
- )}
- it { should contain_ini_setting('puppetdb_sslport').
- with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'ssl-port',
- 'value' => 8081
- )}
- it { should_not contain_ini_setting('puppetdb_sslprotocols') }
- end
- describe 'when using a legacy PuppetDB version' do
- let (:pre_condition) { 'class { "puppetdb::globals": version => "2.2.0", }' }
- it { should contain_ini_setting('puppetdb_host').
- with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'host',
- 'value' => 'localhost'
- )}
- it { should contain_ini_setting('puppetdb_port').
- with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'port',
- 'value' => 8080
- )}
- it { should contain_ini_setting('puppetdb_sslhost').
- with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'ssl-host',
- 'value' => '0.0.0.0'
- )}
- it { should contain_ini_setting('puppetdb_sslport').
- with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'ssl-port',
- 'value' => 8081
- )}
- it { should_not contain_ini_setting('puppetdb_sslprotocols') }
- end
- describe 'when disabling ssl' do
- let(:params) do
- {
- 'disable_ssl' => true
- }
- end
- it { should contain_ini_setting('puppetdb_host').
- with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'host',
- 'value' => 'localhost'
- )}
- it { should contain_ini_setting('puppetdb_port').
- with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'port',
- 'value' => 8080
- )}
- it { should contain_ini_setting('puppetdb_sslhost').
- with(
- 'ensure' => 'absent',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'ssl-host'
- )}
- it { should contain_ini_setting('puppetdb_sslport').
- with(
- 'ensure' => 'absent',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'ssl-port'
- )}
- end
- describe 'when setting max_threads' do
- let(:params) do
- {
- 'max_threads' => 150
- }
- end
- it { should contain_ini_setting('puppetdb_max_threads').
- with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'max-threads',
- 'value' => '150'
- )}
- end
- describe 'when setting ssl_protocols' do
- context 'to a valid string' do
- let(:params) { { 'ssl_protocols' => 'TLSv1, TLSv1.1, TLSv1.2' } }
- it {
- should contain_ini_setting('puppetdb_sslprotocols').with(
- 'ensure' => 'present',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'ssl-protocols',
- 'value' => 'TLSv1, TLSv1.1, TLSv1.2'
- )
- }
- end
- context 'to an invalid type (non-string)' do
- let(:params) { { 'ssl_protocols' => ['invalid','type'] } }
- it 'should fail' do
- expect {
- should contain_class('puppetdb::server::jetty')
- }.to raise_error(Puppet::Error)
- end
- end
- end
- describe 'when disabling the cleartext HTTP port' do
- let(:params) do
- {
- 'disable_cleartext' => true
- }
- end
- it { should contain_ini_setting('puppetdb_host').
- with(
- 'ensure' => 'absent',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'host',
- 'value' => 'localhost'
- )}
- it { should contain_ini_setting('puppetdb_port').
- with(
- 'ensure' => 'absent',
- 'path' => '/etc/puppetlabs/puppetdb/conf.d/jetty.ini',
- 'section' => 'jetty',
- 'setting' => 'port',
- 'value' => 8080
- )}
- end
- end
- end
|