diff options
author | Gavin Carr <gavin@openfusion.com.au> | 2010-09-08 20:00:26 +0100 |
---|---|---|
committer | Gavin Carr <gavin@openfusion.com.au> | 2010-09-08 20:00:26 +0100 |
commit | 3db93fcf88f2b0618b7e714d5aff98ea7477e341 (patch) | |
tree | d99fe4290ce0ff40a61180b1333d8884667492ba | |
parent | add key callbacks to Bucket get_properties/get_keys stream mode (diff) | |
download | net-riak-3db93fcf88f2b0618b7e714d5aff98ea7477e341.tar.gz |
add unit test for stream/callback functionality
Diffstat (limited to '')
-rw-r--r-- | t/08_stream.t | 37 |
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; + |