projects
/
cloudstore.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
a99f210
)
test more of Gearman API
author
Dobrica Pavlinusic
<dpavlin@rot13.org>
Sun, 15 Apr 2012 15:21:19 +0000
(17:21 +0200)
committer
Dobrica Pavlinusic
<dpavlin@rot13.org>
Sun, 15 Apr 2012 15:21:19 +0000
(17:21 +0200)
t/Gearman.t
patch
|
blob
|
history
diff --git
a/t/Gearman.t
b/t/Gearman.t
index
4110614
..
8e211b4
100755
(executable)
--- a/
t/Gearman.t
+++ b/
t/Gearman.t
@@
-2,7
+2,7
@@
use strict;
use warnings;
use strict;
use warnings;
-use Test::More tests =>
35
;
+use Test::More tests =>
43
;
use Data::Dump qw(dump);
use lib 'lib';
use Data::Dump qw(dump);
use lib 'lib';
@@
-17,11
+17,11
@@
my $user = $ARGV[0] || 2001;
sub gearman {
my ( $function, $args ) = @_;
ok( my $o = CloudStore::Gearman->gearman_do( @_ ), join(' ',@_) );
sub gearman {
my ( $function, $args ) = @_;
ok( my $o = CloudStore::Gearman->gearman_do( @_ ), join(' ',@_) );
- diag
dump $o
;
+ diag
"result = ",dump $o if $ENV{DEBUG}
;
return $o;
}
return $o;
}
-sub file_exists {
+sub file_exists
($)
{
my ( $file ) = @_;
CloudStore::Gearman->gearman_do( file_size => $file );
}
my ( $file ) = @_;
CloudStore::Gearman->gearman_do( file_size => $file );
}
@@
-32,6
+32,13
@@
sub test_refresh_file_list {
gearman list_files => "~$login";
}
gearman list_files => "~$login";
}
+my $u1 = gearman 'create_user' => 'test@example.com secret 0';
+like $u1, qr/u\d+/, "login $u1";
+my $u2 = gearman 'create_user' => 'test2@example.com secret 0';
+like $u2, qr/u\d+/, "login $u2";
+my $u3 = gearman 'create_user' => 'slice2@example.com secret 0';
+like $u3, qr/u\d+/, "login $u2 (on other slice)";
+
my $o = gearman $hostname . '_s1_quota_get' => $user;
diag dump $o;
cmp_ok $o, '=~', qr/^(\d+)\s+(\d+)$/, 'format: used quota';
my $o = gearman $hostname . '_s1_quota_get' => $user;
diag dump $o;
cmp_ok $o, '=~', qr/^(\d+)\s+(\d+)$/, 'format: used quota';
@@
-41,40
+48,40
@@
gearman( 'user_usage' => $user );
gearman( $hostname . '_s1_torrent_list' );
diag "create .meta/files if it doesn't exist";
gearman( $hostname . '_s1_torrent_list' );
diag "create .meta/files if it doesn't exist";
-foreach my $
uid ( 2001, 200
2 ) {
- gearman list_files => "~
u$uid
";
- ok file_exists "~
u$uid/.meta/files", "file_exists ~u$uid
/.meta/files";
+foreach my $
login ( $u1, $u
2 ) {
+ gearman list_files => "~
$login
";
+ ok file_exists "~
$login/.meta/files", "file_exists ~$login
/.meta/files";
}
}
-file_exists
'~u2001/foo.txt' || BAIL_OUT("~u200
1/foo.txt is required for rest of tests");
+file_exists
"~$u1/foo.txt" || BAIL_OUT("~$u
1/foo.txt is required for rest of tests");
-gearman send_file =>
'~u2001/foo.txt#~u2002/dir with space/file with space'
;
-test_refresh_file_list
'u2002'
;
+gearman send_file =>
"~$u1/foo.txt#~$u2/dir with space/file with space"
;
+test_refresh_file_list
"$u2"
;
-gearman delete =>
'~u2002/dir with space/file with space'
;
-test_refresh_file_list
'u2002'
;
+gearman delete =>
"~$u2/dir with space/file with space"
;
+test_refresh_file_list
"$u2"
;
-gearman send_file =>
'~u2001/foo.txt#~u2002/foo.txt'
;
-test_refresh_file_list
'u2002'
;
+gearman send_file =>
"~$u1/foo.txt#~$u2/foo.txt"
;
+test_refresh_file_list
"$u2"
;
-gearman rename_file =>
'~u2002/foo.txt#bar.txt'
;
-test_refresh_file_list
'u2002'
;
-gearman rename_file =>
'~u2002/bar.txt#baz.txt'
;
-test_refresh_file_list
'u2002'
;
+gearman rename_file =>
"~$u2/foo.txt#bar.txt"
;
+test_refresh_file_list
"$u2"
;
+gearman rename_file =>
"~$u2/bar.txt#baz.txt"
;
+test_refresh_file_list
"$u2"
;
cmp_ok
cmp_ok
-gearman( file_size =>
'~u2001/foo.txt'
), '==',
-gearman( file_size =>
'~u2002/baz.txt'
), 'size_same';
+gearman( file_size =>
"~$u1/foo.txt"
), '==',
+gearman( file_size =>
"~$u2/baz.txt"
), 'size_same';
diag "test symlink to other shard";
diag "test symlink to other shard";
-gearman send_file =>
'~u2001/foo.txt#~u2004/foo.txt'
;
-my $size_1 = gearman( file_size => '~u2001/foo.txt' );
-my $size_2 = gearman( file_size => '~u2004/foo.txt' );
-
-
cmp_ok $size_1, '==', $size_2, 'symlink size same'
;
+gearman send_file =>
"~$u1/foo.txt#~$u3/foo.txt"
;
+cmp_ok
+gearman( file_size => "~$u1/foo.txt" ), '==',
+gearman( file_size => "~$u3/foo.txt" ), 'cross-slice symlink size same';
+
test_refresh_file_list "$u3"
;
-gearman delete =>
'~u2002/baz.txt'
;
-test_refresh_file_list
'u2002'
;
+gearman delete =>
"~$u2/baz.txt"
;
+test_refresh_file_list
"$u2"
;
-ok !
CloudStore::Gearman->gearman_do( file_size => '~u2002/baz.txt' )
, 'deleted file size';
+ok !
file_exists "~$u2/baz.txt"
, 'deleted file size';