1
test_name "should query all hosts from hosts file"
3
content = %q{127.0.0.1 test1 test1.local
4
127.0.0.2 test2 test2.local
5
127.0.0.3 test3 test3.local
6
127.0.0.4 test4 test4.local
9
backup = "/tmp/hosts.backup-#{Time.new.to_i}"
11
step "configure the system for testing (including file backups)"
12
on agents, "cp /etc/hosts #{backup}"
13
on agents, "cat > /etc/hosts", :stdin => content
15
step "query all host records using puppet"
16
on(agents, puppet_resource('host')) do
17
found = stdout.scan(/host \{ '([^']+)'/).flatten.sort
18
fail_test "the list of returned hosts was wrong: #{found.join(', ')}" unless
19
found == %w{test1 test2 test3 test4}
21
count = stdout.scan(/ensure\s+=>\s+'present'/).length
22
fail_test "found #{count} records, wanted 4" unless count == 4
25
step "clean up the system afterwards"
26
on agents, "mv -f #{backup} /etc/hosts"