Apache-Solr

 view release on metacpan or  search on metacpan

t/21json.t  view on Meta::CPAN

#!/usr/bin/perl
#XXX !!! DO NOT EDIT t/21json.t, because it is a symlink to t/20xml.t

use warnings;
use strict;

use lib 'lib';
use Test::More;

my $server;

use Data::Dumper;
$Data::Dumper::Indent = 1;
$Data::Dumper::Quotekeys = 0;

BEGIN {
    $server = $ENV{SOLR_TEST_SERVER}
        or plan skip_all => "no SOLR_TEST_SERVER provided";

	$server .= '/markov';
}

require_ok('Apache::Solr');
require_ok('Apache::Solr::Document');

my $format = $0 =~ m/xml/ ? 'xml' : 'json';
my $FORMAT = uc $format;

my $solr = Apache::Solr->new
  ( format     => $FORMAT
  , server     => $server
  , retry_max  => 3
  , retry_wait => 2
  );

ok(defined $solr, "instantiated client in $format");

isa_ok($solr, 'Apache::Solr::'.$FORMAT);

my $result = eval { $solr->commit };
ok(!$@, 'try commit:'.$@);
cmp_ok($result->solrStatus, '==', 0, 'Commit status success');

isa_ok($result, 'Apache::Solr::Result');
is($result->endpoint, "$result");

#$result->showTimings(\*STDERR);
ok($result->success, 'successful');

# reset the database
my $r0 = $solr->delete(id => [ qw/A B C/ ]);
ok($r0->success, 'delete succeeded');
#warn Dumper $r0;

### test $solr->addDocument()
my $d1a = Apache::Solr::Document->new
  ( fields => [ id => 'A', subject => '1 2 3', content => "<html>tic tac", content_type => 'text/html' ]
  );

my $d1b = Apache::Solr::Document->new
  ( fields => [ id => 'B', content => "<body>tac too", content_type => 'text/html' ]
  , boost  => '5'
  );

$solr->addDocument([$d1a, $d1b], commit => 1, overwrite => 1);

### test $solr->terms()



( run in 0.589 second using v1.01-cache-2.11-cpan-39bf76dae61 )