1
test_name "ensure that puppet queries the correct number of users"
6
step "collect the list of known users via getent"
7
on(host, "getent passwd") do
8
stdout.each_line do |line|
9
users << line.split(':')[0]
13
step "collect the list of known users via puppet"
14
on(host, puppet_resource('user')) do
15
stdout.each_line do |line|
16
name = ( line.match(/^user \{ '([^']+)'/) or next )[1]
18
# OK: Was this name found in the list of users?
19
if users.member? name then
22
fail_test "user #{name} found by puppet, not by getent"
27
if users.length > 0 then
28
fail_test "#{users.length} users found with getent, not puppet: #{users.join(', ')}"