fix ZSLICE exported to scripts
[cloudstore.git] / t / Store.t
index 31491ed..89069c6 100755 (executable)
--- a/t/Store.t
+++ b/t/Store.t
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 15;
+use Test::More tests => 17;
 use Data::Dump qw(dump);
 
 use lib 'lib';
@@ -14,7 +14,7 @@ my $data =
   file       => "test/store",
   itemize    => ">f+++++++++",
   login      => "u2001",
-  md5        => "51ce99ec40129bfe1fd11d65b346d15e",
+  md5        => "d8e8fca2dc0f896fd7cb4cb0031ba249",
   mtime      => "2011-07-17T17:55:15",
   op         => "recv",
   perms      => "rw-r--r--",
@@ -25,9 +25,6 @@ my $data =
   transfered => 10064,
 };
 
-my $user =
-{ login => 'test', quota => 12000 };
-
 ok my $r = CloudStore::Store->new('s1'), 'new';
 
 ok my $u = $r->{api}->user_info('u2001'), 'user_info';
@@ -35,16 +32,40 @@ ok my $u = $r->{api}->user_info('u2001'), 'user_info';
 ok $r->init_pid_login( $data->{pid}, $data->{login} ), 'init_pid_login';
 
 ok my $full_path = $r->blob_path( $data ), 'blob_path';
+diag $full_path;
 
 if ( ! -e $full_path ) {
-       $r->
-       open(my $fh, '>', $full_path);
-       print $fh "test\n";
+       $r->{api}->mkbasepath( $full_path, { uid => $u->{uid} } );
+       open(my $fh, '>', $full_path) || die $!;
+       print $fh "test\n" || die $!;
        close $fh;
        diag "$full_path created";
+       chown $u->{uid}, $u->{gid}, $full_path;
 }
 
 ok my $d = $r->rsync_transfer($data), 'rsync_transfer';
 diag dump($d);
 
-ok($r->removed_file($data), 'removed_file');
+ok my $sums = [ $r->md5sum_dump( $data->{login} ) ], 'md5sum_dump';
+ok scalar( grep { $_ =~ m/$data->{file}$/; } @$sums ) == 1, 'file md5 found';
+
+system "cd $u->{dir} && md5sum $data->{file} > md5sum";
+ok ! $@, 'create md5sum';
+
+ok unlink($full_path), 'unlink';
+ok $r->removed_file($data), 'removed_file';
+
+ok my $sums = [ $r->md5sum_dump( $data->{login} ) ], 'md5sum_dump';
+
+ok scalar( grep { $_ =~ m/$data->{file}$/; } @$sums ) == 0, 'file md5 removed';
+diag dump $sums;
+
+ok $r->api->rename_file( $u, 'test' => 'test2' ), 'rename_file';
+
+ok $r->{api}->delete( $u => 'test2' ), 'delete';
+
+$data->{file} = 'md5sum';
+ok $r->rsync_transfer($data), 'rsync_transfer md5sum';
+
+ok $r->cleanup_pid( $data->{pid} ), 'cleanup_pid';
+