public async void ExpiredKey_NewKeyCreated() { var created = DateTime.UtcNow.Subtract(TimeSpan.FromSeconds(KeyExpirationSec + 1)); var expiredKey = CreateTestKey(ExpiredKeyId, created); var serializedExpiredKey = new SerializedKey { KeyId = ExpiredKeyId }; _serializerMock.Setup(x => x.Deserialize(serializedExpiredKey)).Returns(expiredKey); var serializedNewKey = new SerializedKey { KeyId = NewKeyId }; _serializerMock .Setup(x => x.Serialize(It.Is <RsaKey>(k => k.KeyId != ExpiredKeyId))) .Returns(serializedNewKey); _repositoryMock .Setup(x => x.LoadKeysAsync()) .Returns(Task.FromResult <IEnumerable <SerializedKey> >(new[] { serializedExpiredKey })); var result = await _service.GetAllKeysAsync(); _repositoryMock.Verify( x => x.StoreKeyAsync(It.Is <SerializedKey>(k => k.KeyId == NewKeyId)), Times.Once); }