From 79bea382fd2c0753ca9ace79a11bb74c9a1d722b Mon Sep 17 00:00:00 2001 From: Robin Edwards Date: Wed, 20 Apr 2011 14:38:43 +0100 Subject: merged pbc branch to master --- t/01_basic.t | 209 ----------------------------------------------------------- 1 file changed, 209 deletions(-) delete mode 100644 t/01_basic.t (limited to 't/01_basic.t') diff --git a/t/01_basic.t b/t/01_basic.t deleted file mode 100644 index 4f408f9..0000000 --- a/t/01_basic.t +++ /dev/null @@ -1,209 +0,0 @@ -use strict; -use warnings; -use Test::More; -use Net::Riak; -use YAML::Syck; - -BEGIN { - unless ($ENV{RIAK_REST_HOST}) { - require Test::More; - Test::More::plan(skip_all => 'RIAK_REST_HOST not set.. skipping'); - } -} - -my $bucket_name = 'RIAK_TEST_'.time; -my $bucket_multi = 'multiBucket2'; - -# is alive -{ - ok my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}), 'client created'; - ok $client->is_alive, 'riak is alive'; -} - -# store and get -{ - ok my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}), 'client created'; - ok my $bucket = $client->bucket($bucket_name), 'got bucket test'; - my $content = [int(rand(100))]; - ok my $obj = $bucket->new_object('foo', $content), - 'created a new riak object'; - ok $obj->store, 'store object foo'; - is $obj->status, 200, 'valid status'; - is $obj->key, 'foo', 'valid key'; - is_deeply $obj->data, $content, 'valid content'; -} - -# missing object -{ - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - my $bucket = $client->bucket($bucket_name); - my $obj = $bucket->get("missing"); - ok !$obj->data, 'no data'; -} - -# delete object -{ - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - my $bucket = $client->bucket($bucket_name); - my $content = [int(rand(100))]; - my $obj = $bucket->new_object('foo', $content); - ok $obj->store, 'object is stored'; - $obj = $bucket->get('foo'); - ok $obj->exists, 'object exists'; - $obj->delete; - $obj->load; - ok !$obj->exists, "object don't exists anymore"; -} - -# test set bucket properties -{ - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - my $bucket = $client->bucket($bucket_name); - $bucket->allow_multiples(1); - my $props = $bucket->get_properties; - my $res = $bucket->allow_multiples; - $bucket->n_val(3); - is $bucket->n_val, 3, 'n_val is set to 3'; - $bucket->set_properties({allow_mult => 0, "n_val" => 2}); - $res = $bucket->allow_multiples; - ok !$bucket->allow_multiples, "don't allow multiple anymore"; - is $bucket->n_val, 2, 'n_val is set to 2'; -} - -# test siblings -{ - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - my $bucket = $client->bucket($bucket_multi); - $bucket->allow_multiples(1); - ok $bucket->allow_multiples, 'multiples set to 1'; - my $obj = $bucket->get('foo'); - $obj->delete; - for(1..5) { - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - my $bucket = $client->bucket($bucket_multi); - $obj = $bucket->new_object('foo', [int(rand(100))]); - $obj->store; - } - # check we got 5 siblings - ok $obj->has_siblings, 'object has siblings'; - $obj = $bucket->get('foo'); - my $siblings_count = $obj->get_siblings; - is $siblings_count, 5, 'got 5 siblings'; - # test set/get - my @siblings = $obj->siblings; - my $obj3 = $obj->sibling(3); - is_deeply $obj3->data, $obj->sibling(3)->data; - $obj3 = $obj->sibling(3); - $obj3->store; - $obj->load; - is_deeply $obj->data, $obj3->data; - $obj->delete; -} - -# test js source map -{ - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - 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'; -} - -# XXX javascript named map -# { -# my $client = Net::Riak->new(); -# my $bucket = $client->bucket($bucket_name); -# my $obj = $bucket->new_object('foo', [2])->store; -# my $result = $client->add("bucket", "foo")->map("Riak.mapValuesJson")->run; -# use YAML; warn Dump $result; -# is_deeply $result, [[2]], 'got valid result'; -# } - -# javascript source map reduce -{ - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - 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"; -} - -# javascript named map reduce -{ - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - 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]; -} - -# javascript bucket map reduce -{ - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - 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]; -} - -# javascript map reduce from object -{ - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - 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'; -} - -# store and get links -{ - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - my $bucket = $client->bucket($bucket_name); - my $obj = $bucket->new_object("foo", [2]); - my $obj1 = $bucket->new_object("foo1", {test => 1})->store; - my $obj2 = $bucket->new_object("foo2", {test => 2})->store; - my $obj3 = $bucket->new_object("foo3", {test => 3})->store; - $obj->add_link($obj1); - $obj->add_link($obj2, "tag"); - $obj->add_link($obj3, "tag2!@&"); - $obj->store; - $obj = $bucket->get("foo"); - my $count = $obj->count_links; - is $count, 3, 'got 3 links'; -} - -# link walking -{ - my $client = Net::Riak->new(host => $ENV{RIAK_REST_HOST}); - my $bucket = $client->bucket($bucket_name); - my $obj = $bucket->new_object("foo", [2]); - my $obj1 = $bucket->new_object("foo1", {test => 1})->store; - my $obj2 = $bucket->new_object("foo2", {test => 2})->store; - my $obj3 = $bucket->new_object("foo3", {test => 3})->store; - $obj->add_link($obj1)->add_link($obj2, "tag")->add_link($obj3, "tag2!@&"); - $obj->store; - $obj = $bucket->get("foo"); - my $results = $obj->link($bucket_name)->run(); - is scalar @$results, 3, 'got 3 links via links walking'; - $results = $obj->link($bucket_name, 'tag')->run; - is scalar @$results, 1, 'got one link via link walking'; -} - -done_testing; -- cgit v1.2.3