public void SetCurrentlyUsedSnapshot_UpdatesCurrentSnapshotAccessTimeImmediately() { _mockStorage.Setup(_ => _.SnapshotExists("Current")).Returns(true); _mockStorage.Setup(_ => _.SetSnapshotAccessTimeToUtcNow("Current")); using (var purger = new DependencySnapshotPurger(_mockStorage.Object)) { purger.SetCurrentlyUsedSnapshot("Current", _mockLogger.Object); } _mockStorage.Verify(_ => _.SetSnapshotAccessTimeToUtcNow(It.IsAny <string>()), Times.Once); }
public void DoesNotRemoveCurrentlyUsedSnapshotEvenIfNotAccessedForLongTime() { _mockStorage.Setup(_ => _.GetInstalledAndInstallingSnapshots()).Returns(new[] { "snapshot" }); _mockStorage.Setup(_ => _.SnapshotExists("snapshot")).Returns(true); _mockStorage.Setup(_ => _.GetSnapshotAccessTimeUtc("snapshot")).Returns(DateTime.UtcNow - TimeSpan.FromMinutes(300)); _mockStorage.Setup(_ => _.SetSnapshotAccessTimeToUtcNow("snapshot")); using (var purger = new DependencySnapshotPurger( _mockStorage.Object, heartbeatPeriod: TimeSpan.FromMinutes(10), oldHeartbeatAgeMargin: TimeSpan.FromMinutes(5), minNumberOfSnapshotsToKeep: 0)) { purger.SetCurrentlyUsedSnapshot("snapshot", _mockLogger.Object); purger.Purge(_mockLogger.Object); } _mockStorage.Verify(_ => _.RemoveSnapshot(It.IsAny <string>()), Times.Never); }