module-icingaweb2/spec/classes/icingaweb2_mod_deployment_spec.rb
2015-05-07 10:24:35 +02:00

134 lines
2.8 KiB
Ruby

require 'spec_helper'
describe 'icingaweb2::mod::deployment', :type => :class do
let (:pre_condition) { '$concat_basedir = "/tmp"' }
let (:facts) { debian_facts }
let :pre_condition do
'include ::icingaweb2'
end
describe 'without parameters' do
it { should_not compile }
end
describe 'with parameter: auth_token' do
let (:params) {
{
:auth_token => '_auth_token_'
}
}
it { should create_class('icingaweb2::mod::deployment') }
it { should contain_file('/usr/share/icingaweb2/modules/deployment') }
it { should contain_vcsrepo('deployment') }
it { should contain_ini_setting('deployment auth token').with(
'section' => /auth/,
'setting' => /token/,
'value' => /_auth_token_/
)
}
end
describe 'with parameter: git_repo' do
let (:params) {
{
:auth_token => 'token',
:install_method => 'git',
:git_repo => '_git_repo_'
}
}
it {
should contain_vcsrepo('deployment').with(
'path' => /modules\/deployment$/
)
}
end
describe 'with parameter: git_revision' do
let (:params) {
{
:auth_token => 'token',
:install_method => 'git',
:git_revision => '_git_revision_'
}
}
it {
should contain_vcsrepo('deployment').with(
'revision' => /_git_revision_/
)
}
end
describe 'with parameter: install_method' do
describe 'install_method => git' do
let (:params) {
{
:auth_token => 'token',
:install_method => 'git'
}
}
it { should contain_vcsrepo('deployment') }
end
describe 'install_method => package' do
pending
end
end
describe 'with parameter: pkg_deps' do
describe 'install_method => git' do
let (:params) {
{
:auth_token => 'token',
:pkg_deps => '_pkg_deps_'
}
}
it { should contain_package('_pkg_deps_').with(
'ensure' => 'present'
)
}
end
describe 'install_method => package' do
pending
end
end
describe 'with parameter: pkg_ensure' do
describe 'install_method => git' do
let (:params) {
{
:auth_token => 'token',
:pkg_deps => '_pkg_deps_',
:pkg_ensure => '_pkg_ensure_'
}
}
it { should contain_package('_pkg_deps_').with(
'ensure' => '_pkg_ensure_'
)
}
end
describe 'install_method => package' do
pending
end
end
describe 'with parameter: web_root' do
let (:params) {
{
:auth_token => 'token',
:web_root => '/web/root'
}
}
it { should contain_file('/web/root/modules/deployment') }
end
end