summaryrefslogtreecommitdiff
path: root/test/tc_restore.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/tc_restore.rb')
-rw-r--r--test/tc_restore.rb36
1 files changed, 36 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