use of com.palantir.lock.watch.LockWatchStateUpdate in project atlasdb by palantir.
the class LockEventLogImplTest method unlockUpdateTest.
@Test
public void unlockUpdateTest() {
ImmutableSet<LockDescriptor> locks = ImmutableSet.of(DESCRIPTOR, DESCRIPTOR_2);
log.logUnlock(locks);
LockWatchStateUpdate update = log.getLogDiff(NEGATIVE_VERSION_CURRENT_LOG_ID);
LockWatchStateUpdate.Success success = UpdateVisitors.assertSuccess(update);
assertThat(success.events()).containsExactly(UnlockEvent.builder(locks).build(0L));
}
use of com.palantir.lock.watch.LockWatchStateUpdate in project atlasdb by palantir.
the class LockEventLogImplTest method noKnownVersionReturnsSnapshotContainingCurrentMatchingLocks.
@Test
public void noKnownVersionReturnsSnapshotContainingCurrentMatchingLocks() {
LockWatchReference entireTable = LockWatchReferenceUtils.entireTable(TABLE_REF);
lockWatches.set(createWatchesFor(entireTable));
LockWatchStateUpdate update = log.getLogDiff(Optional.empty());
LockWatchStateUpdate.Snapshot snapshot = UpdateVisitors.assertSnapshot(update);
assertThat(snapshot.lastKnownVersion()).isEqualTo(-1L);
assertThat(snapshot.locked()).containsExactlyInAnyOrder(DESCRIPTOR_2, DESCRIPTOR_3);
assertThat(snapshot.lockWatches()).containsExactly(entireTable);
}
use of com.palantir.lock.watch.LockWatchStateUpdate in project atlasdb by palantir.
the class LockEventLogImplTest method snapshotIgnoresPreviousLogEntriesInLocksCalculation.
@Test
public void snapshotIgnoresPreviousLogEntriesInLocksCalculation() {
LockWatchReference entireTable = LockWatchReferenceUtils.entireTable(TABLE_REF);
lockWatches.set(createWatchesFor(entireTable));
log.logLock(ImmutableSet.of(DESCRIPTOR), TOKEN);
LockWatchStateUpdate update = log.getLogDiff(Optional.empty());
LockWatchStateUpdate.Snapshot snapshot = UpdateVisitors.assertSnapshot(update);
assertThat(snapshot.lastKnownVersion()).isEqualTo(0L);
assertThat(snapshot.locked()).containsExactlyInAnyOrder(DESCRIPTOR_2, DESCRIPTOR_3);
assertThat(snapshot.lockWatches()).containsExactly(entireTable);
}
use of com.palantir.lock.watch.LockWatchStateUpdate in project atlasdb by palantir.
the class LockEventLogImplTest method createLockWatchUpdateTest.
@Test
public void createLockWatchUpdateTest() {
LockWatchReference secondRowReference = LockWatchReferenceUtils.rowPrefix(TABLE_REF, PtBytes.toBytes("2"));
LockWatches newWatches = createWatchesFor(secondRowReference);
log.logLockWatchCreated(newWatches);
LockWatchStateUpdate update = log.getLogDiff(NEGATIVE_VERSION_CURRENT_LOG_ID);
LockWatchStateUpdate.Success success = UpdateVisitors.assertSuccess(update);
assertThat(success.events()).containsExactly(LockWatchCreatedEvent.builder(newWatches.references(), ImmutableSet.of(DESCRIPTOR_2)).build(0L));
}
use of com.palantir.lock.watch.LockWatchStateUpdate in project atlasdb by palantir.
the class LockEventLogImplTest method requestWithStaleLogIdReturnsSnapshot.
@Test
public void requestWithStaleLogIdReturnsSnapshot() {
LockWatchReference entireTable = LockWatchReferenceUtils.entireTable(TABLE_REF);
lockWatches.set(createWatchesFor(entireTable));
LockWatchStateUpdate update = log.getLogDiff(Optional.of(LockWatchVersion.of(STALE_LOG_ID, -1L)));
LockWatchStateUpdate.Snapshot snapshot = UpdateVisitors.assertSnapshot(update);
assertThat(snapshot.lastKnownVersion()).isEqualTo(-1L);
assertThat(snapshot.locked()).containsExactlyInAnyOrder(DESCRIPTOR_2, DESCRIPTOR_3);
assertThat(snapshot.lockWatches()).containsExactly(entireTable);
}
Aggregations