--- trunk/t/5_Node.t 2006/01/05 21:51:29 35 +++ trunk/t/5_Node.t 2006/01/06 01:12:10 44 @@ -3,33 +3,40 @@ use strict; use blib; -use Test::More tests => 11; +use Test::More tests => 45; use Test::Exception; use Data::Dumper; BEGIN { use_ok('Search::Estraier') }; +my $debug = 0; + # name of node for test my $test_node = 'Search-Estraier'; -ok(my $node = new Search::Estraier::Node, 'new'); +ok(my $node = new Search::Estraier::Node($debug), 'new'); isa_ok($node, 'Search::Estraier::Node'); -ok($node->set_url('http://localhost:1978/'), 'set_url'); +ok($node->set_url('http://localhost:1978/node/searchestraier'), 'set_url'); -ok($node->set_proxy('proxy.example.com', 8080), 'set_proxy'); +ok($node->set_proxy('', 8080), 'set_proxy'); throws_ok {$node->set_proxy('proxy.example.com', 'foo') } qr/port/, 'set_proxy port NaN'; ok($node->set_timeout(42), 'set_timeout'); throws_ok {$node->set_timeout('foo') } qr/timeout/, 'set_timeout NaN'; -ok($node->set_auth('foo','bar'), 'set_auth'); +ok($node->set_auth('admin','admin'), 'set_auth'); cmp_ok($node->status, '==', -1, 'status'); +my @res = ( -1, 200 ); + my $nodelist; -cmp_ok($node->shuttle_url( '?action=nodelist', 'text/plain', undef, \$nodelist), - '==', 200, 'nodelist'); +foreach my $url (qw{?action=nodelist http://localhost:1978/master?action=nodelist}) { + cmp_ok( + $node->shuttle_url( $url, 'text/plain', undef, \$nodelist) + ,'==', shift @res, 'nodelist'); +} my $draft = <<'_END_OF_DRAFT_'; @uri=data001 @@ -41,4 +48,28 @@ And I am a material girl _END_OF_DRAFT_ -diag "draft:\n$draft"; +#diag "draft:\n$draft"; +ok(my $doc = new Search::Estraier::Document($draft), 'new doc from draft'); + +for ( 1 .. 10 ) { + $doc->add_attr('@uri', 'test' . $_); + ok( $node->put_doc($doc), "put_doc test$_"); + #diag $doc->dump_draft; +} + +ok( $node->out_doc( 0 ), 'out_doc'); + +for ( 1 .. 5 ) { + ok( $node->out_doc_by_uri( 'test' . $_ ), "out_doc_by_uri test$_"); +} + +$doc->add_attr('@uri', 'data001'); +$doc->add_attr('foo', 'bar'); +ok( $node->edit_doc( $doc ), 'edit_doc'); + +for ( 6 .. 10 ) { + ok( $node->get_doc( $_ ), "get_doc $_"); + my $uri = 'test' . $_; + ok( $node->get_doc_by_uri( $uri ), "get_doc_by_uri $uri"); + ok( my $k = $node->etch_doc_by_uri( $uri ), "etch_doc_by_uri $uri"); +}