diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelTransactionAccessModeTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelTransactionAccessModeTest.java index 00e151fba070..a5bafaf0f22d 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelTransactionAccessModeTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/KernelTransactionAccessModeTest.java @@ -26,6 +26,7 @@ import org.neo4j.kernel.api.AccessMode; import org.neo4j.kernel.api.DataWriteOperations; import org.neo4j.kernel.api.KernelTransactionTestBase; +import org.neo4j.kernel.api.SchemaWriteOperations; import org.neo4j.kernel.api.exceptions.KernelException; import static org.junit.Assert.assertNotNull; @@ -62,6 +63,34 @@ public void shouldNotAllowSchemaWriteAccessInReadMode() throws Throwable tx.acquireStatement().schemaWriteOperations(); } + @Test + public void shouldNotAllowSchemaWriteAccessInWriteMode() throws Throwable + { + // Given + KernelTransactionImplementation tx = newTransaction(); + tx.setMode( AccessMode.WRITE ); + + // Expect + exception.expect( KernelException.class ); + + // When + tx.acquireStatement().schemaWriteOperations(); + } + + @Test + public void shouldAllowWritesInWriteMode() throws Throwable + { + // Given + KernelTransactionImplementation tx = newTransaction(); + tx.setMode( AccessMode.WRITE ); + + // When + DataWriteOperations writes = tx.acquireStatement().dataWriteOperations(); + + // Then + assertNotNull( writes ); + } + @Test public void shouldAllowWritesInFullMode() throws Throwable { @@ -84,7 +113,7 @@ public void shoulAllowSchemaWriteAccessInFullMode() throws Throwable tx.setMode( AccessMode.FULL ); // When - DataWriteOperations writes = tx.acquireStatement().dataWriteOperations(); + SchemaWriteOperations writes = tx.acquireStatement().schemaWriteOperations(); // Then assertNotNull( writes );