diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/tc_restore.rb | 36 | ||||
-rw-r--r-- | test/tc_restore_file.rb | 22 |
2 files changed, 58 insertions, 0 deletions
diff --git a/test/tc_restore.rb b/test/tc_restore.rb new file mode 100644 index 0000000..f1e8b04 --- /dev/null +++ b/test/tc_restore.rb @@ -0,0 +1,36 @@ +$: << File.dirname(__FILE__)+"/../lib" + +require 'test/unit' +require 'byteback/restore' +require 'tmpdir' +require 'time' +require 'fileutils' + +class RestoreTest < Test::Unit::TestCase + + def setup + @byteback_root = Dir.mktmpdir + @snapshot = Time.now.iso8601 + FileUtils.mkdir_p(File.join(@byteback_root, @snapshot)) + end + + def teardown + FileUtils.remove_entry_secure @byteback_root + end + + def test_find + files = %w(/srv/foo.com/public/htdocs/index.html + /srv/foo.com/public/htdocs/app.php) + + files.each do |f| + FileUtils.mkdir_p(File.join(@byteback_root, @snapshot, File.dirname(f))) + FileUtils.touch(File.join(@byteback_root, @snapshot, f)) + system("setfattr --name user.rsync.%stat -v \"41755 12,34 56:78\" #{File.join(@byteback_root, @snapshot, f)}") + end + + r = Byteback::Restore.find(@byteback_root, "/srv/foo.com/public/htdocs/*.html") + + r.list + end + +end diff --git a/test/tc_restore_file.rb b/test/tc_restore_file.rb new file mode 100644 index 0000000..b0497b3 --- /dev/null +++ b/test/tc_restore_file.rb @@ -0,0 +1,22 @@ +$: << File.dirname(__FILE__)+"/../lib" + +require 'test/unit' +require 'byteback/restore_file' +require 'tempfile' + +class BytebackFileTest < Test::Unit::TestCase + + def test_general + f = Tempfile.new($0) + system("setfattr --name user.rsync.%stat -v \"41755 12,34 56:78\" #{f.path}") + b = Byteback::RestoreFile.new(f.path) + assert_equal(041755, b.mode) + assert_equal(12, b.maj) + assert_equal(34, b.min) + assert_equal(56, b.uid) + assert_equal(78, b.gid) + assert_equal("drwxr-xr-t", b.modestring) + assert_kind_of(Time, f.mtime) + end + +end |