use of org.neo4j.kernel.impl.api.BatchTransactionApplier in project neo4j by neo4j.
the class NeoStoreTransactionApplierTest method shouldApplyCreateIndexRuleSchemaRuleCommandToTheStoreInRecovery.
@Test
public void shouldApplyCreateIndexRuleSchemaRuleCommandToTheStoreInRecovery() throws Exception {
// given
final BatchTransactionApplier applier = newApplierFacade(newIndexApplier(), newApplier(true));
final DynamicRecord record = DynamicRecord.dynamicRecord(21, true);
record.setCreated();
final Collection<DynamicRecord> recordsAfter = Arrays.asList(record);
final IndexRule rule = indexRule(0, 1, 2, new SchemaIndexProvider.Descriptor("K", "X.Y"));
final Command.SchemaRuleCommand command = new Command.SchemaRuleCommand(Collections.<DynamicRecord>emptyList(), recordsAfter, rule);
// when
boolean result = apply(applier, command::handle, transactionToApply);
// then
assertFalse(result);
verify(schemaStore, times(1)).setHighestPossibleIdInUse(record.getId());
verify(schemaStore, times(1)).updateRecord(record);
verify(indexingService, times(1)).createIndexes(rule);
verify(cacheAccess, times(1)).addSchemaRule(rule);
}
use of org.neo4j.kernel.impl.api.BatchTransactionApplier in project neo4j by neo4j.
the class NeoStoreTransactionApplierTest method shouldApplyNeoStoreCommandToTheStore.
// NEO STORE COMMAND
@Test
public void shouldApplyNeoStoreCommandToTheStore() throws Exception {
// given
final BatchTransactionApplier applier = newApplier(false);
final NeoStoreRecord before = new NeoStoreRecord();
final NeoStoreRecord after = new NeoStoreRecord();
after.setNextProp(42);
final Command command = new Command.NeoStoreCommand(before, after);
// when
boolean result = apply(applier, command::handle, transactionToApply);
// then
assertFalse(result);
verify(metaDataStore, times(1)).setGraphNextProp(after.getNextProp());
}
use of org.neo4j.kernel.impl.api.BatchTransactionApplier in project neo4j by neo4j.
the class NeoStoreTransactionApplierTest method shouldApplyNodeCommandToTheStore.
// NODE COMMAND
@Test
public void shouldApplyNodeCommandToTheStore() throws Exception {
// given
final BatchTransactionApplier applier = newApplier(false);
final NodeRecord before = new NodeRecord(11);
before.setLabelField(42, Arrays.asList(one, two));
final NodeRecord after = new NodeRecord(12);
after.setInUse(true);
after.setLabelField(42, Arrays.asList(one, two, three));
final Command.NodeCommand command = new Command.NodeCommand(before, after);
// when
boolean result = apply(applier, command::handle, transactionToApply);
// then
assertFalse(result);
verify(lockService, times(1)).acquireNodeLock(command.getKey(), LockService.LockType.WRITE_LOCK);
verify(nodeStore, times(1)).updateRecord(after);
}
use of org.neo4j.kernel.impl.api.BatchTransactionApplier in project neo4j by neo4j.
the class NeoStoreTransactionApplierTest method shouldApplyPropertyKeyTokenCommandToTheStoreInRecovery.
@Test
public void shouldApplyPropertyKeyTokenCommandToTheStoreInRecovery() throws Exception {
// given
final BatchTransactionApplier applier = newApplier(true);
final PropertyKeyTokenRecord before = new PropertyKeyTokenRecord(42);
final PropertyKeyTokenRecord after = new PropertyKeyTokenRecord(42);
after.setInUse(true);
after.setNameId(323);
final Command.PropertyKeyTokenCommand command = new Command.PropertyKeyTokenCommand(before, after);
final Token token = new Token("token", 21);
when(propertyKeyTokenStore.getToken((int) command.getKey())).thenReturn(token);
// when
boolean result = apply(applier, command::handle, transactionToApply);
// then
assertFalse(result);
verify(propertyKeyTokenStore, times(1)).setHighestPossibleIdInUse(after.getId());
verify(propertyKeyTokenStore, times(1)).updateRecord(after);
verify(cacheAccess, times(1)).addPropertyKeyToken(token);
}
use of org.neo4j.kernel.impl.api.BatchTransactionApplier in project neo4j by neo4j.
the class NeoStoreTransactionApplierTest method shouldApplyRelationshipCommandToTheStoreInRecovery.
@Test
public void shouldApplyRelationshipCommandToTheStoreInRecovery() throws Exception {
// given
final BatchTransactionApplier applier = newApplier(true);
final RelationshipRecord before = new RelationshipRecord(12);
final RelationshipRecord record = new RelationshipRecord(12, 3, 4, 5);
record.setInUse(true);
final Command command = new Command.RelationshipCommand(before, record);
// when
boolean result = apply(applier, command::handle, transactionToApply);
// then
assertFalse(result);
verify(relationshipStore, times(1)).setHighestPossibleIdInUse(record.getId());
verify(relationshipStore, times(1)).updateRecord(record);
}
Aggregations