comparison tests/OnClientTester.java @ 541:31df6a12fd41 onclient

Make the MonetUploadHandler and MonetDownloadHandler interfaces part of MonetConnection And rename them to UploadHandler and DownloadHandler
author Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
date Thu, 02 Sep 2021 14:27:20 +0200 (2021-09-02)
parents b437529144f1
children d462000fc410
comparison
equal deleted inserted replaced
540:d3a96675969e 541:31df6a12fd41
1 import org.monetdb.jdbc.MonetConnection; 1 import org.monetdb.jdbc.MonetConnection;
2 import org.monetdb.jdbc.MonetDownloadHandler; 2 import org.monetdb.jdbc.MonetConnection.UploadHandler;
3 import org.monetdb.jdbc.MonetUploadHandler; 3 import org.monetdb.jdbc.MonetConnection.DownloadHandler;
4 4
5 import java.io.*; 5 import java.io.*;
6 import java.nio.charset.StandardCharsets; 6 import java.nio.charset.StandardCharsets;
7 import java.sql.SQLException; 7 import java.sql.SQLException;
8 8
147 test_Download(4_000_000); 147 test_Download(4_000_000);
148 } 148 }
149 149
150 public void test_UploadFromStream() throws SQLException, Failure { 150 public void test_UploadFromStream() throws SQLException, Failure {
151 prepare(); 151 prepare();
152 MonetUploadHandler handler = new MonetUploadHandler() { 152 UploadHandler handler = new UploadHandler() {
153 final String data = "1|one\n2|two\n3|three\n"; 153 final String data = "1|one\n2|two\n3|three\n";
154 154
155 @Override 155 @Override
156 public void handleUpload(MonetConnection.Upload handle, String name, boolean textMode, int offset) throws IOException { 156 public void handleUpload(MonetConnection.Upload handle, String name, boolean textMode, int offset) throws IOException {
157 ByteArrayInputStream s = new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8)); 157 ByteArrayInputStream s = new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8));
163 queryInt("SELECT i FROM foo WHERE t = 'three'", 3); 163 queryInt("SELECT i FROM foo WHERE t = 'three'", 3);
164 } 164 }
165 165
166 public void test_UploadFromReader() throws SQLException, Failure { 166 public void test_UploadFromReader() throws SQLException, Failure {
167 prepare(); 167 prepare();
168 MonetUploadHandler handler = new MonetUploadHandler() { 168 UploadHandler handler = new UploadHandler() {
169 final String data = "1|one\n2|two\n3|three\n"; 169 final String data = "1|one\n2|two\n3|three\n";
170 170
171 @Override 171 @Override
172 public void handleUpload(MonetConnection.Upload handle, String name, boolean textMode, int offset) throws IOException { 172 public void handleUpload(MonetConnection.Upload handle, String name, boolean textMode, int offset) throws IOException {
173 StringReader r = new StringReader(data); 173 StringReader r = new StringReader(data);
179 queryInt("SELECT i FROM foo WHERE t = 'three'", 3); 179 queryInt("SELECT i FROM foo WHERE t = 'three'", 3);
180 } 180 }
181 181
182 public void test_UploadFromReaderOffset() throws SQLException, Failure { 182 public void test_UploadFromReaderOffset() throws SQLException, Failure {
183 prepare(); 183 prepare();
184 MonetUploadHandler handler = new MonetUploadHandler() { 184 UploadHandler handler = new UploadHandler() {
185 final String data = "1|one\n2|two\n3|three\n"; 185 final String data = "1|one\n2|two\n3|three\n";
186 186
187 @Override 187 @Override
188 public void handleUpload(MonetConnection.Upload handle, String name, boolean textMode, int offset) throws IOException { 188 public void handleUpload(MonetConnection.Upload handle, String name, boolean textMode, int offset) throws IOException {
189 BufferedReader r = new BufferedReader(new StringReader(data)); 189 BufferedReader r = new BufferedReader(new StringReader(data));
212 update("INSERT INTO foo SELECT value as i, 'number' || value AS t FROM sys.generate_series(0, 100)", 100); 212 update("INSERT INTO foo SELECT value as i, 'number' || value AS t FROM sys.generate_series(0, 100)", 100);
213 expectError("COPY (SELECT * FROM foo) INTO 'banana' ON CLIENT", "download refused"); 213 expectError("COPY (SELECT * FROM foo) INTO 'banana' ON CLIENT", "download refused");
214 queryInt("SELECT 42 -- check if the connection still works", 42); 214 queryInt("SELECT 42 -- check if the connection still works", 42);
215 } 215 }
216 216
217 static class MyUploadHandler implements MonetUploadHandler { 217 static class MyUploadHandler implements UploadHandler {
218 private final int rows; 218 private final int rows;
219 private final int errorAt; 219 private final int errorAt;
220 private final String errorMessage; 220 private final String errorMessage;
221 private boolean encounteredWriteError; 221 private boolean encounteredWriteError;
222 222
264 public Object encounteredWriteError() { 264 public Object encounteredWriteError() {
265 return encounteredWriteError; 265 return encounteredWriteError;
266 } 266 }
267 } 267 }
268 268
269 static class MyDownloadHandler implements MonetDownloadHandler { 269 static class MyDownloadHandler implements DownloadHandler {
270 private final int errorAtByte; 270 private final int errorAtByte;
271 private final String errorMessage; 271 private final String errorMessage;
272 private int attempts = 0; 272 private int attempts = 0;
273 private int bytesSeen = 0; 273 private int bytesSeen = 0;
274 private int lineEndingsSeen = 0; 274 private int lineEndingsSeen = 0;