aboutsummaryrefslogtreecommitdiff
path: root/spec/defines/tftp_file_spec.rb
blob: 6a032c0cc944625bcd5d3413a1fae5a9bebbcfee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
require 'spec_helper'

describe 'tftp::file' do

  let(:title) { 'sample' }

  describe 'when deploying on debian' 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,
      'owner'   => 'tftp',
      'group'   => 'tftp',
      'mode'    => '0644'
    }) }
  end

  describe 'when deploying on ubuntu' do
    let(:facts) { { :operatingsystem => 'ubuntu',
                    :path            => '/usr/local/bin:/usr/bin:/bin', } }

    it { should include_class('tftp') }
    it { should contain_file('/var/lib/tftpboot/sample').with({
      'ensure'  => 'file',
      'recurse' => false,
      'owner'   => 'tftp',
      'group'   => 'tftp',
      'mode'    => '0644'
    }) }
  end

  describe 'when deploying with parameters' do
    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',
      '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