Sha256: cfe36bf52c36e8354abcb62f62cbdcd71ad1d3bf7867a80aa8aab42c6b9b1a4f

Contents?: true

Size: 1.99 KB

Versions: 3

Compression:

Stored size: 1.99 KB

Contents

require 'spec_helper'

describe Hieracles::Config do
  describe '.load' do
    context 'with an existing file' do
      let(:options) do
        { config: 'spec/files/config.yml', basepath: 'spec/files' }
      end
      before { Hieracles::Config.load options }

      it 'initialize config values' do
        expect(Hieracles::Config.classpath).to eq 'farm_modules/%s.pp'
        expect(Hieracles::Config.modulepath).to eq 'modules'
        expect(Hieracles::Config.hierafile).to eq 'hiera.yaml'
        expect(Hieracles::Config.format).to eq 'Console'
      end
    end

    context 'with additional parameters' do
      let(:hierapath) { 'hiera.yaml' }
      let(:options) do
        { config: 'spec/files/config.yml', basepath: 'spec/files', hierafile: hierapath }
      end
      before { Hieracles::Config.load options }

      it 'initialize config values' do
        expect(Hieracles::Config.classpath).to eq 'farm_modules/%s.pp'
        expect(Hieracles::Config.modulepath).to eq 'modules'
        expect(Hieracles::Config.hierafile).to eq hierapath
        expect(Hieracles::Config.format).to eq 'Console'
      end
    end

    context 'without an existing config file' do
      let(:options) do
        { config: 'spec/files/config_no.yml' }
      end
      before do
        FileUtils.rm(options[:config]) if File.exist? options[:config]
        Hieracles::Config.load options
      end
      after { FileUtils.rm(options[:config]) if File.exist? options[:config] }

      it 'creates a default config file' do
        expect(File.exist? options[:config]).to be true
      end

      it 'initialize config values' do
        expect(Hieracles::Config.classpath).to eq 'manifests/classes/%s.pp'
      end
    end
  end

  describe '.defaultconfig' do
    it { expect(Hieracles::Config.defaultconfig).not_to eq nil }
  end

  describe '.extract_params' do
    let(:str)  { 'bla=blu;one=two' }
    let(:expected) { { bla: 'blu', one: 'two' } }
    it { expect(Hieracles::Config.extract_params(str)).to eq expected }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hieracles-0.1.0 spec/lib/config_spec.rb
hieracles-0.0.6 spec/lib/config_spec.rb
hieracles-0.0.5 spec/lib/config_spec.rb