File: mkdir_p_spec.rb

package info (click to toggle)
puppet-module-extlib 7.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 420 kB
  • sloc: ruby: 1,035; sh: 15; makefile: 10
file content (74 lines) | stat: -rw-r--r-- 2,577 bytes parent folder | download
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
# frozen_string_literal: true

require 'spec_helper'

describe 'extlib::mkdir_p' do
  describe 'windows' do
    let(:dirs) do
      'c:\windows\puppetlabs\puppet\embedded\gems'
    end
    let(:facts) do
      {
        kernel: 'windows'
      }
    end

    it {
      is_expected.to run.with_params(dirs).and_return(['/c', '/c/windows', '/c/windows/puppetlabs',
                                                       '/c/windows/puppetlabs/puppet', '/c/windows/puppetlabs/puppet/embedded',
                                                       '/c/windows/puppetlabs/puppet/embedded/gems'])
    }

    describe 'multiple_dirs' do
      let(:dirs) do
        ['c:\windows\puppetlabs\puppet\embedded\gems', 'c:\temp\gems']
      end

      it {
        is_expected.to run.with_params(dirs).and_return(['/c', '/c/temp', '/c/temp/gems',
                                                         '/c/windows', '/c/windows/puppetlabs', '/c/windows/puppetlabs/puppet',
                                                         '/c/windows/puppetlabs/puppet/embedded',
                                                         '/c/windows/puppetlabs/puppet/embedded/gems'])
      }
    end
  end

  describe 'not_windows' do
    let(:dirs) do
      '/opt/puppetlabs/puppet/embedded/bin/gems'
    end
    let(:facts) do
      {
        kernel: 'linux'
      }
    end

    it {
      is_expected.to run.with_params(dirs).and_return(['/opt', '/opt/puppetlabs', '/opt/puppetlabs/puppet',
                                                       '/opt/puppetlabs/puppet/embedded', '/opt/puppetlabs/puppet/embedded/bin', '/opt/puppetlabs/puppet/embedded/bin/gems'])
    }

    describe 'multiple_dirs' do
      let(:dirs) do
        ['/opt/puppetlabs/puppet/embedded/bin/gems', '/tmp/gems']
      end
      let(:expected_dirs) do
        ['/opt', '/opt/puppetlabs', '/opt/puppetlabs/puppet',
         '/opt/puppetlabs/puppet/embedded', '/opt/puppetlabs/puppet/embedded/bin',
         '/opt/puppetlabs/puppet/embedded/bin/gems', '/tmp', '/tmp/gems']
      end

      it { is_expected.to run.with_params(dirs).and_return(expected_dirs) }
    end

    describe 'multiple_dirs with comma' do
      let(:expected_dirs) do
        ['/opt', '/opt/puppetlabs', '/opt/puppetlabs/puppet',
         '/opt/puppetlabs/puppet/embedded', '/opt/puppetlabs/puppet/embedded/bin',
         '/opt/puppetlabs/puppet/embedded/bin/gems', '/tmp', '/tmp/gems']
      end

      it { is_expected.to run.with_params('/opt/puppetlabs/puppet/embedded/bin/gems', '/tmp/gems').and_return(expected_dirs) }
    end
  end
end