Sha256: 89310301f151314fbe1a34c28871adc20c40e03ca72037f4d039a994724f2569

Contents?: true

Size: 1.02 KB

Versions: 24

Compression:

Stored size: 1.02 KB

Contents

require 'spec_helper'

RSpec.describe ComplexConfig::KeySource do
  it 'should provide key from pathname' do
    ks = described_class.new(pathname: asset('with-key-file.yml'))
    expect(ks.key).to eq '90ec1139596f9dfdb51e72277735ce9a'
  end

  it 'should provide key from env_var' do
    ENV['THE_KEY'] = '41424344'
    ks = described_class.new(env_var: 'THE_KEY')
    expect(ks.key_bytes).to eq "ABCD"
    ENV['THE_KEY'] = nil
  end

  it 'should provide key from var' do
    ks = described_class.new(var: 'deadbeef')
    expect(ks.key).to eq 'deadbeef'
  end

  it 'should provide key from master_key_pathname' do
    ks = described_class.new(master_key_pathname: asset('master.key'))
    expect(ks.key).to eq '90ec1139596f9dfdb51e72277735ce9a'
  end

  it 'can return key as bytes' do
    ks = described_class.new(var: '41424344')
    expect(ks.key_bytes).to eq "ABCD"
  end

  it 'cannot use more than one setting' do
    expect {
      described_class.new(var: 'deadbeef', env_var: 'FOO')
    }.to raise_error ArgumentError
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
complex_config-0.22.2 spec/complex_config/key_source_spec.rb
complex_config-0.22.1 spec/complex_config/key_source_spec.rb
complex_config-0.22.0 spec/complex_config/key_source_spec.rb
complex_config-0.21.2 spec/complex_config/key_source_spec.rb
complex_config-0.21.1 spec/complex_config/key_source_spec.rb
complex_config-0.21.0 spec/complex_config/key_source_spec.rb
complex_config-0.20.0 spec/complex_config/key_source_spec.rb
complex_config-0.19.4 spec/complex_config/key_source_spec.rb
complex_config-0.19.3 spec/complex_config/key_source_spec.rb
complex_config-0.19.2 spec/complex_config/key_source_spec.rb
complex_config-0.19.1 spec/complex_config/key_source_spec.rb
complex_config-0.19.0 spec/complex_config/key_source_spec.rb
complex_config-0.18.2 spec/complex_config/key_source_spec.rb
complex_config-0.18.1 spec/complex_config/key_source_spec.rb
complex_config-0.18.0 spec/complex_config/key_source_spec.rb
complex_config-0.17.1 spec/complex_config/key_source_spec.rb
complex_config-0.17.0 spec/complex_config/key_source_spec.rb
complex_config-0.16.0 spec/complex_config/key_source_spec.rb
complex_config-0.15.1 spec/complex_config/key_source_spec.rb
complex_config-0.15.0 spec/complex_config/key_source_spec.rb