diff --git a/manifests/vhost.pp b/manifests/vhost.pp index eec1a415e..60f835673 100644 --- a/manifests/vhost.pp +++ b/manifests/vhost.pp @@ -2559,7 +2559,7 @@ concat::fragment { "${name}-serveralias": target => "${priority_real}${filename}.conf", order => 210, - content => epp('apache/vhost/_serveralias.epp', { 'serveraliases' => $serveraliases }), + content => epp('apache/vhost/_serveralias.epp', { 'serveraliases' => [$serveraliases].flatten }), } } diff --git a/spec/defines/vhost_spec.rb b/spec/defines/vhost_spec.rb index 57dcfd811..b55f5775f 100644 --- a/spec/defines/vhost_spec.rb +++ b/spec/defines/vhost_spec.rb @@ -776,7 +776,7 @@ } it { is_expected.to contain_concat__fragment('rspec.example.com-scriptalias') } - it { is_expected.to contain_concat__fragment('rspec.example.com-serveralias') } + it { is_expected.to contain_concat__fragment('rspec.example.com-serveralias').with_content(%r{^ ServerAlias test-example\.com$}) } it { expect(subject).to contain_concat__fragment('rspec.example.com-setenv') @@ -1221,6 +1221,28 @@ it { is_expected.not_to contain_concat__fragment('NameVirtualHost 127.0.0.1:8080') } end + describe 'serveraliases parameter' do + let(:params) { default_params.merge(serveraliases: serveraliases) } + + context 'with a string' do + let(:serveraliases) { 'alias.example.com' } + + it { is_expected.to compile.with_all_deps } + it { is_expected.to contain_concat__fragment('rspec.example.com-serveralias').with_content(%r{^ ServerAlias alias\.example\.com$}) } + end + + context 'with an array' do + let(:serveraliases) { ['alias1.example.com', 'alias2.example.com'] } + + it { is_expected.to compile.with_all_deps } + it do + expect(subject).to contain_concat__fragment('rspec.example.com-serveralias') + .with_content(%r{^ ServerAlias alias1\.example\.com$}) + .with_content(%r{^ ServerAlias alias2\.example\.com$}) + end + end + end + context 'vhost with multiple ip addresses, multiple ports' do let :params do { diff --git a/templates/vhost/_serveralias.epp b/templates/vhost/_serveralias.epp index 5b9abb281..1baf18c9b 100644 --- a/templates/vhost/_serveralias.epp +++ b/templates/vhost/_serveralias.epp @@ -1,7 +1,8 @@ +<%- | Array[String] $serveraliases | -%> <% unless $serveraliases.empty { -%> ## Server aliases - <%- Array($serveraliases).each |$serveralias| { -%> + <%- $serveraliases.each |$serveralias| { -%> ServerAlias <%= $serveralias %> <%- } -%> <% } -%>