diff options
| author | Robin Edwards <robin.ge@gmail.com> | 2011-04-20 14:38:43 +0100 |
|---|---|---|
| committer | Robin Edwards <robin.ge@gmail.com> | 2011-04-20 14:38:43 +0100 |
| commit | 79bea382fd2c0753ca9ace79a11bb74c9a1d722b (patch) | |
| tree | bde42a47792a27e0a863ee527b88c8c24258f7e9 /t/07_map_reduce.t | |
| parent | Merge remote branch 'simon/fix_link_encoding' (diff) | |
| download | net-riak-79bea382fd2c0753ca9ace79a11bb74c9a1d722b.tar.gz | |
merged pbc branch to master
Diffstat (limited to 't/07_map_reduce.t')
| -rw-r--r-- | t/07_map_reduce.t | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/t/07_map_reduce.t b/t/07_map_reduce.t new file mode 100644 index 0000000..26fdfc0 --- /dev/null +++ b/t/07_map_reduce.t @@ -0,0 +1,66 @@ +use lib 't/lib'; +use Test::More; +use Test::Riak; + +# JS source map reduce +test_riak { + my ($client, $bucket_name) = @_; + my $bucket = $client->bucket($bucket_name); + my $obj = $bucket->new_object('foo', [2])->store; + my $result = + $client->add($bucket_name, 'foo') + ->map("function (v) {return [JSON.parse(v.values[0].data)];}")->run; + is_deeply $result, [[2]], 'got valid result'; +}; + +# JS source map reduce +test_riak { + my ($client, $bucket_name) = @_; + my $bucket = $client->bucket($bucket_name); + my $obj = $bucket->new_object('foo', [2])->store; + $obj = $bucket->new_object('bar', [3])->store; + $bucket->new_object('baz', [4])->store; + my $result = + $client->add($bucket_name, "foo")->add($bucket_name, "bar") + ->add($bucket_name, "baz")->map("function (v) { return [1]; }") + ->reduce("function (v) { return [v.length]; }")->run; + is $result->[0], 3, "success map reduce"; +}; + +# JS named map reduce +test_riak { + my ($client, $bucket_name) = @_; + my $bucket = $client->bucket($bucket_name); + my $obj = $bucket->new_object("foo", [2])->store; + $obj = $bucket->new_object("bar", [3])->store; + $obj = $bucket->new_object("baz", [4])->store; + my $result = + $client->add($bucket_name, "foo")->add($bucket_name, "bar") + ->add($bucket_name, "baz")->map("Riak.mapValuesJson") + ->reduce("Riak.reduceSum")->run(); + ok $result->[0]; +}; + +# JS bucket map reduce +test_riak { + my ($client, $bucket_name) = @_; + my $bucket = $client->bucket("bucket_".int(rand(10))); + $bucket->new_object("foo", [2])->store; + $bucket->new_object("bar", [3])->store; + $bucket->new_object("baz", [4])->store; + my $result = + $client->add($bucket->name)->map("Riak.mapValuesJson") + ->reduce("Riak.reduceSum")->run; + ok $result->[0]; +}; + +# JS map reduce from object +test_riak { + my ($client, $bucket_name) = @_; + my $bucket = $client->bucket($bucket_name); + $bucket->new_object("foo", [2])->store; + my $obj = $bucket->get("foo"); + my $result = $obj->map("Riak.mapValuesJson")->run; + is_deeply $result->[0], [2], 'valid content'; +}; + |
