public URI baseUri() { return server.baseUri(); }
public String managementUri() { return server.baseUri() .toString() + "db/manage"; }
public String dataUri() { return server.baseUri().toString() + "db/data/"; }
private String getServerUri() { return server().baseUri().toString(); } }
private String getServerUri() { return server().baseUri().toString(); }
private String getServerUri() { return server().baseUri().toString(); }
public FunctionalTestHelper( NeoServer server ) { if ( server.getDatabase() == null ) { throw new RuntimeException( "Server must be started before using " + getClass().getName() ); } this.helper = new GraphDbHelper( server.getDatabase() ); this.server = server; this.request = new RestRequest( server.baseUri().resolve( "db/data/" ) ); }
private JaxRsResponse exec( String command, String engine ) { return RestRequest.req().post( server.baseUri() + "db/manage/server/console", "{" + "\"engine\":\"" + engine + "\"," + "\"command\":\"" + command + "\\n\"}" ); } }
@Test public void shouldDefaultToLocalhostOfNoneSpecifiedInConfig() { assertThat( server().baseUri().getHost(), is( "localhost" ) ); } }
@Test public void shouldRedirectRootToBrowser() { assertFalse( server().baseUri() .toString() .contains( "browser" ) ); HTTP.Response res = HTTP.withHeaders( HttpHeaders.ACCEPT, MediaType.TEXT_HTML ).GET( server().baseUri().toString() ); assertThat( res.header( "Location" ), containsString( "browser") ); } }
@Test public void shouldReturnEmptyMapForEmptyProperties() { // Given String location = HTTP.POST( server().baseUri().resolve( "db/data/node" ).toString() ).location(); // When HTTP.Response res = HTTP.GET( location + "/properties" ); // Then assertThat( res.rawContent(), equalTo( "{ }" ) ); }
@Test public void shouldRedirectRootToBrowser() { JaxRsResponse response = new RestRequest( server().baseUri() ).get(); assertThat(response.getStatus(), is(not(404))); }
@Test public void shouldLogStartup() { // Check the logs String logContent = out.toString(); assertThat( logContent.length(), is( greaterThan( 0 ) ) ); assertThat( logContent, containsString( NEO4J_IS_STARTING_MESSAGE ) ); // Check the server is alive Client nonRedirectingClient = Client.create(); nonRedirectingClient.setFollowRedirects( false ); final JaxRsResponse response = new RestRequest( server.baseUri(), nonRedirectingClient ).get(); assertThat( response.getStatus(), is( greaterThan( 199 ) ) ); } }
@Test public void shouldRedirectToBrowser() throws Exception { Client nonRedirectingClient = Client.create(); nonRedirectingClient.setFollowRedirects( false ); final JaxRsResponse response = new RestRequest( server.baseUri(), nonRedirectingClient ).accept( MediaType .TEXT_HTML_TYPE ).get( server.baseUri().toString() ); assertEquals( 303, response.getStatus() ); assertEquals( new URI( server.baseUri() + "browser/" ), response.getLocation() ); response.close(); }
@Test public void shouldNotRedirectTheRestOfTheWorld() { JaxRsResponse response = new RestRequest( server().baseUri() ).get( "a/different/relative/data/uri/" ); assertThat(response.getStatus(), is(404)); } }
private JaxRsResponse getDiscoveryDocument() { return new RestRequest( server().baseUri() ).get(); } }
@Test public void shouldReturnEmptyMapForEmptyProperties() { // Given String node = HTTP.POST( server().baseUri().resolve( "db/data/node" ).toString() ).location(); String rel = HTTP.POST( node + "/relationships", quotedJson( "{'to':'" + node + "', " + "'type':'LOVES'}" ) ).location(); // When HTTP.Response res = HTTP.GET( rel + "/properties" ); // Then MatcherAssert.assertThat( res.rawContent(), equalTo( "{ }" ) ); } }
@Before public void setup() throws IOException { ServerHelper.cleanTheDatabase( readOnlyServer ); readOnlyServer = ServerHelper.createNonPersistentReadOnlyServer(); http = HTTP.withBaseUri( readOnlyServer.baseUri() ); }
@Test public void shouldRedirectToBrowserUsingXForwardedHeaders() throws Exception { Client nonRedirectingClient = Client.create(); nonRedirectingClient.setFollowRedirects( false ); final JaxRsResponse response = new RestRequest( server.baseUri(), nonRedirectingClient ).accept( MediaType .TEXT_HTML_TYPE ).header( "X-Forwarded-Host", "foo.bar:8734" ).header( "X-Forwarded-Proto", "https" ).get( server.baseUri().toString() ); assertEquals( 303, response.getStatus() ); assertEquals( new URI( "https://foo.bar:8734/browser/" ), response.getLocation() ); response.close(); } }
@Test public void shouldRedirectOnHtmlRequest() { Client nonRedirectingClient = Client.create(); nonRedirectingClient.setFollowRedirects( false ); JaxRsResponse clientResponse = new RestRequest( null, nonRedirectingClient ).get( server().baseUri().toString(), TEXT_HTML_TYPE ); assertEquals( 303, clientResponse.getStatus() ); }