@Test public void shouldReportThirdPartyPackagesAtSpecifiedMount() throws Exception { // Given WebServer webServer = mock( WebServer.class ); CommunityNeoServer neoServer = mock( CommunityNeoServer.class ); when( neoServer.baseUri() ).thenReturn( new URI( "http://localhost:7575" ) ); when( neoServer.getWebServer() ).thenReturn( webServer ); Database database = mock( Database.class ); when( neoServer.getDatabase() ).thenReturn( database ); Config config = mock( Config.class ); List<ThirdPartyJaxRsPackage> jaxRsPackages = new ArrayList<>(); String path = "/third/party/package"; jaxRsPackages.add( new ThirdPartyJaxRsPackage( "org.example.neo4j", path ) ); when( config.get( ServerSettings.third_party_packages ) ).thenReturn( jaxRsPackages ); // When ThirdPartyJAXRSModule module = new ThirdPartyJAXRSModule( webServer, config, NullLogProvider.getInstance(), neoServer ); module.start(); // Then verify( webServer ).addJAXRSPackages( any( List.class ), anyString(), anyCollection() ); } }
private <T> T getDependency( Class<T> clazz ) { return server.getDatabase().getGraph().getDependencyResolver().resolveDependency( clazz ); } }
private HostnamePort getLocalHttpAddress() { ConnectorPortRegister connectorPortRegister = server.getDatabase().getGraph().getDependencyResolver() .resolveDependency( ConnectorPortRegister.class ); return connectorPortRegister.getLocalAddress( "http" ); } }
@Test public void serverConfigShouldBeVisibleInJMX() throws Throwable { // Given String configValue = tempDir.newFile().getAbsolutePath(); server = CommunityServerBuilder.serverOnRandomPorts().withProperty( ServerSettings.run_directory.name(), configValue ).build(); // When server.start(); // Then ObjectName name = getObjectName( server.getDatabase().getGraph(), ConfigurationBean.CONFIGURATION_MBEAN_NAME ); String attr = getAttribute( name, ServerSettings.run_directory.name() ); assertThat( attr, equalTo( configValue ) ); }
@Test public void durationsAlwaysHaveUnitsInJMX() throws Throwable { // Given server = CommunityServerBuilder.serverOnRandomPorts() .withProperty( transaction_timeout.name(), "10" ) .build(); // When server.start(); // Then ObjectName name = getObjectName( server.getDatabase().getGraph(), ConfigurationBean.CONFIGURATION_MBEAN_NAME ); String attr = getAttribute( name, transaction_timeout.name() ); assertThat( attr, equalTo( "10000ms" ) ); }
@Test public void executeQueryWithSnapshotEngine() { Database database = server.getDatabase(); GraphDatabaseFacade graph = database.getGraph(); try ( Transaction transaction = graph.beginTx() ) { for ( int i = 0; i < 10; i++ ) { Node node = graph.createNode(); node.setProperty( "a", "b" ); } transaction.success(); } HTTP.Builder httpClientBuilder = HTTP.withBaseUri( server.baseUri() ); HTTP.Response transactionStart = httpClientBuilder.POST( transactionURI() ); assertThat( transactionStart.status(), equalTo( 201 ) ); HTTP.Response response = httpClientBuilder.POST( transactionStart.location(), quotedJson( "{ 'statements': [ { 'statement': 'MATCH (n) RETURN n' } ] }" ) ); assertThat( response.status(), equalTo( 200 ) ); }