1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../lib/puppettest'
require 'puppet'
require 'puppet/network/client'
require 'puppettest'
require 'socket'
require 'facter'
class TestFileBucketExe < Test::Unit::TestCase
include PuppetTest::ExeTest
def test_local
bucket = tempfile
file = tempfile
text = "somet ext"
md5 = Digest::MD5.hexdigest(text)
File.open(file, "w") { |f| f.print text }
out = %x{filebucket --bucket #{bucket} backup #{file}}
outfile, outmd5 = out.chomp.split(": ")
assert_equal(0, $?, "filebucket did not run successfully")
assert_equal(file, outfile, "did not output correct file name")
assert_equal(md5, outmd5, "did not output correct md5 sum")
dipper = Puppet::Network::Client.dipper.new(:Path => bucket)
newtext = nil
assert_nothing_raised("Could not get file from bucket") do
newtext = dipper.getfile(md5)
end
assert_equal(text, newtext, "did not get correct file from md5 sum")
out = %x{filebucket --bucket #{bucket} get #{md5}}
assert_equal(0, $?, "filebucket did not run successfully")
assert_equal(text, out, "did not get correct text back from filebucket")
File.open(file, "w") { |f| f.puts "some other txt" }
out = %x{filebucket --bucket #{bucket} restore #{file} #{md5}}
assert_equal(0, $?, "filebucket did not run successfully")
assert_equal(text, File.read(file), "file was not restored")
end
end
|