diff --git a/manifests/config.pp b/manifests/config.pp index 4252539bbf9919a006919b4d50a6c53cb4e08d77..d623ff6194068343a5d7fa6adafc114bbab95fc8 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -34,6 +34,8 @@ define postfix::config ($value = undef, $ensure = 'present') { "\$ensure must be either 'present', 'absent' or 'blank', got '${ensure}'") if ($ensure == 'present') { validate_string($value) + validate_re($value, '^.+$', + '$value can not be empty if ensure = present') } if (!defined(Class['postfix'])) { diff --git a/spec/defines/postfix_config_spec.rb b/spec/defines/postfix_config_spec.rb index d166f1007e897793bc08b02476f47c845bec1319..886f8b0d374efe2289e13b4d56ea249db59a9cbb 100644 --- a/spec/defines/postfix_config_spec.rb +++ b/spec/defines/postfix_config_spec.rb @@ -11,7 +11,7 @@ describe 'postfix::config' do it 'should fail' do expect { should contain_augeas("set postfix 'foo'") - }.to raise_error(Puppet::Error, /Must pass value to Postfix::Config/) + }.to raise_error(Puppet::Error, /value can not be empty/) end end @@ -46,7 +46,7 @@ describe 'postfix::config' do it 'should fail' do expect { should contain_augeas("set postfix 'foo'") - }.to raise_error(Puppet::Error, /must be either 'present' or 'absent'/) + }.to raise_error(Puppet::Error, /must be either 'present', 'absent' or 'blank'/) end end