org.neo4j.test.rule.ImpermanentDatabaseRule Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of it-test-support Show documentation
Show all versions of it-test-support Show documentation
ONgDB Community Edition integration tests support.
/*
* Copyright (c) 2018-2020 "Graph Foundation"
* Graph Foundation, Inc. [https://graphfoundation.org]
*
* Copyright (c) 2002-2020 "Neo4j,"
* Neo4j Sweden AB [http://neo4j.com]
*
* This file is part of ONgDB.
*
* ONgDB is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package org.neo4j.test.rule;
import org.neo4j.graphdb.factory.GraphDatabaseBuilder;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.neo4j.logging.LogProvider;
import org.neo4j.test.TestGraphDatabaseFactory;
/**
* JUnit @Rule for configuring, creating and managing an ImpermanentGraphDatabase instance.
*/
public class ImpermanentDatabaseRule extends DatabaseRule
{
private final LogProvider userLogProvider;
private final LogProvider internalLogProvider;
public ImpermanentDatabaseRule()
{
this( null );
}
public ImpermanentDatabaseRule( LogProvider logProvider )
{
this.userLogProvider = logProvider;
this.internalLogProvider = logProvider;
}
@Override
public ImpermanentDatabaseRule startLazily()
{
return (ImpermanentDatabaseRule) super.startLazily();
}
@Override
protected GraphDatabaseFactory newFactory()
{
return maybeSetInternalLogProvider( maybeSetUserLogProvider( new TestGraphDatabaseFactory() ) );
}
@Override
protected GraphDatabaseBuilder newBuilder( GraphDatabaseFactory factory )
{
return ((TestGraphDatabaseFactory) factory).newImpermanentDatabaseBuilder();
}
protected final TestGraphDatabaseFactory maybeSetUserLogProvider( TestGraphDatabaseFactory factory )
{
return ( userLogProvider == null ) ? factory : factory.setUserLogProvider( userLogProvider );
}
protected final TestGraphDatabaseFactory maybeSetInternalLogProvider( TestGraphDatabaseFactory factory )
{
return ( internalLogProvider == null ) ? factory : factory.setInternalLogProvider( internalLogProvider );
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy