/** * Create a connection builder which is initialized from an existing {@code RDFConnectionFuseki}. * @param other The RDFConnectionFuseki to clone. * @return RDFConnectionRemoteBuilder */ public static RDFConnectionRemoteBuilder create(RDFConnectionFuseki other) { return setupCreator(RDFConnectionRemote.create(other)); }
/** * Create a connection builder which is initialized for the default Fuseki * configuration. The application must call * {@link RDFConnectionRemoteBuilder#destination(String)} to set the URL of the remote * dataset. * @return RDFConnectionRemoteBuilder */ public static RDFConnectionRemoteBuilder create() { return setupForFuseki(RDFConnectionRemote.create()); }
@Test public void access_serverNone_db2() { test("testing/Access/config-server-0.ttl", (fusekiServer)->{ try ( RDFConnection conn = RDFConnectionRemote.create() .destination(datasetURL(fusekiServer, "database2")) // No HttpClient. .build() ) { conn.queryAsk("ASK{}"); } }); }
@Test public void serviceAndEndpoint_anon() { test("testing/Access/config-server-3.ttl", fusekiServer->{ try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "db")).build() ) { expectQuery401(()->conn.queryAsk("ASK{}")); } }); }
@Test public void access_dataset_db1() { test("testing/Access/config-server-1.ttl", fusekiServer->{ // Must be logged in. HttpClient hc = LibSec.httpClient(authSetup1(fusekiServer)); try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "database1")).httpClient(hc).build() ) { conn.queryAsk("ASK{}"); } }); }
@Test public void access_dataset_user1() { test("testing/Access/config-server-2.ttl", fusekiServer->{ // Must be logged in as user1 HttpClient hc = LibSec.httpClient(authSetup1(fusekiServer)); try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "database1")).httpClient(hc).build() ) { conn.queryAsk("ASK{}"); } }); }
@Test public void access_dataset_db2() { test("testing/Access/config-server-1.ttl", fusekiServer->{ // Must be logged in. HttpClient hc = LibSec.httpClient(authSetup1(fusekiServer)); try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "database2")).httpClient(hc).build() ) { conn.queryAsk("ASK{}"); } }); }
@Test public void serviceAndEndpoint_user1() { test("testing/Access/config-server-3.ttl", fusekiServer->{ HttpClient hc1 = LibSec.httpClient(authSetup1(fusekiServer)); try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "db")) .httpClient(hc1).build() ) { expectQuery403(()->conn.queryAsk("ASK{}")); } }); }
@Test public void endpoint_user2() { test("testing/Access/config-server-4.ttl", fusekiServer->{ HttpClient hc2 = LibSec.httpClient(authSetup2(fusekiServer)); // -- Dataset query. User2 is not in dataset. try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "db2")).httpClient(hc2).build() ) { expectQuery403(()->conn.queryAsk("ASK{}")); } }); }
@Test public void access_dataset_db1_wrongUser() { test("testing/Access/config-server-1.ttl", fusekiServer->{ // Must be logged in. HttpClient hc = LibSec.httpClient(authSetup2(fusekiServer)); try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "database1")).httpClient(hc).build() ) { expectQuery403(()->conn.queryAsk("ASK{}")); } }); }
@Test public void access_dataset_user2() { test("testing/Access/config-server-2.ttl", fusekiServer->{ // user2 does not have service access HttpClient hc = LibSec.httpClient(authSetup2(fusekiServer)); try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "database1")).httpClient(hc).build() ) { expectQuery403(()->conn.queryAsk("ASK{}")); } }); }
@Test public void serviceAndEndpoint_unknownUser() { test("testing/Access/config-server-3.ttl", fusekiServer->{ HttpClient hc = LibSec.httpClient(authSetupX(fusekiServer)); try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "db")).httpClient(hc).build() ) { // Fails authentication. expectQuery401(()->conn.queryAsk("ASK{}")); } }); }
@Test public void serviceAndEndpoint_user2() { test("testing/Access/config-server-3.ttl", fusekiServer->{ HttpClient hc2 = LibSec.httpClient(authSetup2(fusekiServer)); // -- Dataset query. User2 is not in dataset. try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "db")).httpClient(hc2).build() ) { expectQuery403(()->conn.queryAsk("ASK{}")); } }); }
@Test public void access_dataset_user3() { test("testing/Access/config-server-2.ttl", fusekiServer->{ // user3 does not have server access HttpClient hc = LibSec.httpClient(authSetup3(fusekiServer)); try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "database1")).httpClient(hc).build() ) { expectQuery403(()->conn.queryAsk("ASK{}")); } }); }
@Test public void serviceAndEndpoint_user3() { // Not user3 - it is not in every endpoint. test("testing/Access/config-server-3.ttl", fusekiServer->{ HttpClient hc3 = LibSec.httpClient(authSetup3(fusekiServer)); try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "db")).httpClient(hc3).build() ) { expectQuery403(()->conn.queryAsk("ASK{}")); } }); }
@Test public void endpointDirect_user2() { test("testing/Access/config-server-4.ttl", fusekiServer->{ HttpClient hc2 = LibSec.httpClient(authSetup2(fusekiServer)); // -- Dataset query. User2 is onthis specific endpoint. try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "db2")) .queryEndpoint(datasetURL(fusekiServer, "db2")+"/query2") .httpClient(hc2).build() ) { conn.queryAsk("ASK{}"); } }); }
@Test public void serviceAndEndpointDirect_user1() { test("testing/Access/config-server-3.ttl", fusekiServer->{ HttpClient hc1 = LibSec.httpClient(authSetup1(fusekiServer)); try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "db")) .queryEndpoint(datasetURL(fusekiServer, "db")+"/query1") .httpClient(hc1).build() ) { conn.queryAsk("ASK{}"); } }); }
@Test public void endpointDirect_user1() { test("testing/Access/config-server-4.ttl", fusekiServer->{ HttpClient hc1 = LibSec.httpClient(authSetup1(fusekiServer)); try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "db2")) .queryEndpoint(datasetURL(fusekiServer, "db2")+"/query1") .httpClient(hc1).build() ) { conn.queryAsk("ASK{}"); } }); }
@Test public void serviceAndEndpointDirect_user2() { test("testing/Access/config-server-3.ttl", fusekiServer->{ HttpClient hc2 = LibSec.httpClient(authSetup2(fusekiServer)); // -- Dataset query. User2 is not in dataset. try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "db")) .queryEndpoint(datasetURL(fusekiServer, "db")+"/query2") .httpClient(hc2).build() ) { expectQuery403(()->conn.queryAsk("ASK{}")); } }); }
@Test public void endpointDirect_user2a() { test("testing/Access/config-server-4.ttl", fusekiServer->{ HttpClient hc2 = LibSec.httpClient(authSetup2(fusekiServer)); // -- Dataset query. User2 is onthis specific endpoint. try ( RDFConnection conn = RDFConnectionRemote .create().destination(datasetURL(fusekiServer, "db2")) .queryEndpoint(datasetURL(fusekiServer, "db2")+"/query3") .httpClient(hc2).build() ) { expectQuery403(()->conn.queryAsk("ASK{}")); } }); }