Update ports to also accept a ,-separated string
[puppet_haproxy.git] / spec / defines / listen_spec.rb
1 require 'spec_helper'
2
3 describe 'haproxy::listen' do
4   let(:title) { 'tyler' }
5   let(:facts) {{ :ipaddress => '1.1.1.1' }}
6   context "when only one port is provided" do
7     let(:params) do
8       {
9         :name  => 'croy',
10         :ports => '18140'
11       }
12     end
13
14     it { should contain_concat__fragment('croy_listen_block').with(
15       'order'   => '20',
16       'target'  => '/etc/haproxy/haproxy.cfg',
17       'content' => "\nlisten croy 1.1.1.1:18140\n  balance  roundrobin\n  option  tcplog\n  option  ssl-hello-chk\n"
18     ) }
19   end
20   context "when an array of ports is provided" do
21     let(:params) do
22       {
23         :name      => 'apache',
24         :ipaddress => '23.23.23.23',
25         :ports     => [
26           '80',
27           '443',
28         ]
29       }
30     end
31
32     it { should contain_concat__fragment('apache_listen_block').with(
33       'order'   => '20',
34       'target'  => '/etc/haproxy/haproxy.cfg',
35       'content' => "\nlisten apache 23.23.23.23:80,23.23.23.23:443\n  balance  roundrobin\n  option  tcplog\n  option  ssl-hello-chk\n"
36     ) }
37   end
38   context "when a comma-separated list of ports is provided" do
39     let(:params) do
40       {
41         :name      => 'apache',
42         :ipaddress => '23.23.23.23',
43         :ports     => '80,443'
44       }
45     end
46
47     it { should contain_concat__fragment('apache_listen_block').with(
48       'order'   => '20',
49       'target'  => '/etc/haproxy/haproxy.cfg',
50       'content' => "\nlisten apache 23.23.23.23:80,23.23.23.23:443\n  balance  roundrobin\n  option  tcplog\n  option  ssl-hello-chk\n"
51     ) }
52   end
53 end