inspec/test/unit/utils/passwd_parser_test.rb

49 lines
1.1 KiB
Ruby
Raw Normal View History

2015-10-26 14:50:57 +00:00
# encoding: utf-8
# author: Dominik Richter
# author: Christoph Hartmann
2016-01-28 13:47:46 +00:00
require 'helper'
2016-01-02 22:58:28 +00:00
describe PasswdParser do
let (:parser) { Class.new() { include 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([])
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
2015-10-26 14:50:57 +00:00
it 'parses a valid passwd line' do
info = [{
2016-02-18 11:00:34 +00:00
"user"=>"root",
2015-10-26 14:50:57 +00:00
"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