use of org.neo4j.kernel.impl.store.record.NeoStoreRecord in project neo4j by neo4j.
the class OwnerCheckTest method shouldReportNodeStoreReferencingSameChainAsNode.
@Test
public void shouldReportNodeStoreReferencingSameChainAsNode() throws Exception {
// given
OwnerCheck decorator = new OwnerCheck(true);
RecordCheck<NodeRecord, ConsistencyReport.NodeConsistencyReport> nodeChecker = decorator.decorateNodeChecker(dummyNodeCheck());
RecordCheck<NeoStoreRecord, ConsistencyReport.NeoStoreConsistencyReport> neoStoreCheck = decorator.decorateNeoStoreChecker(dummyNeoStoreCheck());
RecordAccessStub records = new RecordAccessStub();
NodeRecord node = records.add(inUse(new NodeRecord(1, false, NONE, 7)));
NeoStoreRecord master = records.add(new NeoStoreRecord());
master.setNextProp(node.getNextProp());
// when
ConsistencyReport.NodeConsistencyReport nodeReport = check(ConsistencyReport.NodeConsistencyReport.class, nodeChecker, node, records);
ConsistencyReport.NeoStoreConsistencyReport masterReport = check(ConsistencyReport.NeoStoreConsistencyReport.class, neoStoreCheck, master, records);
// then
verifyZeroInteractions(nodeReport);
verify(masterReport).multipleOwners(node);
}
use of org.neo4j.kernel.impl.store.record.NeoStoreRecord in project neo4j by neo4j.
the class OwnerCheckTest method shouldReportNodeWithReferenceToTheGraphGlobalChain.
@Test
public void shouldReportNodeWithReferenceToTheGraphGlobalChain() throws Exception {
// given
OwnerCheck decorator = new OwnerCheck(true);
RecordCheck<NodeRecord, ConsistencyReport.NodeConsistencyReport> nodeChecker = decorator.decorateNodeChecker(dummyNodeCheck());
RecordCheck<NeoStoreRecord, ConsistencyReport.NeoStoreConsistencyReport> neoStoreCheck = decorator.decorateNeoStoreChecker(dummyNeoStoreCheck());
RecordAccessStub records = new RecordAccessStub();
NodeRecord node = records.add(inUse(new NodeRecord(1, false, NONE, 7)));
NeoStoreRecord master = records.add(new NeoStoreRecord());
master.setNextProp(node.getNextProp());
// when
ConsistencyReport.NeoStoreConsistencyReport masterReport = check(ConsistencyReport.NeoStoreConsistencyReport.class, neoStoreCheck, master, records);
ConsistencyReport.NodeConsistencyReport nodeReport = check(ConsistencyReport.NodeConsistencyReport.class, nodeChecker, node, records);
// then
verifyZeroInteractions(masterReport);
verify(nodeReport).multipleOwners(master);
}
use of org.neo4j.kernel.impl.store.record.NeoStoreRecord 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.store.record.NeoStoreRecord in project neo4j by neo4j.
the class LogCommandSerializationV3_0_10 method readNeoStoreRecord.
private static NeoStoreRecord readNeoStoreRecord(ReadableChannel channel) throws IOException {
long nextProp = channel.getLong();
NeoStoreRecord record = new NeoStoreRecord();
record.setNextProp(nextProp);
return record;
}
use of org.neo4j.kernel.impl.store.record.NeoStoreRecord in project neo4j by neo4j.
the class MessageConsistencyLoggerTest method shouldFlattenAMultiLineMessageToASingleLine.
@Test
void shouldFlattenAMultiLineMessageToASingleLine() {
// when
logger.error(RecordType.NEO_STORE, new NeoStoreRecord(), "multiple\n line\r\n message", 1, 2);
// then
logMatcher.forLevel(ERROR).containsMessages(join("multiple line message", neoStoreRecord(true, -1), "Inconsistent with: 1 2"));
}
Aggregations