4 import static org.junit.Assert.*;
5 import org.yaz4j.exception.*;
8 @SuppressWarnings("deprecation")
9 public class ConnectionTest {
12 public void testConnection() {
13 Connection con = new Connection("z3950.indexdata.dk:210/gils", 0);
16 con.setSyntax("sutrs");
17 System.out.println("Open connection to z3950.indexdata.dk:210/gils...");
19 ResultSet s = con.search(new PrefixQuery("@attr 1=4 utah"));
20 System.out.println("Search for 'utah'...");
22 assertEquals(s.getHitCount(), 9);
23 Record rec = s.getRecord(0);
25 byte[] content = rec.getContent();
27 assertEquals(content.length, 1940);
28 assertEquals(content[0], 103);
29 assertEquals(rec.getSyntax(), "SUTRS");
30 assertEquals(rec.getDatabase(), "gils");
31 System.out.println("Read all records..");
36 System.out.println("Got "+i+" record of type "+r.getSyntax());
39 System.out.println("Try sorting them...");
40 s.sort("yaz", "1=4 >i 1=21 >s");
41 System.out.println("Try fetching them all at once...");
43 List<Record> all = s.getRecords(0, (int) s.getHitCount());
44 for (Record r : all) {
45 System.out.println("getRecords, rec '"+i+"'"+r.getSyntax());
48 } catch (ZoomException ze) {
49 fail(ze.getMessage());
56 public void testConnectionScan() {
57 Connection con = new Connection("z3950.indexdata.dk:210/gils", 0);
60 con.setSyntax("sutrs");
61 System.out.println("Open connection to z3950.indexdata.dk:210/gils...");
63 ScanSet s = con.scan(new PrefixQuery("@attr 1=4 utah"));
64 System.out.println("Scan for 'utah'...");
66 assertEquals(s.getSize(), 9);
67 ScanTerm rec = s.get(0);
69 String term = rec.getTerm();
70 long occur = rec.getOccurences();
71 assertEquals("utah", term);
72 assertEquals(9, occur);
73 System.out.println("Read all scan terms..");
76 for (ScanTerm r : s) {
78 System.out.println("Got term "+r.getTerm());
81 } catch (ZoomException ze) {
82 fail(ze.getMessage());
89 public void testConnectionDeprecated() {
90 Connection con = new Connection("z3950.indexdata.dk:210/gils", 0);
93 con.setSyntax("sutrs");
94 System.out.println("Open connection to z3950.indexdata.dk:210/gils...");
96 ResultSet s = con.search("@attr 1=4 utah",
97 Connection.QueryType.PrefixQuery);
98 System.out.println("Search for 'utah'...");
100 assertEquals(s.getHitCount(), 9);
101 Record rec = s.getRecord(0);
103 byte[] content = rec.getContent();
104 // first SUTRS record
105 assertEquals(content.length, 1940);
106 assertEquals(content[0], 103);
107 assertEquals(rec.getSyntax(), "SUTRS");
108 assertEquals(rec.getDatabase(), "gils");
109 System.out.println("Read all records..");
114 System.out.println("Got "+i+" record of type "+r.getSyntax());
117 System.out.println("Try sorting them...");
118 s.sort("yaz", "1=4 >i 1=21 >s");
119 System.out.println("Try fetching them all at once...");
121 List<Record> all = s.getRecords(0, (int) s.getHitCount());
122 for (Record r : all) {
123 System.out.println("getRecords, rec '"+i+"'"+r.getSyntax());
126 } catch (ZoomException ze) {
127 fail(ze.getMessage());
135 public void unsupportedSyntax() {
136 System.out.println("Open connection to z3950.loc.gov:7090/voyager...");
137 Connection con = new Connection("z3950.loc.gov:7090/voyager", 0);
139 System.out.println("Set syntax to 'rusmarc'");
140 con.setSyntax("rusmarc");
142 System.out.println("Search for something that exists...");
143 ResultSet set = con.search("@attr 1=7 0253333490",
144 Connection.QueryType.PrefixQuery);
145 System.out.println("Result set size: " + set.getHitCount());
146 System.out.println("Get the first record...");
147 Record rec = set.getRecord(0);
149 System.out.println("Record is null");
151 System.out.print(rec.render());
153 } catch (ZoomException ze) {
154 //fail(ze.getMessage());
162 * This only works with local ztest
164 public void recordError() {
165 Connection con = new Connection("localhost:9999", 0);
168 con.setSyntax("postscript");
169 System.out.println("Open connection to localhost:9999...");
171 ResultSet s = con.search("100", Connection.QueryType.PrefixQuery);
173 assertEquals(s.getHitCount(), 100);
174 Record rec = s.getRecord(0);
175 fail("We should never get here and get ZoomeException instead");
176 } catch (ZoomException ze) {
177 // we need more specific exceptions here
178 System.out.println(ze.getMessage());