inspec/test/unit/source_readers/flat_test.rb
Dominik Richter 5d1765c9bb add inspec.profile.file(...) for profile files
Fixes https://github.com/chef/inspec/issues/1396

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2017-05-03 20:39:27 +02:00

65 lines
1.6 KiB
Ruby

# encoding: utf-8
# author: Dominik Richter
# author: Christoph Hartmann
require 'helper'
describe SourceReaders::Flat do
let(:reader) { SourceReaders::Flat }
it 'registers with the source readers registry' do
reg = Inspec::SourceReader.registry
_(reg['flat']).must_equal reader
end
describe 'with a flat file' do
let(:target) { Inspec::FileProvider.for_path(__FILE__) }
let(:res) { Inspec::SourceReader.resolve(target.relative_provider) }
it 'resolves the target' do
_(res).must_be_kind_of reader
end
it 'has no metadata' do
_(res.metadata.params).must_equal({})
end
it 'retrieves all files' do
_(res.tests.keys).must_equal [File.basename(__FILE__)]
_(res.tests.values[0]).must_equal File.read(__FILE__)
end
it 'has no libraries' do
_(res.libraries).must_be_empty
end
it 'has no files' do
_(res.data_files).must_be_empty
end
end
describe 'with a flat folder' do
let(:target) { Inspec::FileProvider.for_path(File.dirname(__FILE__)) }
let(:res) { Inspec::SourceReader.resolve(target.relative_provider) }
it 'resolves the target' do
_(res).must_be_kind_of reader
end
it 'has no metadata' do
_(res.metadata.params).must_equal({})
end
it 'retrieves all files' do
dir = File.dirname(__FILE__)
full_files = Dir[File.join(dir, '**')]
files = full_files.map { |x| x.sub(dir+'/', '') }
_(res.tests.keys).must_equal files
_(res.tests.values[0]).must_equal File.read(full_files[0])
end
it 'has no libraries' do
_(res.libraries).must_be_empty
end
end
end