예제 #1
0
        public void DeleteKeyFromVault_Purge_CompletelyRemovedKey()
        {
            var storeLogger = _loggerFactory.CreateLogger <KeyVaultKeyStorer>();
            var storer      = new KeyVaultKeyStorer(_client, storeLogger);

            var deleteLogger = _loggerFactory.CreateLogger <KeyVaultKeyDeleter>();
            var deleter      = new KeyVaultKeyDeleter(_client, deleteLogger);

            storer.Store(_keyName, KeyType.Ec);

            deleter.Delete(new KeyVaultKeyDeleteEvent
            {
                Name  = _keyName,
                Purge = true
            });

            Action action = () => _client.GetKey(_keyName);

            action.Should().ThrowExactly <RequestFailedException>().Where(e =>
                                                                          e.Message.Contains($"A key with (name/id) {_keyName} was not found in this key vault.",
                                                                                             StringComparison.InvariantCultureIgnoreCase));
            action = () => _client.GetDeletedKey(_keyName);

            action.Should().ThrowExactly <RequestFailedException>();
        }
예제 #2
0
        public void DeleteKeyFromVault_NoPurge_ReturnsDeletedKey()
        {
            var storeLogger = _loggerFactory.CreateLogger <KeyVaultKeyStorer>();
            var storer      = new KeyVaultKeyStorer(_client, storeLogger);

            var deleteLogger = _loggerFactory.CreateLogger <KeyVaultKeyDeleter>();
            var deleter      = new KeyVaultKeyDeleter(_client, deleteLogger);

            storer.Store(_keyName, KeyType.Ec);

            deleter.Delete(new KeyVaultKeyDeleteEvent
            {
                Name  = _keyName,
                Purge = false
            });

            _client.GetDeletedKey(_keyName).Value.Should().NotBeNull();
        }
 public KeyVaultKeyDeleteController(KeyVaultKeyDeleter deleter, ILogger <KeyVaultKeyDeleteController> logger)
 {
     _deleter = deleter;
     _logger  = logger;
 }