--- /dev/null
+# $Id: CQL.pm,v 1.1 2007-05-01 15:32:16 mike Exp $
+
+# See the "Main" test package for documentation
+
+package ZOOM::IRSpy::Test::Search::CQL;
+
+use 5.008;
+use strict;
+use warnings;
+
+use ZOOM::IRSpy::Test;
+our @ISA = qw(ZOOM::IRSpy::Test);
+
+
+sub start {
+ my $class = shift();
+ my($conn) = @_;
+
+ ### More indexes could be added here
+ my @indexes = qw(cql.serverChoice cql.anywhere cql.allRecords
+ rec.id
+ net.host net.port
+ dc.title dc.creator dc.description
+ zeerex.numberOfRecords zeerex.set
+ );
+
+ foreach my $index (@indexes) {
+ $conn->irspy_search(cql => "$index=mineral",
+ { index => $index }, {},
+ ZOOM::Event::ZEND, \&found,
+ exception => \&error);
+ }
+}
+
+
+sub found {
+ my($conn, $task, $udata, $event) = @_;
+ my $index = $udata->{"index"};
+
+ my $n = $task->{rs}->size();
+ $task->{rs}->destroy();
+ $conn->log("irspy_test",
+ "CQL search on '$index' found $n record", $n==1 ? "" : "s");
+ $conn->record()->store_result("search_cql", index => $index, ok => 1);
+ return ZOOM::IRSpy::Status::TASK_DONE;
+}
+
+
+sub error {
+ my($conn, $task, $udata, $exception) = @_;
+ my $index = $udata->{"index"};
+
+ $task->{rs}->destroy();
+ $conn->log("irspy_test", "CQL search on '$index' had error: $exception");
+ $conn->record()->store_result("search_cql", index => $index, ok => 0);
+ return ZOOM::IRSpy::Status::TEST_BAD
+ if $exception->code() == 11; # Unsupported query type
+
+ return ZOOM::IRSpy::Status::TASK_DONE;
+}
+
+
+1;