2015-09-21 08:31:31 +00:00
|
|
|
# encoding: utf-8
|
2015-10-06 16:55:44 +00:00
|
|
|
# author: Christoph Hartmann
|
|
|
|
# author: Dominik Richter
|
2015-09-21 08:31:31 +00:00
|
|
|
|
|
|
|
require 'helper'
|
2015-10-26 03:04:18 +00:00
|
|
|
require 'inspec/resource'
|
2015-09-21 08:31:31 +00:00
|
|
|
|
2015-10-26 03:04:18 +00:00
|
|
|
describe 'Inspec::Resources::CSV' do
|
2015-10-27 14:48:17 +00:00
|
|
|
describe 'when loading a valid csv' do
|
|
|
|
let (:resource) { load_resource('csv', 'example.csv') }
|
|
|
|
let (:params) {
|
|
|
|
{}
|
|
|
|
}
|
|
|
|
|
|
|
|
it 'captures an array of params' do
|
|
|
|
_(resource.params).must_be_kind_of Array
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'gets all value lines' do
|
2017-03-14 16:33:54 +00:00
|
|
|
_(resource.params.length).must_equal 4
|
2015-10-27 14:48:17 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
it 'captures a hashmap of entries of a line' do
|
|
|
|
_(resource.params[0]).must_be_kind_of Hash
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'gets params by header fields' do
|
2017-03-14 16:33:54 +00:00
|
|
|
_(resource.params[0]['name']).must_equal 'addressable'
|
2015-10-27 14:48:17 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
it 'retrieves nil if a param is missing' do
|
|
|
|
_(resource.params[0]['missing']).must_be_nil
|
|
|
|
end
|
2017-03-14 16:33:54 +00:00
|
|
|
|
|
|
|
it 'returns an array of values by column name' do
|
|
|
|
_(resource.value(['name'])).must_equal([ 'addressable', 'ast', 'astrolabe', 'berkshelf' ])
|
|
|
|
end
|
2015-09-21 08:31:31 +00:00
|
|
|
end
|
|
|
|
end
|