inspec/test/unit/resources/yaml_test.rb
Sonu Saha 67081c00d4 CFINSPEC-266: Add resource_id & unit test: ini, json, xml, yaml
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
2022-06-02 16:53:37 +05:30

45 lines
1.2 KiB
Ruby

require "helper"
require "inspec/resource"
require "inspec/resources/yaml"
describe "Inspec::Resources::YAML" do
describe "when loading a valid yaml" do
let(:resource) { load_resource("yaml", "kitchen.yml") }
it "gets resource_id for the current resource" do
_(resource.resource_id).must_equal "kitchen.yml"
end
it "gets params as a hashmap" do
_(resource.params).must_be_kind_of Hash
end
it "retrieves nil if a param is missing" do
_(resource.params["missing"]).must_be_nil
end
it "retrieves params by name" do
_(resource.send("name")).must_equal "vagrant"
end
it "retrieves an array by name" do
_(resource.send("platforms")).must_equal %w{linux mac}
end
it "doesnt resolve dot-notation names" do
_(resource.send("driver.customize.memory")).must_be_nil
end
it "doesnt resolve symbol-notation names" do
_(resource.send(:'driver.customize.memory')).must_be_nil
end
it "supports fetching by symbol keys" do
_(resource.send(:symbol_key)).must_equal 123
end
it "support fetching by symbol keys in array syntax for rspec-its" do
_(resource.send(:[], :symbol_key_deep, "foo")).must_equal "bar"
end
end
end