+
+ /**
+ * Test async ZOOM operation.
+ */
+ @Test
+ public void testBadDatabaseTarget() {
+ out.println("Trying bad async connection...");
+ AsyncConnection conn = new AsyncConnection("z3950.indexdata.dk:210/doesnotexist", 0);
+ conn.option("count", "100");
+ AsyncConnections conns = new AsyncConnections();
+ conns.add(conn);
+ final Box<Boolean> hadError = new Box<Boolean>(false);
+ try {
+ conn.setSyntax("sutrs");
+ conn.connect();
+ conn.search(new PrefixQuery("@attr 1=4 utah"));
+ conn
+ .onError(new AsyncConnection.ErrorHandler() {
+
+ public void handle(ZoomException e) {
+ out.println("There was an error "+e.getMessage());
+ hadError.setItem(true);
+ }
+ });
+
+ } catch (ZoomException ex) {
+ fail(ex.getMessage());
+ }
+ conns.start();
+ assertTrue(hadError.item);
+ }
+
+ /**
+ * Test async ZOOM operation.
+ */
+ @Test
+ public void testBadTarget() {
+ out.println("Trying bad target async connection...");
+ AsyncConnection conn = new AsyncConnection("z3950.indexdata.dk:70000/doesnotexist", 0);
+ conn.option("count", "100");
+ AsyncConnections conns = new AsyncConnections();
+ conns.add(conn);
+ final Box<Boolean> hadError = new Box<Boolean>(false);
+ try {
+ conn.setSyntax("sutrs");
+ conn.connect();
+ conn.search(new PrefixQuery("@attr 1=4 utah"));
+ conn
+ .onError(new AsyncConnection.ErrorHandler() {
+
+ public void handle(ZoomException e) {
+ out.println("There was an error "+e.getMessage());
+ hadError.setItem(true);
+ }
+ });
+
+ } catch (ZoomException ex) {
+ fail(ex.getMessage());
+ }
+ conns.start();
+ assertTrue(hadError.item);
+ }