98 lines
2.5 KiB
Ruby
98 lines
2.5 KiB
Ruby
require 'spec_helper'
|
|
describe 'mysql::server' do
|
|
|
|
let :constant_parameter_defaults do
|
|
{:config_hash => {},
|
|
:package_ensure => 'present',
|
|
:enabled => true,
|
|
:manage_service => true
|
|
}
|
|
end
|
|
|
|
describe 'when ubuntu use upstart' do
|
|
let :facts do
|
|
{ :osfamily => 'Debian',
|
|
:operatingsystem => 'Ubuntu',
|
|
}
|
|
end
|
|
|
|
it { should contain_service('mysqld').with(
|
|
:name => 'mysql',
|
|
:ensure => 'running',
|
|
:enable => 'true',
|
|
:provider => 'upstart',
|
|
:require => 'Package[mysql-server]'
|
|
)}
|
|
end
|
|
|
|
describe 'with osfamily specific defaults' do
|
|
{
|
|
'Debian' => {
|
|
:service_name => 'mysql',
|
|
:package_name => 'mysql-server'
|
|
},
|
|
'FreeBSD' => {
|
|
:service_name => 'mysql-server',
|
|
:package_name => 'databases/mysql55-server'
|
|
},
|
|
'Redhat' => {
|
|
:service_name => 'mysqld',
|
|
:package_name => 'mysql-server'
|
|
}
|
|
}.each do |osfamily, osparams|
|
|
|
|
describe "when osfamily is #{osfamily}" do
|
|
|
|
let :facts do
|
|
{ :osfamily => osfamily }
|
|
end
|
|
|
|
[
|
|
{},
|
|
{
|
|
:package_name => 'dans_package',
|
|
:package_ensure => 'latest',
|
|
:service_name => 'dans_service',
|
|
:config_hash => {'root_password' => 'foo'},
|
|
:enabled => false,
|
|
:manage_service => false
|
|
}
|
|
].each do |passed_params|
|
|
|
|
describe "with #{passed_params == {} ? 'default' : 'specified'} parameters" do
|
|
|
|
let :parameter_defaults do
|
|
constant_parameter_defaults.merge(osparams)
|
|
end
|
|
|
|
let :params do
|
|
passed_params
|
|
end
|
|
|
|
let :param_values do
|
|
parameter_defaults.merge(params)
|
|
end
|
|
|
|
it { should contain_package('mysql-server').with(
|
|
:name => param_values[:package_name],
|
|
:ensure => param_values[:package_ensure]
|
|
)}
|
|
|
|
it {
|
|
if param_values[:manage_service]
|
|
should contain_service('mysqld').with(
|
|
:name => param_values[:service_name],
|
|
:ensure => param_values[:enabled] ? 'running' : 'stopped',
|
|
:enable => param_values[:enabled],
|
|
:require => 'Package[mysql-server]'
|
|
).without_provider
|
|
else
|
|
should_not contain_service('mysqld')
|
|
end
|
|
}
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|