Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Projets publics
Puppet Camptocamp Postfix
Commits
e2eaa41d
Commit
e2eaa41d
authored
Jul 25, 2013
by
Wolf Noble
Browse files
addition to specs.. start whining when incompatable parameters are specified
parent
2e6c7bf5
Changes
4
Hide whitespace changes
Inline
Side-by-side
manifests/init.pp
View file @
e2eaa41d
...
...
@@ -32,7 +32,7 @@
#
# [*master_submission*] - (string)
#
# [*mta*] - (boolean)
Whether to use as
MTA
# [*mta*] - (boolean)
Configure postfix minimally, as a simple
MTA
#
# [*mydestination*] - (string)
#
...
...
@@ -140,10 +140,16 @@ class postfix (
}
if
$mta
{
if
$satellite
{
fail
(
'enabling both the $mta and $satellite parameters is not supported. Please disable one.'
)
}
include
::postfix::mta
}
if
$satellite
{
if
$mta
{
fail
(
'enabling both the $mta and $satellite parameters is not supported. Please disable one.'
)
}
include
::postfix::satellite
}
...
...
manifests/mta.pp
View file @
e2eaa41d
...
...
@@ -25,8 +25,8 @@
#
class
postfix::mta
(
$mydestination
=
$postfix::mydestination
,
$mynetworks
=
$postfix::mynetworks
,
$relayhost
=
$postfix::relayhost
,
$mynetworks
=
$postfix::mynetworks
,
$relayhost
=
$postfix::relayhost
,
)
{
validate_re
(
$relayhost
,
'^\S+$'
,
...
...
manifests/satellite.pp
View file @
e2eaa41d
...
...
@@ -25,7 +25,7 @@
class
postfix::satellite
(
$mydestination
=
$postfix::mydestination
,
$mynetworks
=
$postfix::mynetworks
,
$relayhost
=
$postfix::relayhost
,
$relayhost
=
$postfix::relayhost
,
)
{
validate_re
(
$postfix::myorigin
,
'^\S+$'
)
...
...
spec/classes/postfix_spec.rb
View file @
e2eaa41d
...
...
@@ -137,5 +137,159 @@ describe 'postfix' do
)
}
end
end
context
'when on RedHat'
do
let
(
:facts
)
{
{
:operatingsystem
=>
'Debian'
,
:osfamily
=>
'Debian'
,
:fqdn
=>
'fqdn.example.com'
,
}
}
context
'when specifying inet_interfaces'
do
let
(
:params
)
{
{
:inet_interfaces
=>
'localhost2'
}
}
it
'should create a postfix::config defined type with inet_interfaces specified properly'
do
should
contain_postfix__config
(
'inet_interfaces'
).
with_value
(
'localhost2'
)
end
end
context
'when enabling ldap'
do
it
'should do stuff'
do
pending
'need to write this still'
end
end
context
'when a custom mail_user is specified'
do
let
(
:params
)
{
{
:mail_user
=>
'bar'
}
}
it
'should adjust the content of /etc/postfix/master.cf specifying the user'
do
should
contain_file
(
'/etc/postfix/master.cf'
).
without
(
'seltype'
).
with_content
(
/user=bar/
)
end
end
context
'when mailman is true'
do
let
(
:params
)
{
{
:mailman
=>
true
}
}
it
'should do stuff'
do
pending
'need to write this still'
end
end
context
'when specifying a custom mastercf_source'
do
let
(
:params
)
{
{
:mastercf_source
=>
'testy'
}
}
it
'should do stuff'
do
pending
'need to write this still'
end
end
context
'when specifying a custom master_smtp'
do
let
(
:params
)
{
{
:master_smtp
=>
"smtp inet n - - - - smtpd
-o smtpd_client_restrictions=check_client_access,hash:/etc/postfix/access,reject"
,
}
}
it
'should update master.cf with the specified flags to smtp'
do
should
contain_file
(
'/etc/postfix/master.cf'
).
without
(
'seltype'
).
with_content
(
/smtp inet n - - - - smtpd/
).
with_content
(
/^smtp.*\n.*smtpd_client_restrictions=check_client_access,hash:/
)
end
end
context
'when specifying a custom master_smtps'
do
let
(
:params
)
{
{
:master_smtps
=>
'smtps inet n - - - - smtpd'
}
}
it
'should update master.cf with the specified flags to smtps'
do
should
contain_file
(
'/etc/postfix/master.cf'
).
with_content
(
/^smtps inet n/
)
end
end
context
'when mta is enabled'
do
let
(
:params
)
{
{
:mta
=>
true
,
:mydestination
=>
'1.2.3.4'
,
:relayhost
=>
'2.3.4.5'
}
}
it
'should configure postfix as a minimal MTA, delivering mail to the mydestination param'
do
should
contain_postfix__config
(
'mydestination'
).
with_value
(
'1.2.3.4'
)
should
contain_postfix__config
(
'mynetworks'
).
with_value
(
'127.0.0.0/8'
)
should
contain_postfix__config
(
'relayhost'
).
with_value
(
'2.3.4.5'
)
should
contain_postfix__config
(
'virtual_alias_maps'
).
with_value
(
'hash:/etc/postfix/virtual'
)
should
contain_postfix__config
(
'transport_maps'
).
with_value
(
'hash:/etc/postfix/transport'
)
end
it
{
should
include_class
(
'postfix::mta'
)
}
context
'and satellite is also enabled'
do
let
(
:params
)
{
{
:mta
=>
true
,
:satellite
=>
true
,
:mydestination
=>
'1.2.3.4'
,
:relayhost
=>
'2.3.4.5'
}
}
it
'should fail'
do
expect
{
subject
}.
to
raise_error
(
Puppet
::
Error
,
/Please disable one/
)
end
end
end
context
'when specifying mydesitination'
do
it
'should do stuff'
do
pending
'need to write this still'
end
end
context
'when specifying mynetworks'
do
it
'should do stuff'
do
pending
'need to write this still'
end
end
context
'when specifying myorigin'
do
let
(
:params
)
{
{
:myorigin
=>
'localhost'
}
}
it
'should create a postfix::config defined type with myorigin specified properly'
do
should
contain_postfix__config
(
'myorigin'
).
with_value
(
'localhost'
)
end
end
context
'when specifying relayhost'
do
it
'should do stuff'
do
pending
'need to write this still'
end
end
context
'when specifying a root_mail_recipient'
do
let
(
:params
)
{
{
:root_mail_recipient
=>
'foo'
}
}
it
'should contain a Mailalias resource directing roots mail to the required user'
do
should
contain_mailalias
(
'root'
).
with_recipient
(
'foo'
)
end
end
context
'when specifying satellite'
do
let
(
:params
)
{
{
:satellite
=>
true
,
:mydestination
=>
'1.2.3.4'
,
:relayhost
=>
'2.3.4.5'
}
}
it
'should configure all local email to be forwarded to $root_mail_recipient delivered through $relayhost'
do
should
contain_postfix__config
(
'mydestination'
).
with_value
(
'1.2.3.4'
)
should
contain_postfix__config
(
'mynetworks'
).
with_value
(
'127.0.0.0/8'
)
should
contain_postfix__config
(
'relayhost'
).
with_value
(
'2.3.4.5'
)
should
contain_postfix__config
(
'virtual_alias_maps'
).
with_value
(
'hash:/etc/postfix/virtual'
)
should
contain_postfix__config
(
'transport_maps'
).
with_value
(
'hash:/etc/postfix/transport'
)
end
context
'and mta is also enabled'
do
let
(
:params
)
{
{
:mta
=>
true
,
:satellite
=>
true
,
:mydestination
=>
'1.2.3.4'
,
:relayhost
=>
'2.3.4.5'
}
}
it
'should fail'
do
expect
{
subject
}.
to
raise_error
(
Puppet
::
Error
,
/Please disable one/
)
end
end
end
context
'when specifying smtp_listen'
do
let
(
:params
)
{
{
:smtp_listen
=>
'all'
}
}
it
'should do stuff'
do
pending
'need to write this still'
end
end
context
'when use_amavisd is true'
do
let
(
:params
)
{
{
:use_amavisd
=>
true
}
}
it
'should update master.cf with the specified flags to amavis'
do
should
contain_file
(
'/etc/postfix/master.cf'
).
with_content
(
/amavis unix/
)
end
end
context
'when use_dovecot_lda is true'
do
let
(
:params
)
{
{
:use_dovecot_lda
=>
true
}
}
it
'should update master.cf with the specified flags to dovecot'
do
should
contain_file
(
'/etc/postfix/master.cf'
).
with_content
(
/dovecot.*\n.* user=vmail:vmail /
)
end
end
context
'when use_schleuder is true'
do
let
(
:params
)
{
{
:use_schleuder
=>
true
}
}
it
'should update master.cf with the specified flags to schleuder'
do
should
contain_file
(
'/etc/postfix/master.cf'
).
with_content
(
/schleuder/
)
end
end
context
'when use_sympa is true'
do
let
(
:params
)
{
{
:use_sympa
=>
true
}
}
it
'should update master.cf to include sympa'
do
should
contain_file
(
'/etc/postfix/master.cf'
).
with_content
(
/sympa/
)
end
end
end
end
end
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment