@Test(expected=FusekiConfigException.class) public void cfg_bad_01() { FusekiServer.create() .setPort(port) .registerOperation(newOp, null, customHandler) .addOperation("/UNKNOWN", endpointName, newOp); //.build(); }
@Test(expected=FusekiConfigException.class) public void cfg_bad_02() { FusekiServer.create() .setPort(port) //.registerOperation(newOp, null, customHandler) .add("/ds", DatasetGraphFactory.createTxnMem(), true) // Unregistered. .addOperation("/ds", endpointName, newOp); //.build(); }
@Before public void setup() throws IOException { JCasTestGraphUtil.populateJcas(jCas); ds = DatasetFactory.createTxnMem(); server = FusekiServer.create().add("/ds", ds).build(); server.start(); }
public void cfg_bad_ct_not_enabkled_here() { FusekiServer server = FusekiServer.create() .setPort(port) .registerOperation(newOp, "app/special", customHandler) .add("/ds", DatasetGraphFactory.createTxnMem(), true) // Unregistered. .addOperation("/ds", endpointName, newOp) .build(); testServer(server, false, false); }
/*package*/ static void setupServer(boolean updateable) { dsgTesting = DatasetGraphFactory.createTxnMem(); server = FusekiServer.create() .add(datasetPath(), dsgTesting) .setPort(port()) .build() .start(); }
/** Setup a testing server, using the given Jetty {@link SecurityHandler} for authentication. */ public static void setupServer(boolean updateable, SecurityHandler sh, DatasetGraph dsg) { dsgTesting = dsg; server = FusekiServer.create() .add(datasetPath(), dsgTesting) .setPort(port()) .setSecurityHandler(sh) .build() .start(); }
@Test public void cfg_builder_noCT() { FusekiServer server = FusekiServer.create() .setPort(port) .registerOperation(newOp, null, customHandler) .add("/ds", DatasetGraphFactory.createTxnMem(), true) .addOperation("/ds", endpointName, newOp) .build(); testServer(server, true, false); }
@Test public void cfg_builder_CT() { FusekiServer server = FusekiServer.create() .setPort(port) .registerOperation(newOp, contentType, customHandler) .add("/ds", DatasetGraphFactory.createTxnMem(), true) .addOperation("/ds", endpointName, newOp) .build(); testServer(server, true, true); }
@Test public void multiple_02() { DatasetGraph dsg = dataset() ; int port1 = FusekiLib.choosePort() ; FusekiServer server1 = FusekiServer.create().setPort(port1).add("/ds1", dsg).build() ; // Different port - good int port2 = FusekiLib.choosePort() ; FusekiServer server2 = FusekiServer.create().setPort(port2).add("/ds2", dsg).build() ; try { server1.start(); server2.start(); } finally { try { server1.stop() ; } catch (Exception ex) {} try { server2.stop() ; } catch (Exception ex) {} } }
@Test public void embedded_08() { DatasetGraph dsg = dataset() ; int port = FusekiLib.choosePort() ; FusekiServer server = FusekiServer.create() .setPort(port) .parseConfigFile(DIR+"config.ttl") .build() ; server.start() ; try { query("http://localhost:"+port+"/FuTest", "SELECT * {}", x->{}) ; } finally { server.stop() ; } }
@Test(expected=FusekiException.class) public void multiple_01() { DatasetGraph dsg = dataset() ; int port = FusekiLib.choosePort() ; FusekiServer server1 = FusekiServer.create().setPort(port).add("/ds1", dsg).build() ; // Same port - Bbad. FusekiServer server2 = FusekiServer.create().setPort(port).add("/ds2", dsg).build() ; server1.start(); try { server2.start(); } catch (FusekiException ex) { assertTrue(ex.getCause() instanceof java.net.BindException ) ; throw ex ; } finally { try { server1.stop() ; } catch (Exception ex) {} try { server2.stop() ; } catch (Exception ex) {} } }
@Test public void embedded_05() { DatasetGraph dsg = dataset() ; int port = FusekiLib.choosePort() ; FusekiServer server = FusekiServer.create() .setPort(port) .add("/ds0", dsg) .build() ; server.start() ; try { // No stats String x = HttpOp.execHttpGetString("http://localhost:"+port+"/$/stats") ; assertNull(x) ; } finally { server.stop() ; } }
@Test public void cfg_dataservice() { // Create a DataService and add the endpoint -> operation association. // This still needs the server to have the operation registered. DatasetGraph dsg = DatasetGraphFactory.createTxnMem(); DataService dataService = new DataService(dsg); FusekiBuilder.populateStdServices(dataService, true); FusekiBuilder.addServiceEP(dataService, newOp, endpointName); FusekiServer server = FusekiServer.create() .setPort(port) .registerOperation(newOp, contentType, customHandler) .add("/ds", dataService) .build(); testServer(server, true, true); }
@Test public void embedded_06() { DatasetGraph dsg = dataset() ; int port = FusekiLib.choosePort() ; FusekiServer server = FusekiServer.create() .setPort(port) .add("/ds0", dsg) .enableStats(true) .build() ; server.start() ; // No stats String x = HttpOp.execHttpGetString("http://localhost:"+port+"/$/stats") ; assertNotNull(x) ; server.stop() ; }
@Test public void embedded_01() { DatasetGraph dsg = dataset() ; int port = 3330 ; // Default port. FusekiServer server = FusekiServer.create().add("/ds", dsg).build() ; assertTrue(server.getDataAccessPointRegistry().isRegistered("/ds")) ; server.start() ; query("http://localhost:"+port+"/ds/query", "SELECT * { ?s ?p ?o}", qExec-> { ResultSet rs = qExec.execSelect() ; assertFalse(rs.hasNext()) ; }) ; server.stop() ; }
@Test public void embedded_09() { DatasetGraph dsg = dataset() ; int port = FusekiLib.choosePort() ; FusekiServer server = FusekiServer.create() .setPort(port) .setContextPath("/ABC") .parseConfigFile(DIR+"config.ttl") .build() ; server.start() ; try { try { query("http://localhost:"+port+"/FuTest", "ASK{}", x->{}) ; } catch (HttpException ex) { assertEquals(HttpSC.METHOD_NOT_ALLOWED_405, ex.getResponseCode()) ; } query("http://localhost:"+port+"/ABC/FuTest","ASK{}",x->{}) ; } finally { server.stop() ; } }
@Test public void embedded_07() { DatasetGraph dsg = dataset() ; int port = FusekiLib.choosePort() ; FusekiServer server = FusekiServer.create() .setPort(port) .setContextPath("/ABC") .add("/ds", dsg) .build() ; server.start() ; try { String x1 = HttpOp.execHttpGetString("http://localhost:"+port+"/ds") ; assertNull(x1) ; String x2 = HttpOp.execHttpGetString("http://localhost:"+port+"/ABC/ds") ; assertNotNull(x2) ; } finally { server.stop() ; } }
@Test public void embedded_20() { DatasetGraph dsg = dataset() ; int port = FusekiLib.choosePort() ; DataService dSrv = new DataService(dsg) ; dSrv.addEndpoint(Operation.Query, "q") ; dSrv.addEndpoint(Operation.GSP_R, "gsp") ; FusekiServer server = FusekiServer.create() .add("/dsrv1", dSrv) .setPort(port) .build() ; server.start() ; try { query("http://localhost:"+port+"/dsrv1/q","ASK{}",x->{}) ; String x1 = HttpOp.execHttpGetString("http://localhost:"+port+"/dsrv1/gsp") ; assertNotNull(x1) ; } finally { server.stop() ; } }
@Test public void multiple_04() { DatasetGraph dsg = dataset() ; int port1 = FusekiLib.choosePort() ; FusekiServer server1 = FusekiServer.create().setPort(port1).add("/ds1", dsg).build().start() ; Txn.executeWrite(dsg, ()->dsg.add(q1)); int port2 = FusekiLib.choosePort() ; FusekiServer server2 = FusekiServer.create().setPort(port2).add("/ds2", dsg).build().start() ; Txn.executeWrite(dsg, ()->dsg.add(q2)); query("http://localhost:"+port1+"/ds1", "SELECT * {?s ?p ?o}", qExec->{ ResultSet rs = qExec.execSelect() ; int x = ResultSetFormatter.consume(rs) ; assertEquals(2, x) ; }) ; query("http://localhost:"+port2+"/ds2", "SELECT * {?s ?p ?o}", qExec->{ ResultSet rs = qExec.execSelect() ; int x = ResultSetFormatter.consume(rs) ; assertEquals(2, x) ; }) ; server1.stop(); server2.stop(); }
@Test public void embedded_03() { DatasetGraph dsg = dataset() ; int port = FusekiLib.choosePort() ; FusekiServer server = FusekiServer.create() .setPort(port) .add("/ds1", dsg) .build() ; server.start() ; try { // Add while live. Txn.executeWrite(dsg, ()->{ Quad q = SSE.parseQuad("(_ :s :p _:b)") ; dsg.add(q); }) ; query("http://localhost:"+port+"/ds1/query", "SELECT * { ?s ?p ?o}", qExec->{ ResultSet rs = qExec.execSelect() ; int x = ResultSetFormatter.consume(rs) ; assertEquals(1, x) ; }) ; } finally { server.stop() ; } }