summary refs log tree commit diff
diff options
context:
space:
mode:
authorGavin Carr <gavin@openfusion.com.au>2010-09-08 20:00:26 +0100
committerGavin Carr <gavin@openfusion.com.au>2010-09-08 20:00:26 +0100
commit3db93fcf88f2b0618b7e714d5aff98ea7477e341 (patch)
treed99fe4290ce0ff40a61180b1333d8884667492ba
parentadd key callbacks to Bucket get_properties/get_keys stream mode (diff)
downloadnet-riak-3db93fcf88f2b0618b7e714d5aff98ea7477e341.tar.gz
add unit test for stream/callback functionality
Diffstat (limited to '')
-rw-r--r--t/08_stream.t37
1 files changed, 37 insertions, 0 deletions
diff --git a/t/08_stream.t b/t/08_stream.t
new file mode 100644
index 0000000..becc600
--- /dev/null
+++ b/t/08_stream.t
@@ -0,0 +1,37 @@
+use strict;
+use warnings;
+use Test::More;
+
+use Net::Riak;
+use HTTP::Response;
+
+my $client = Net::Riak::Client->new;
+ok my $bucket = Net::Riak::Bucket->new(name => 'bar', client => $client),
+  'bucket created';
+
+$bucket->client->useragent->add_handler(
+    request_send => sub {
+        my $response = HTTP::Response->new(200);
+        $response->content(
+            '{}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":["apple"]}{"keys":[]}{"keys":["pear","peach"]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}{"keys":[]}'
+        );
+        $response;
+    }
+);
+
+ok my $props = $bucket->get_properties({props => 'false', keys => 'stream'}), 'get_properties';
+is_deeply $props, { keys => [ qw(apple pear peach) ], props => {} }, 'keys ok';
+
+ok my $keys  = $bucket->get_keys({stream => 1}), 'get_keys';
+is_deeply $keys, [qw/apple pear peach/], 'keys ok';
+
+my $result = '';
+ok $bucket->get_properties({props => 'false', cb => sub { $result .= "** $_[0] " }}), 'get_properties with callback';
+is $result, '** apple ** pear ** peach ', 'result ok';
+
+$result = '';
+ok ! defined $bucket->get_keys({cb => sub { $result .= "--> $_[0] " }}), 'get_keys with callback';
+is $result, '--> apple --> pear --> peach ', 'result ok';
+
+done_testing;
+