Add tuskar::config class

Other modules provide an X::config class to be able to specify
parameters that are not yet part of the module. Tuskar was missing this
feature. This commit aims to add it for puppet-tuskar.

Change-Id: I651657170d10b31c8280581adea2e19a8419eadd
This commit is contained in:
Yanis Guenane 2015-07-20 10:20:25 +02:00
parent e7e38a77f4
commit 3a38b87b5f
2 changed files with 50 additions and 0 deletions

30
manifests/config.pp Normal file
View File

@ -0,0 +1,30 @@
# == Class: tuskar::config
#
# This class is used to manage arbitrary Tuskar configurations.
#
# === Parameters
#
# [*tuskar_config*]
# (optional) Allow configuration of arbitrary Tuskar configurations.
# The value is an hash of tuskar_config resources. Example:
# { 'DEFAULT/foo' => { value => 'fooValue'},
# 'DEFAULT/bar' => { value => 'barValue'}
# }
# In yaml format, Example:
# tuskar_config:
# DEFAULT/foo:
# value: fooValue
# DEFAULT/bar:
# value: barValue
#
# NOTE: The configuration MUST NOT be already handled by this module
# or Puppet catalog compilation will fail with duplicate resources.
#
class tuskar::config (
$tuskar_config = {},
) {
validate_hash($tuskar_config)
create_resources('tuskar_config', $tuskar_config)
}

View File

@ -0,0 +1,20 @@
require 'spec_helper'
describe 'tuskar::config' do
let :params do
{ :tuskar_config => {
'DEFAULT/foo' => { 'value' => 'fooValue' },
'DEFAULT/bar' => { 'value' => 'barValue' },
'DEFAULT/baz' => { 'ensure' => 'absent' }
}
}
end
it 'configures arbitrary tuskar configurations' do
is_expected.to contain_tuskar_config('DEFAULT/foo').with_value('fooValue')
is_expected.to contain_tuskar_config('DEFAULT/bar').with_value('barValue')
is_expected.to contain_tuskar_config('DEFAULT/baz').with_ensure('absent')
end
end