~ubuntu-branches/ubuntu/precise/puppet/precise-proposed

« back to all changes in this revision

Viewing changes to acceptance/tests/ticket_6541_invalid_filebucket_files.rb

  • Committer: Package Import Robot
  • Author(s): Micah Anderson
  • Date: 2012-02-23 18:24:48 UTC
  • mfrom: (1.1.28) (3.1.36 sid)
  • Revision ID: package-import@ubuntu.com-20120223182448-belun93murza4w99
Tags: 2.7.11-1
* New upstream release
* Urgency set to high due to regressions in previous release
  and security vulnerabilities
* Execs when run with a user specified, but no group, get the root
  group. Similarly unexpected privileges are given to providers and
  types (egid remains as root), this is fixed with a patch from
  upstream (CVE-2012-1053)
* Fix Klogin write through symlink (CVE-2012-1054)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
test_name "#6541: file type truncates target when filebucket cannot retrieve hash"
 
2
 
 
3
target="/tmp/6541-$$"
 
4
on agents, host_command('rm -rf #{host["puppetvardir"]}/*bucket')
 
5
 
 
6
step "write zero length file"
 
7
manifest = "file { '#{target}': content => '' }"
 
8
apply_manifest_on(agents, manifest)
 
9
 
 
10
step "overwrite file, causing zero-length file to be backed up"
 
11
manifest = "file { '#{target}': content => 'some text' }"
 
12
apply_manifest_on(agents, manifest)
 
13
 
 
14
test_name "verify invalid hashes should not change the file"
 
15
manifest = "file { '#{target}': content => '{md5}notahash' }"
 
16
agents.each do |host|
 
17
  apply_manifest_on(host, manifest) do
 
18
    assert_no_match(/content changed/, stdout, "#{host}: shouldn't have overwrote the file")
 
19
  end
 
20
end
 
21
 
 
22
test_name "verify valid but unbucketed hashes should not change the file"
 
23
manifest = "file { '#{target}': content => '{md5}13ad7345d56b566a4408ffdcd877bc78' }"
 
24
agents.each do |host|
 
25
  apply_manifest_on(host, manifest) do
 
26
    assert_no_match(/content changed/, stdout, "#{host}: shouldn't have overwrote the file")
 
27
  end
 
28
end
 
29
 
 
30
test_name "verify that an empty file can be retrieved from the filebucket"
 
31
manifest = "file { '#{target}': content => '{md5}d41d8cd98f00b204e9800998ecf8427e' }"
 
32
agents.each do |host|
 
33
  apply_manifest_on(host, manifest) do
 
34
    assert_match(/content changed '\{md5\}552e21cd4cd9918678e3c1a0df491bc3' to '\{md5\}d41d8cd98f00b204e9800998ecf8427e'/, stdout, "#{host}: shouldn't have overwrote the file")
 
35
  end
 
36
end