public async Task ShouldReturnSingleSecretInfoWhenGetSecretCalled() { //Given const string secretName = "api"; var spec = new SecretSpec { Name = secretName }; _swarmClient.GetSecrets().Returns(x => { return(Task.FromResult <IEnumerable <Secret> >(new [] { _any.Create <Secret>(), _any.Build <Secret>().With(t => t.Spec, spec).Create() })); }); var secretService = new SecretService(_swarmClient, _loggerFactory); var secretController = new SecretController(secretService); //When var response = await secretController.GetSecret(secretName); var jsonResult = response as JsonResult; var value = jsonResult?.Value as Secret; //Then Assert.NotNull(jsonResult); Assert.NotNull(value); Assert.Equal(200, jsonResult.StatusCode); }
async Task <SecretOrConfigCreateResponse> ISecretsOperations.CreateAsync(SecretSpec body, CancellationToken cancellationToken) { if (body == null) { throw new ArgumentNullException(nameof(body)); } var data = new JsonRequestContent <SecretSpec>(body, this._client.JsonSerializer); var response = await this._client.MakeRequestAsync(this._client.NoErrorHandlers, HttpMethod.Post, "secrets/create", null, data, cancellationToken).ConfigureAwait(false); return(this._client.JsonSerializer.DeserializeObject <SecretOrConfigCreateResponse>(response.Body)); }
public async Task ShouldReturnNotFoundWhenGetSecretCalledDoesNotMatchPredicate() { //Given const string secretName = "api"; var spec = new SecretSpec { Name = secretName }; _swarmClient.GetSecrets().Returns(x => { return(Task.FromResult <IEnumerable <Secret> >(new [] { _any.Create <Secret>(), _any.Build <Secret>().With(t => t.Spec, spec).Create() })); }); var secretService = new SecretService(_swarmClient, _loggerFactory); var secretController = new SecretController(secretService); //When var response = await secretController.GetSecret("user-service"); var result = response as ContentResult; //Then Assert.NotNull(result); Assert.Equal(404, result.StatusCode); }
public async Task <SecretCreateResponse> CreateSecret(SecretSpec body) { return(await _client.Secrets.CreateAsync(body)); }