Sha256: 1bfdb18c1ef2ba88b700bbf6e37c18651b6979084573eebe9f5df42a62598c88

Contents?: true

Size: 1.72 KB

Versions: 4

Compression:

Stored size: 1.72 KB

Contents

require 'spec_helper'

describe 'package' do
  let(:outer_body) do
    ['class test_case', '{', input_resource, '}']
  end
  let(:input_resource) do
    <<-EOF
    package{'httpd':
      ensure => installed,
    }
    EOF
  end

  let(:ast_obj) do
    ast(:content => outer_body.join("\n"))
  end

  describe 'single parameter' do
    it 'should create test case' do
      output = %r{
        \n\n\s+it\sdo
        \n\s+is_expected.to\scontain_package\('httpd'\).with\(
          \n\s+ensure:\s'installed',
        \n\s+\)
        \n\s+end
        }x
      expect(dumper.dump(ast_obj.body.body)).to match(output)
    end
  end

  describe 'multiple parameters' do
    let(:input_resource) do
      <<-EOF
      package{'httpd':
        ensure => installed,
        require => File['/tmp/test']
      }
      EOF
    end
    it 'should create test case' do
      output = %r{
        \n\n\s+it\sdo
        \n\s+is_expected.to\scontain_package\('httpd'\).with\(
          \n\s+ensure:\s'installed',
          \n\s+require:\s'File\[/tmp/test\]',
        \n\s+\)
        \n\s+end
        }x
      expect(dumper.dump(ast_obj.body.body)).to match(output)
    end
  end

  describe 'escape characters' do
    let(:input_resource) do
      <<-EOF
      $greylist_dsn = 'hello'
      file{'/tmp/test':
        ensure => present,
        content => "GREYLIST_DSN = ${greylist_dsn}\n",
      }
      EOF
    end
    it 'should create test case' do
      output = %r{
        \n\n\s+it\sdo
        \n\s+is_expected.to\scontain_file\('/tmp/test'\).with\(
          \n\s+ensure:\s'present',
          \n\s+content:\s'GREYLIST_DSN\s=\shello\\n',
        \n\s+\)
        \n\s+end
        }x
      expect(dumper.dump(ast_obj.body.body)).to match(output)
    end


  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppet-retrospec-1.8.0 spec/integration/retrospec_spec.rb
puppet-retrospec-1.7.0 spec/integration/retrospec_spec.rb
puppet-retrospec-1.6.1 spec/integration/retrospec_spec.rb
puppet-retrospec-1.6.0 spec/integration/retrospec_spec.rb