module-puppetdb/spec/unit/classes/server/db_connection_uri_spec.rb

118 lines
3.3 KiB
Ruby
Raw Normal View History

require 'spec_helper'
describe 'puppetdb::server::database', :type => :class do
context 'on a supported platform' do
let(:facts) do
{
:osfamily => 'RedHat',
:operatingsystem => 'RedHat',
:operatingsystemrelease => '7.0',
:fqdn => 'test.domain.local',
}
end
describe 'when setting database_ssl flag' do
let(:params) do
{
'database_ssl' => true,
}
end
it { should contain_ini_setting('puppetdb_subname').
with(
'section' => 'database',
'setting' => 'subname',
'value' => '//localhost:5432/puppetdb?ssl=true'
)}
end
describe 'when passing jdbc subparams' do
let(:params) do
{
'jdbc_ssl_properties' => '?ssl=true',
}
end
it { should contain_ini_setting('puppetdb_subname').
with(
'section' => 'database',
'setting' => 'subname',
'value' => '//localhost:5432/puppetdb?ssl=true'
)}
end
describe 'when passing both database_ssl and jdbc subparams' do
let(:params) do
{
'database_ssl' => true,
'jdbc_ssl_properties' => '?ssl=true&sslmode=verify-full',
}
end
it { should contain_ini_setting('puppetdb_subname').
with(
'section' => 'database',
'setting' => 'subname',
'value' => '//localhost:5432/puppetdb?ssl=true&sslmode=verify-full'
)}
end
end
end
describe 'puppetdb::server::read_database', :type => :class do
context 'on a supported platform' do
let(:facts) do
{
:osfamily => 'RedHat',
:operatingsystem => 'RedHat',
:operatingsystemrelease => '7.0',
:fqdn => 'test.domain.local',
}
end
describe 'when setting database_ssl flag' do
let(:params) do
{
# this sets read_database_host
'database_host' => 'localhost',
'database_ssl' => true,
}
end
it { should contain_ini_setting('puppetdb_read_subname').
with(
'section' => 'read-database',
'setting' => 'subname',
'value' => '//localhost:5432/puppetdb?ssl=true'
)}
end
describe 'when passing jdbc subparams' do
let(:params) do
{
'database_host' => 'localhost',
'jdbc_ssl_properties' => '?ssl=true',
}
end
it { should contain_ini_setting('puppetdb_read_subname').
with(
'section' => 'read-database',
'setting' => 'subname',
'value' => '//localhost:5432/puppetdb?ssl=true'
)}
end
describe 'when passing both database_ssl and jdbc subparams' do
let(:params) do
{
'database_host' => 'localhost',
'database_ssl' => true,
'jdbc_ssl_properties' => '?ssl=true&sslmode=verify-full',
}
end
it { should contain_ini_setting('puppetdb_read_subname').
with(
'section' => 'read-database',
'setting' => 'subname',
'value' => '//localhost:5432/puppetdb?ssl=true&sslmode=verify-full'
)}
end
end
end