From 09bfddcc118130e2294c7005e4c31f5ae3a3eb1d Mon Sep 17 00:00:00 2001 From: Pontus Melke Date: Tue, 27 Feb 2018 15:01:12 +0100 Subject: [PATCH] Make sure properties are cleared between tests --- .../kernel/api/GraphPropertiesTestBase.java | 11 ++++------- .../kernel/api/KernelAPIWriteTestSupport.java | 9 +++++++-- .../kernel/impl/newapi/WriteTestSupport.java | 18 +++++++++++++++++- .../impl/newapi/GraphPropertiesTest.java | 11 ----------- 4 files changed, 28 insertions(+), 21 deletions(-) diff --git a/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/GraphPropertiesTestBase.java b/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/GraphPropertiesTestBase.java index 8ca9ab93ecf2b..1b115aa5e0ccd 100644 --- a/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/GraphPropertiesTestBase.java +++ b/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/GraphPropertiesTestBase.java @@ -21,8 +21,6 @@ import org.junit.Test; -import org.neo4j.graphdb.PropertyContainer; - import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.junit.Assert.assertFalse; @@ -33,6 +31,7 @@ @SuppressWarnings( "Duplicates" ) public abstract class GraphPropertiesTestBase extends KernelAPIWriteTestBase { + @Test public void shouldBeAbleToWriteNewGraphProperty() throws Exception { @@ -46,7 +45,7 @@ public void shouldBeAbleToWriteNewGraphProperty() throws Exception try ( org.neo4j.graphdb.Transaction ignore = graphDb.beginTx() ) { - assertThat( graphProperties().getProperty( "prop" ), equalTo( "hello" ) ); + assertThat( testSupport.graphProperties().getProperty( "prop" ), equalTo( "hello" ) ); } } @@ -69,7 +68,7 @@ public void shouldBeAbleToReplaceExistingGraphProperty() throws Exception try ( org.neo4j.graphdb.Transaction ignore = graphDb.beginTx() ) { - assertThat( graphProperties().getProperty( "prop" ), equalTo( "good bye" ) ); + assertThat( testSupport.graphProperties().getProperty( "prop" ), equalTo( "good bye" ) ); } } @@ -92,7 +91,7 @@ public void shouldBeAbleToRemoveExistingGraphProperty() throws Exception try ( org.neo4j.graphdb.Transaction ignore = graphDb.beginTx() ) { - assertFalse( graphProperties().hasProperty( "prop" ) ); + assertFalse( testSupport.graphProperties().hasProperty( "prop" ) ); } } @@ -193,6 +192,4 @@ public void shouldNotSeeURemovedGraphPropertyInTransaction() throws Exception assertFalse( cursor.next() ); } } - - protected abstract PropertyContainer graphProperties(); } diff --git a/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/KernelAPIWriteTestSupport.java b/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/KernelAPIWriteTestSupport.java index 104b91afc77b2..76f9f7539d406 100644 --- a/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/KernelAPIWriteTestSupport.java +++ b/community/kernel-api/src/test/java/org/neo4j/internal/kernel/api/KernelAPIWriteTestSupport.java @@ -20,9 +20,9 @@ package org.neo4j.internal.kernel.api; import java.io.File; -import java.io.IOException; import org.neo4j.graphdb.GraphDatabaseService; +import org.neo4j.graphdb.PropertyContainer; /** @@ -34,7 +34,6 @@ public interface KernelAPIWriteTestSupport /** * Create the Kernel to test in the provided directory. * @param storeDir The directory to hold the database - * @throws IOException Thrown on IO failure during database creation */ void setup( File storeDir ); @@ -57,4 +56,10 @@ public interface KernelAPIWriteTestSupport * Clean up resources and close the database. Executed after all tests are completed. */ void tearDown(); + + /** + * Retrieves all properties associated with the graph + * @return The properties associated with the graph + */ + PropertyContainer graphProperties(); } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/WriteTestSupport.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/WriteTestSupport.java index a4b2b9c90fad3..23dfd858597ff 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/WriteTestSupport.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/WriteTestSupport.java @@ -20,15 +20,16 @@ package org.neo4j.kernel.impl.newapi; import java.io.File; -import java.io.IOException; import org.neo4j.graphdb.DependencyResolver; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; +import org.neo4j.graphdb.PropertyContainer; import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.Transaction; import org.neo4j.internal.kernel.api.Kernel; import org.neo4j.internal.kernel.api.KernelAPIWriteTestSupport; +import org.neo4j.kernel.impl.core.EmbeddedProxySPI; import org.neo4j.kernel.internal.GraphDatabaseAPI; import org.neo4j.test.TestGraphDatabaseFactory; @@ -58,10 +59,25 @@ public void clearGraph() node.delete(); } + PropertyContainer graphProperties = graphProperties(); + for ( String key : graphProperties.getPropertyKeys() ) + { + graphProperties.removeProperty( key ); + } + tx.success(); } } + @Override + public PropertyContainer graphProperties() + { + return ((GraphDatabaseAPI) db) + .getDependencyResolver() + .resolveDependency( EmbeddedProxySPI.class ) + .newGraphPropertiesProxy(); + } + @Override public Kernel kernelToTest() { diff --git a/community/lucene-index/src/test/java/org/neo4j/kernel/impl/newapi/GraphPropertiesTest.java b/community/lucene-index/src/test/java/org/neo4j/kernel/impl/newapi/GraphPropertiesTest.java index ac0d15eeb373b..866abf7121df9 100644 --- a/community/lucene-index/src/test/java/org/neo4j/kernel/impl/newapi/GraphPropertiesTest.java +++ b/community/lucene-index/src/test/java/org/neo4j/kernel/impl/newapi/GraphPropertiesTest.java @@ -19,10 +19,7 @@ */ package org.neo4j.kernel.impl.newapi; -import org.neo4j.graphdb.PropertyContainer; import org.neo4j.internal.kernel.api.GraphPropertiesTestBase; -import org.neo4j.kernel.impl.core.EmbeddedProxySPI; -import org.neo4j.kernel.internal.GraphDatabaseAPI; public class GraphPropertiesTest extends GraphPropertiesTestBase { @@ -32,12 +29,4 @@ public WriteTestSupport newTestSupport() return new WriteTestSupport(); } - @Override - protected PropertyContainer graphProperties() - { - return ((GraphDatabaseAPI) graphDb) - .getDependencyResolver() - .resolveDependency( EmbeddedProxySPI.class ) - .newGraphPropertiesProxy(); - } }