mirror of
https://github.com/inspec/inspec
synced 2024-12-11 22:02:47 +00:00
4872ddb780
A single-element array allows Rspec's its behaviour to be worked around and allow options containing dots to be tested using its. This is already implemented by resources such as `json` and those based on it (e.g. xml). Related to issue #875. Signed-off-by: Raphael Geissert <atomo64@gmail.com>
36 lines
1.3 KiB
Ruby
36 lines
1.3 KiB
Ruby
require "helper"
|
|
require "inspec/resource"
|
|
require "inspec/resources/parse_config"
|
|
|
|
describe "Inspec::Resources::ParseConfig" do
|
|
|
|
it "verify parse_config resource" do
|
|
options = {
|
|
assignment_regex: /^\s*([^=]*?)\s*=\s*(.*?)\s*$/,
|
|
}
|
|
resource = MockLoader.new(:centos6).load_resource("parse_config", "kernel.domainname = example.com", options)
|
|
result = { "kernel.domainname" => "example.com" }
|
|
_(resource.params).must_equal result
|
|
_(resource.content).must_equal "kernel.domainname = example.com"
|
|
_(resource.send("kernel.domainname")).must_equal "example.com"
|
|
end
|
|
|
|
it "verify parse_config_file resource" do
|
|
options = {
|
|
assignment_regex: /^\s*([^=]*?)\s*=\s*(.*?)\s*$/,
|
|
}
|
|
resource = MockLoader.new(:centos6).load_resource("parse_config_file", "/etc/sysctl.conf", options)
|
|
result = { "kernel.domainname" => "example.com" }
|
|
_(resource.params).must_equal result
|
|
_(resource.send("kernel.domainname")).must_equal "example.com"
|
|
end
|
|
|
|
it "parse_config resource accepts arrays due to rspec's its behavior" do
|
|
options = {
|
|
assignment_regex: /^\s*([^=]*?)\s*=\s*(.*?)\s*$/,
|
|
}
|
|
params = [:[], "kernel.domainname"]
|
|
resource = MockLoader.new(:centos6).load_resource("parse_config", "kernel.domainname = example.com", options)
|
|
_(resource.send(*params)).must_equal "example.com"
|
|
end
|
|
end
|