From 1343de3817ab64b39ccf4d76ab73f1024f3db0a7 Mon Sep 17 00:00:00 2001 From: Thomas Van Doren Date: Mon, 4 Jun 2012 20:45:19 -0700 Subject: Add recurse option to tftp::file class. Update rspec tests to assert the value of recurse in various cases. --- manifests/file.pp | 2 ++ spec/defines/tftp_file_spec.rb | 36 ++++++++++++++++++++---------------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/manifests/file.pp b/manifests/file.pp index 72c9ebd..db62c87 100644 --- a/manifests/file.pp +++ b/manifests/file.pp @@ -10,6 +10,7 @@ # define tftp::file ( $ensure = file, + $recurse = false, $owner = 'tftp', $group = 'tftp', $mode = '0644', @@ -20,6 +21,7 @@ define tftp::file ( file { "${tftp::directory}/${name}": ensure => $ensure, + recurse => $recurse, owner => $owner, group => $group, mode => $mode, diff --git a/spec/defines/tftp_file_spec.rb b/spec/defines/tftp_file_spec.rb index 00072e6..8caa65b 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,30 @@ 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 end -- cgit v1.2.3 From 4d4d6f96e6e4e10d812c75fbf279e05269eef06e Mon Sep 17 00:00:00 2001 From: Thomas Van Doren Date: Mon, 4 Jun 2012 20:45:59 -0700 Subject: Add .gitignore to avoid accidentally committing the spec/fixtures/modules dir. --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7dc86db --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/spec/fixtures/modules -- cgit v1.2.3 From dba42ac7ac71e63da48d8b7d545a784d81e7c710 Mon Sep 17 00:00:00 2001 From: Thomas Van Doren Date: Mon, 4 Jun 2012 21:06:26 -0700 Subject: Add recurse tftp::file param to README. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b3688c..9bd2000 100644 --- a/README.md +++ b/README.md @@ -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). -- cgit v1.2.3 From 8a4da5fb84e3fadf1967ddc43fcdaa172986f07e Mon Sep 17 00:00:00 2001 From: Thomas Van Doren Date: Fri, 15 Jun 2012 15:32:37 -0700 Subject: Revert "Add .gitignore to avoid accidentally committing the spec/fixtures/modules dir." This reverts commit 4d4d6f96e6e4e10d812c75fbf279e05269eef06e. --- .gitignore | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 7dc86db..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/spec/fixtures/modules -- cgit v1.2.3 From 1d2abfa1a9d7d71cddc9d766c0f0ec89dd38e59c Mon Sep 17 00:00:00 2001 From: Thomas Van Doren Date: Fri, 15 Jun 2012 15:52:04 -0700 Subject: Add purge, replace, and recurselimit params to tftp::file definition. --- manifests/file.pp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/manifests/file.pp b/manifests/file.pp index db62c87..bdf99bb 100644 --- a/manifests/file.pp +++ b/manifests/file.pp @@ -11,6 +11,9 @@ define tftp::file ( $ensure = file, $recurse = false, + $purge = false, + $replace = true, + $recurselimit = false, $owner = 'tftp', $group = 'tftp', $mode = '0644', @@ -22,6 +25,9 @@ define tftp::file ( file { "${tftp::directory}/${name}": ensure => $ensure, recurse => $recurse, + purge => $purge, + replace => $replace, + recurselimit => $recurselimit, owner => $owner, group => $group, mode => $mode, -- cgit v1.2.3 From 0261c1d575caaa17ab7cfa162491fc0a7d82bd39 Mon Sep 17 00:00:00 2001 From: Thomas Van Doren Date: Fri, 15 Jun 2012 15:54:32 -0700 Subject: Fix spacing to meet puppet style guide and update new param defaults. The purge, replace, and recurselimit defaults are now undef. --- manifests/file.pp | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/manifests/file.pp b/manifests/file.pp index bdf99bb..812aa0c 100644 --- a/manifests/file.pp +++ b/manifests/file.pp @@ -9,30 +9,30 @@ # Usage: # define tftp::file ( - $ensure = file, - $recurse = false, - $purge = false, - $replace = true, - $recurselimit = false, - $owner = 'tftp', - $group = 'tftp', - $mode = '0644', - $content = undef, - $source = undef + $ensure = file, + $recurse = false, + $purge = undef, + $replace = undef, + $recurselimit = undef, + $owner = 'tftp', + $group = 'tftp', + $mode = '0644', + $content = undef, + $source = undef ) { include 'tftp' file { "${tftp::directory}/${name}": - ensure => $ensure, - recurse => $recurse, - purge => $purge, - replace => $replace, + ensure => $ensure, + recurse => $recurse, + purge => $purge, + replace => $replace, recurselimit => $recurselimit, - owner => $owner, - group => $group, - mode => $mode, - content => $content, - source => $source, - require => Class['tftp'], + owner => $owner, + group => $group, + mode => $mode, + content => $content, + source => $source, + require => Class['tftp'], } } -- cgit v1.2.3 From a9bd24d91ec70d7f45874afed64069b5f4aabcd3 Mon Sep 17 00:00:00 2001 From: Thomas Van Doren Date: Fri, 15 Jun 2012 15:56:24 -0700 Subject: Move purge, replace, recurselimit params down. Owner/group/mode seem to make more sense above these. --- manifests/file.pp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/manifests/file.pp b/manifests/file.pp index 812aa0c..ec67f2c 100644 --- a/manifests/file.pp +++ b/manifests/file.pp @@ -11,12 +11,12 @@ define tftp::file ( $ensure = file, $recurse = false, - $purge = undef, - $replace = undef, - $recurselimit = undef, $owner = 'tftp', $group = 'tftp', $mode = '0644', + $purge = undef, + $replace = undef, + $recurselimit = undef, $content = undef, $source = undef ) { @@ -25,12 +25,12 @@ define tftp::file ( file { "${tftp::directory}/${name}": ensure => $ensure, recurse => $recurse, - purge => $purge, - replace => $replace, - recurselimit => $recurselimit, owner => $owner, group => $group, mode => $mode, + purge => $purge, + replace => $replace, + recurselimit => $recurselimit, content => $content, source => $source, require => Class['tftp'], -- cgit v1.2.3 From 2c22a9b5fd0336681a4fca9d8f875b15950fdacb Mon Sep 17 00:00:00 2001 From: Thomas Van Doren Date: Fri, 15 Jun 2012 19:34:53 -0700 Subject: Add spec tests for recurse params. One test verifies the defaults for recurse, purge, replace, recurselimit when they are not provided. The other test ensure that setting them in the tftp:file definition correlates to the params getting set on the file. --- spec/defines/tftp_file_spec.rb | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/spec/defines/tftp_file_spec.rb b/spec/defines/tftp_file_spec.rb index 8caa65b..6a032c0 100644 --- a/spec/defines/tftp_file_spec.rb +++ b/spec/defines/tftp_file_spec.rb @@ -50,4 +50,41 @@ describe 'tftp::file' do '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 -- cgit v1.2.3