2019-06-11 22:24:35 +00:00
|
|
|
require "helper"
|
|
|
|
require "inspec/resource"
|
|
|
|
require "inspec/resources/csv"
|
2015-09-21 08:31:31 +00:00
|
|
|
|
2019-06-11 22:24:35 +00:00
|
|
|
describe "Inspec::Resources::CSV" do
|
|
|
|
describe "when loading a valid csv" do
|
2019-05-31 21:59:06 +00:00
|
|
|
let(:resource) { load_resource("csv", "example.csv") }
|
|
|
|
let(:params) do
|
2015-10-27 14:48:17 +00:00
|
|
|
{}
|
2019-06-11 22:24:35 +00:00
|
|
|
end
|
2015-10-27 14:48:17 +00:00
|
|
|
|
2019-06-11 22:24:35 +00:00
|
|
|
it "captures an array of params" do
|
2015-10-27 14:48:17 +00:00
|
|
|
_(resource.params).must_be_kind_of Array
|
|
|
|
end
|
|
|
|
|
2019-06-11 22:24:35 +00:00
|
|
|
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
|
|
|
|
|
2019-06-11 22:24:35 +00:00
|
|
|
it "captures a hashmap of entries of a line" do
|
2015-10-27 14:48:17 +00:00
|
|
|
_(resource.params[0]).must_be_kind_of Hash
|
|
|
|
end
|
|
|
|
|
2019-06-11 22:24:35 +00:00
|
|
|
it "gets params by header fields" do
|
|
|
|
_(resource.params[0]["name"]).must_equal "addressable"
|
2015-10-27 14:48:17 +00:00
|
|
|
end
|
|
|
|
|
2019-06-11 22:24:35 +00:00
|
|
|
it "retrieves nil if a param is missing" do
|
|
|
|
_(resource.params[0]["missing"]).must_be_nil
|
2015-10-27 14:48:17 +00:00
|
|
|
end
|
2017-03-14 16:33:54 +00:00
|
|
|
|
2019-06-11 22:24:35 +00:00
|
|
|
it "returns an array of values by column name" do
|
|
|
|
_(resource.value(["name"])).must_equal(%w{addressable ast astrolabe berkshelf})
|
2017-03-14 16:33:54 +00:00
|
|
|
end
|
2015-09-21 08:31:31 +00:00
|
|
|
end
|
|
|
|
end
|