inspec/test/unit/utils/passwd_parser_test.rb

46 lines
1.2 KiB
Ruby
Raw Normal View History

require "helper"
require "inspec/utils/parser"
2016-01-28 13:47:46 +00:00
describe Inspec::Utils::PasswdParser do
let(:parser) { Class.new { include Inspec::Utils::PasswdParser }.new }
2015-10-26 14:50:57 +00:00
describe "#parse_passwd" do
it "parses nil content" do
_(parser.parse_passwd(nil)).must_equal([])
2015-10-26 14:50:57 +00:00
end
it "parses an empty passwd line" do
_(parser.parse_passwd("")).must_equal([])
2015-10-26 14:50:57 +00:00
end
it "parses a comment line" do
content = <<~EOF
# This is a comment
# this is another comment
root:x:0:0:root:/root:/bin/sh
EOF
info = [{ "user" => "root",
"password" => "x",
"uid" => "0",
"gid" => "0",
"desc" => "root",
"home" => "/root",
"shell" => "/bin/sh" }]
_(parser.parse_passwd(content)).must_equal(info)
end
it "parses a valid passwd line" do
2015-10-26 14:50:57 +00:00
info = [{
"user" => "root",
"password" => "x",
"uid" => "0",
"gid" => "0",
"desc" => "root",
"home" => "/root",
"shell" => "/bin/sh",
2015-10-26 14:50:57 +00:00
}]
_(parser.parse_passwd("root:x:0:0:root:/root:/bin/sh")).must_equal(info)
2015-10-26 14:50:57 +00:00
end
end
end