summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/tc_restore.rb36
-rw-r--r--test/tc_restore_file.rb22
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