experimental Couchbase storage API
[cloudstore.git] / t / rsync.t
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4
5 use Test::More tests => 6;
6 use Data::Dump qw(dump);
7
8 use lib 'lib';
9
10 use_ok 'CloudStore::rsync';
11
12 my $data =
13 {
14   file       => "dir-test/bar",
15   itemize    => ">f+++++++++",
16   login      => "test",
17   md5        => "51ce99ec40129bfe1fd11d65b346d15e",
18   mtime      => "2011-07-17T17:55:15",
19   op         => "recv",
20   perms      => "rw-r--r--",
21   pid        => 29525,
22   port       => 6501,
23   size       => 10024,
24   timestamp  => "2011-07-17T17:55:15",
25   transfered => 10064,
26 };
27
28 ok my $r = CloudStore::rsync->new, 'new';
29
30 my $json = '{"foo":42}';
31 ok($r->{files}->set( 'test', $json ), 'files set');
32 cmp_ok($r->{files}->get( 'test'), 'eq', $json, 'files get');
33
34 ok my $j = $r->file_set($data), 'file_set';
35
36 ok( my $f = $r->file_get($data), 'file_get' );
37 diag dump $f;
38
39 ok( my $u = $r->usage_incr($data), 'usage_incr' );
40 diag dump $u;
41
42 ok( my $u2 = $r->usage($data), 'usage' );
43 cmp_ok $u2, '==', $u, 'usage correct';
44
45 ok( my $u = $r->usage_decr($data), 'usage_incr' );
46 cmp_ok $r->usage($data), '==', 0, 'empty';
47
48 ok my $d = $r->transfer($data), 'transfer';
49 diag dump($d);
50