ConnectionExtended tests YAZJ-18
[yaz4j-moved-to-github.git] / src / test / org / yaz4j / ConnectionExtendedTest.java
1 package org.yaz4j;
2
3 import org.junit.*;
4 import static org.junit.Assert.*;
5 import org.yaz4j.exception.*;
6 import java.util.List;
7
8 @SuppressWarnings("deprecation")
9 public class ConnectionExtendedTest {
10   
11   @Test
12   public void testConnection() {
13     ConnectionExtended con = new ConnectionExtended("z3950.indexdata.dk:210/gils", 0);
14     assertNotNull(con);
15     try {
16       con.setSyntax("sutrs");
17       System.out.println("Open connection extended to z3950.indexdata.dk:210/gils...");
18       con.connect();
19       ResultSet s = con.search(new PrefixQuery("@attr 1=4 utah"));
20       System.out.println("Search for 'utah'...");
21       assertNotNull(s);
22       assertEquals(s.getHitCount(), 9);
23       Record rec = s.getRecord(0);
24       assertNotNull(rec);
25       byte[] content = rec.getContent();
26       // first SUTRS record
27       assertEquals(content.length, 1940);
28       assertEquals(content[0], 103);
29       assertEquals(rec.getSyntax(), "SUTRS");
30       assertEquals(rec.getDatabase(), "gils");
31       System.out.println("Update record..");
32       Package p = con.getPackage("update");
33       p.option("action", "specialUpdate");
34       p.option("record", rec.render());
35       p.send();
36     } catch (ZoomException ze) {
37       assertEquals("Bib1Exception: Error Code = 223 (EsPermissionDeniedOnEsCannotModifyOrDelete)", 
38         ze.getMessage());
39     } finally {
40       con.close();
41     }
42   }
43   
44 }