Sha256: 1527b65d751ce53ddd4751618a2a9ee3380cd4086ab9892651ad88fd51c8d785
Contents?: true
Size: 1.94 KB
Versions: 4
Compression:
Stored size: 1.94 KB
Contents
# encoding: utf-8 require 'spec_helper' describe DataSourceBuilder do context '#sources' do it 'returns data sources' do yaml_builder = double('yaml_builder') env_builder = double('env_builder') params = double('params') allow(params).to receive(:data_sources).and_return([:yaml, :env]) allow(params).to receive(:data_source_builders).and_return(yaml: yaml_builder, env: env_builder) allow(params).to receive(:yaml_file).and_return('') expect { DataSourceBuilder.new(params) }.not_to raise_error end it 'raises an exception on invalid input' do params = double('params') allow(params).to receive(:data_sources).and_return([:yaml, 'garbage']) allow(params).to receive(:data_source_builders).and_return({}) allow(params).to receive(:yaml_file).and_return('') expect { DataSourceBuilder.new(params) }.to raise_error Exceptions::InvalidDataSources end it 'supports order of data sources: env first' do yaml_builder = double('yaml_builder') env_builder = double('env_builder') params = double('params') allow(params).to receive(:data_sources).and_return([:env, :yaml]) allow(params).to receive(:data_source_builders).and_return(yaml: yaml_builder, env: env_builder) allow(params).to receive(:yaml_file).and_return('') builder = DataSourceBuilder.new(params) expect(builder.sources.first).to be(env_builder) end it 'supports order of data sources: yaml first' do yaml_builder = double('yaml_builder') env_builder = double('env_builder') params = double('params') allow(params).to receive(:data_sources).and_return([:yaml, :env]) allow(params).to receive(:data_source_builders).and_return(yaml: yaml_builder, env: env_builder) allow(params).to receive(:yaml_file).and_return('') builder = DataSourceBuilder.new(params) expect(builder.sources.first).to be yaml_builder end end end
Version data entries
4 entries across 4 versions & 1 rubygems