diff options
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | manifests/file.pp | 34 | ||||
-rw-r--r-- | spec/defines/tftp_file_spec.rb | 73 |
3 files changed, 79 insertions, 29 deletions
@@ -33,6 +33,7 @@ Example: Parameters: * ensure: file type, default file. +* recurse: file recurse, default false. * owner: file owner, default tftp. * group: file group. default tftp. * mode: file mode, default 0644 (puppet will change to 0755 for directories). diff --git a/manifests/file.pp b/manifests/file.pp index 72c9ebd..ec67f2c 100644 --- a/manifests/file.pp +++ b/manifests/file.pp @@ -9,22 +9,30 @@ # Usage: # define tftp::file ( - $ensure = file, - $owner = 'tftp', - $group = 'tftp', - $mode = '0644', - $content = undef, - $source = undef + $ensure = file, + $recurse = false, + $owner = 'tftp', + $group = 'tftp', + $mode = '0644', + $purge = undef, + $replace = undef, + $recurselimit = undef, + $content = undef, + $source = undef ) { include 'tftp' file { "${tftp::directory}/${name}": - ensure => $ensure, - owner => $owner, - group => $group, - mode => $mode, - content => $content, - source => $source, - require => Class['tftp'], + ensure => $ensure, + recurse => $recurse, + owner => $owner, + group => $group, + mode => $mode, + purge => $purge, + replace => $replace, + recurselimit => $recurselimit, + content => $content, + source => $source, + require => Class['tftp'], } } diff --git a/spec/defines/tftp_file_spec.rb b/spec/defines/tftp_file_spec.rb index 00072e6..6a032c0 100644 --- a/spec/defines/tftp_file_spec.rb +++ b/spec/defines/tftp_file_spec.rb @@ -10,10 +10,11 @@ describe 'tftp::file' do it { should include_class('tftp') } it { should contain_file('/srv/tftp/sample').with({ - 'ensure' => 'file', - 'owner' => 'tftp', - 'group' => 'tftp', - 'mode' => '0644' + 'ensure' => 'file', + 'recurse' => false, + 'owner' => 'tftp', + 'group' => 'tftp', + 'mode' => '0644' }) } end @@ -23,27 +24,67 @@ describe 'tftp::file' do it { should include_class('tftp') } it { should contain_file('/var/lib/tftpboot/sample').with({ - 'ensure' => 'file', - 'owner' => 'tftp', - 'group' => 'tftp', - 'mode' => '0644' + 'ensure' => 'file', + 'recurse' => false, + 'owner' => 'tftp', + 'group' => 'tftp', + 'mode' => '0644' }) } end describe 'when deploying with parameters' do - let(:params) { {:ensure => 'directory', - :owner => 'root', - :group => 'root', - :mode => '0755' }} + let(:params) { {:ensure => 'directory', + :recurse => true, + :owner => 'root', + :group => 'root', + :mode => '0755' }} let(:facts) { { :operatingsystem => 'Debian', :path => '/usr/local/bin:/usr/bin:/bin', } } it { should include_class('tftp') } it { should contain_file('/srv/tftp/sample').with({ - 'ensure' => 'directory', - 'owner' => 'root', - 'group' => 'root', - 'mode' => '0755' + 'ensure' => 'directory', + 'recurse' => true, + 'owner' => 'root', + 'group' => 'root', + 'mode' => '0755' + }) } + end + + describe 'when deploying without recurse parameters' do + let(:facts) { {:operatingsystem => 'Debian', + :path => '/usr/local/bin:/usr/bin:/bin', } } + + it { should include_class('tftp') } + it { should contain_file('/srv/tftp/sample').with({ + 'ensure' => 'file', + 'recurse' => false, + 'purge' => nil, + 'replace' => nil, + 'recurselimit' => nil + }) } + end + + describe 'when deploying with recurse parameters' do + let(:params) { {:ensure => 'directory', + :recurse => true, + :mode => '0755', + :recurselimit => 42, + :purge => true, + :replace => false }} + let(:facts) { {:operatingsystem => 'Debian', + :path => '/usr/local/bin:/usr/bin:/bin', }} + + it { should include_class('tftp') } + it { should contain_file('/srv/tftp/sample').with({ + 'ensure' => 'directory', + 'recurse' => true, + 'owner' => 'tftp', + 'group' => 'tftp', + 'mode' => '0755', + 'recurselimit' => 42, + 'purge' => true, + 'replace' => false, }) } end end |