Example #1
0
        public async Task ShouldDeleteSecretWhenDeleteSecretCalled()
        {
            //Given
            _swarmClient.DeleteSecret(Arg.Any <string>()).Returns(x => Task.CompletedTask);
            var secretService    = new SecretService(_swarmClient, _loggerFactory);
            var secretController = new SecretController(secretService);

            //When
            var response = await secretController.DeleteSecret(_any.Create <string>());

            var result = response as ContentResult;

            //Then
            Assert.NotNull(result);
            Assert.Equal(204, result.StatusCode);
            await _swarmClient.Received(1).DeleteSecret(Arg.Any <string>());
        }
Example #2
0
        public async Task <IActionResult> DeleteSecretAsync(string id)
        {
            try
            {
                ValidateId(id);
                await _swarmClient.DeleteSecret(id);

                return(NoContent());
            }
            catch (ArgumentException ex)
            {
                _logger.LogError(ex, "Cannot delete secret with empty id.");
                return(BadRequest(ex.Message));
            }
            catch (DockerApiException ex) when(ex.StatusCode == HttpStatusCode.NotFound)
            {
                _logger.LogInformation($"Service with id: {id} not found.");
                return(NotFound());
            }
            catch (Exception ex)
            {
                return(CreateErrorResponse(ex, $"Cannot delete {id} secret."));
            }
        }