--- trunk/t/5_Node.t 2006/01/05 22:16:21 37 +++ trunk/t/5_Node.t 2006/01/06 01:36:09 45 @@ -3,35 +3,39 @@ use strict; use blib; -use Test::More tests => 12; +use Test::More tests => 46; use Test::Exception; use Data::Dumper; BEGIN { use_ok('Search::Estraier') }; +my $debug = 1; + # 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; -foreach my $url (qw{?action=nodelist http://localhost/master_ui?action=nodelist}) { +foreach my $url (qw{?action=nodelist http://localhost:1978/master?action=nodelist}) { cmp_ok( $node->shuttle_url( $url, 'text/plain', undef, \$nodelist) - ,'==', 200, 'nodelist'); + ,'==', shift @res, 'nodelist'); } my $draft = <<'_END_OF_DRAFT_'; @@ -44,4 +48,30 @@ 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(my $id = $node->uri_to_id( 'data001' ), 'uri_to_id'); + +ok( $node->out_doc( $id ), "out_doc $id"); + +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"); +}