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);
        }