@Test public void shouldLaunchAServerInSpecifiedDirectory() { // Given File workDir = testDir.directory( "specific" ); // When try ( ServerControls server = getTestServerBuilder( workDir ).newServer() ) { // Then assertThat( HTTP.GET( server.httpURI().toString() ).status(), equalTo( 200 ) ); assertThat( workDir.list().length, equalTo( 1 ) ); } // And after it's been closed, it should've cleaned up after itself. assertThat( Arrays.toString( workDir.list() ), workDir.list().length, equalTo( 0 ) ); }
@Test public void shouldFindFreePort() { // Given one server is running try ( ServerControls firstServer = getTestServerBuilder( testDir.directory() ).newServer() ) { // When I start a second server try ( ServerControls secondServer = getTestServerBuilder( testDir.directory() ).newServer() ) { // Then assertThat( secondServer.httpURI().getPort(), not( firstServer.httpURI().getPort() ) ); } } }
@Test public void shouldFailWhenProvidingANonDirectoryAsSource() throws IOException { File notADirectory = File.createTempFile( "prefix", "suffix" ); assertFalse( notADirectory.isDirectory() ); try ( ServerControls ignored = getTestServerBuilder( testDir.directory() ) .copyFrom( notADirectory ).newServer() ) { fail( "server should not start" ); } catch ( RuntimeException rte ) { Throwable cause = rte.getCause(); assertTrue( cause instanceof IOException ); assertTrue( cause.getMessage().contains( "exists but is not a directory" ) ); } }
@Test public void shouldMountUnmanagedExtensionsByClass() { // When try ( ServerControls server = getTestServerBuilder( testDir.directory() ) .withExtension( "/path/to/my/extension", MyUnmanagedExtension.class ) .newServer() ) { // Then assertThat( HTTP.GET( server.httpURI().toString() + "path/to/my/extension/myExtension" ).status(), equalTo( 234 ) ); } }
@Test public void shouldMountUnmanagedExtensionsByPackage() { // When try ( ServerControls server = getTestServerBuilder( testDir.directory() ) .withExtension( "/path/to/my/extension", "org.neo4j.harness.extensionpackage" ) .newServer() ) { // Then assertThat( HTTP.GET( server.httpURI().toString() + "path/to/my/extension/myExtension" ).status(), equalTo( 234 ) ); } }
@Test public void shouldOpenBoltPort() throws Throwable { // given try ( ServerControls controls = getTestServerBuilder( testDir.directory() ).newServer() ) { URI uri = controls.boltURI(); // when new SocketConnection().connect( new HostnamePort( uri.getHost(), uri.getPort() ) ); // then no exception } }
try ( ServerControls server = getTestServerBuilder( testDir.directory() ) .withConfig( httpConnector.type, "HTTP" ) .withConfig( httpConnector.enabled, "true" )
try ( ServerControls server = getTestServerBuilder( testDir.databaseDir() ).copyFrom( existingStoreDir ) .newServer() )