public async void TestSuccess_DeleteKVSecret()
        {
            var moqHandler = NewMoqHttpHandler(HttpStatusCode.OK);

            // Make the method call
            var      httpClient = new HttpClient(moqHandler.Object);
            VaultCom vcom       = new VaultCom("http://test.com", "vault_token", "vault_path", httpClient);
            bool     callResult = await vcom.DeleteKVSecret("test-secret");

            // Verify returned result
            Assert.IsType <bool>(callResult);
            Assert.True(callResult);

            // Verify the call to the API
            Uri expectedUri = new Uri("http://test.com/v1/vault_path/metadata/test-secret");

            moqHandler.Protected().Verify(
                "SendAsync",
                Times.Once(),
                ItExpr.Is <HttpRequestMessage>(req =>
                                               req.Method == HttpMethod.Delete &&
                                               req.RequestUri == expectedUri &&
                                               req.Headers.Contains("X-Vault-Token") &&
                                               new List <string>(req.Headers.GetValues("X-Vault-Token")).Contains("vault_token")
                                               ),
                ItExpr.IsAny <CancellationToken>()
                );
        }
        public async void TestFailure_DeleteKVSecret()
        {
            var moqHandler = NewMoqHttpHandler(HttpStatusCode.BadRequest);

            // Make the method call
            var      httpClient = new HttpClient(moqHandler.Object);
            VaultCom vcom       = new VaultCom("http://test.com", "vault_token", "vault_path", httpClient);
            bool     callResult = await vcom.DeleteKVSecret("test-secret");

            // Verify returned result
            Assert.IsType <bool>(callResult);
            Assert.False(callResult);
        }
Exemple #3
0
        ///<summary>
        /// Delete a user provided secret
        ///</summary>
        public void DeleteSecret()
        {
            // Get secret name
            Console.WriteLine();
            string secretName = GetSecretName();

            // Call Vault API and handle output
            if (vaultCommunicator.DeleteKVSecret(secretName).Result)
            {
                Console.WriteLine("Secret deleted successfully if present.");
            }
            else
            {
                Console.Error.WriteLine("Error deleteing the secret!");
            }
            Console.WriteLine("\nPress any key to continue...");
            userInput.GetUserInput();
        }