mirror of
https://github.com/inspec/inspec
synced 2024-11-24 05:33:17 +00:00
a4f4fe5231
Signed-off-by: Miah Johnson <miah@chia-pet.org>
45 lines
1.1 KiB
Ruby
45 lines
1.1 KiB
Ruby
require "helper"
|
|
require "inspec/utils/parser"
|
|
|
|
describe PasswdParser do
|
|
let(:parser) { Class.new { include PasswdParser }.new }
|
|
|
|
describe "#parse_passwd" do
|
|
it "parses nil content" do
|
|
parser.parse_passwd(nil).must_equal([])
|
|
end
|
|
|
|
it "parses an empty passwd line" do
|
|
parser.parse_passwd("").must_equal([])
|
|
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
|
|
info = [{
|
|
"user" => "root",
|
|
"password" => "x",
|
|
"uid" => "0",
|
|
"gid" => "0",
|
|
"desc" => "root",
|
|
"home" => "/root",
|
|
"shell" => "/bin/sh",
|
|
}]
|
|
parser.parse_passwd("root:x:0:0:root:/root:/bin/sh").must_equal(info)
|
|
end
|
|
end
|
|
end
|