public MockContentLocationStoreFactory( ITestRedisDatabase primaryRedisDatabase, ITestRedisDatabase secondaryRedisDatabase, AbsolutePath rootDirectory, ITestClock mockClock = null, RedisContentLocationStoreConfiguration configuration = null) : base(mockClock ?? TestSystemClock.Instance, configuration ?? CreateDefaultConfiguration(rootDirectory), CreateTestCopier(mockClock ?? TestSystemClock.Instance, rootDirectory)) { _primaryRedisDatabase = primaryRedisDatabase; _secondaryRedisDatabase = secondaryRedisDatabase; }
public MockRedisContentLocationStoreFactory( ITestRedisDatabase redisDatabase, ITestRedisDatabase machineLocationRedisDatabase, AbsolutePath localCacheRoot, IClock mockClock = null, RedisContentLocationStoreConfiguration configuration = null) { _mockClock = mockClock ?? SystemClock.Instance; RedisDatabase = redisDatabase; MachineLocationRedisDatabase = machineLocationRedisDatabase; _localMachineLocation = new MachineLocation(localCacheRoot.Path); _configuration = configuration ?? RedisContentLocationStoreConfiguration.Default; }
private static async Task IncrementWithExpiryValidate( Context context, RedisDatabaseAdapter adapter, ITestRedisDatabase database, string key, uint comparisonValue, TimeSpan specifiedExpiry, int requestedIncrement, long expectedReturnValue, long?expectedIncrementedValue, TimeSpan?expectedDifferentExpiry = null) { var batch = adapter.CreateBatchOperation(RedisOperation.All); var redisKey = GetKey(key); var incrementWithExpire = batch.TryStringIncrementBumpExpiryIfBelowOrEqualValueAsync(key, comparisonValue, timeToLive: specifiedExpiry, requestedIncrement: requestedIncrement); await adapter.ExecuteBatchOperationAsync(context, batch, CancellationToken.None).IgnoreFailure(); var incrementedValue = await incrementWithExpire; Assert.Equal(expectedReturnValue, incrementedValue.AppliedIncrement); var keysWithExpiry = database.GetDbWithExpiry(); if (expectedIncrementedValue == null) { Assert.False(keysWithExpiry.ContainsKey(redisKey)); Assert.Equal(expectedReturnValue, incrementedValue.IncrementedValue); return; } Assert.True(keysWithExpiry.ContainsKey(redisKey)); var expiry = keysWithExpiry[redisKey]; if (expectedDifferentExpiry != null) { Assert.False(expiry.Equals(new MockRedisValueWithExpiry(expectedIncrementedValue, DateTime.UtcNow + specifiedExpiry))); Assert.True(expiry.Equals(new MockRedisValueWithExpiry(expectedIncrementedValue, DateTime.UtcNow + expectedDifferentExpiry.Value))); } else { Assert.True(expiry.Equals(new MockRedisValueWithExpiry(expectedIncrementedValue, DateTime.UtcNow + specifiedExpiry))); } }