public async Task add_response_ok_and_use_default_validTo_if_is_not_specified() { var permission = Builders.Permission() .WithAllPrivilegesForDefaultIdentity() .Build(); await _fixture.Given .AddPermission(permission); var addApiKeyRequest = new AddApiKeyRequest() { Name = "name" }; var response = await _fixture.TestServer .CreateRequest(ApiDefinitions.V1.ApiKeys.Add()) .WithIdentity(Builders.Identity().WithDefaultClaims().Build()) .PostAsJsonAsync(addApiKeyRequest); response.StatusCode .Should() .Be(StatusCodes.Status201Created); var content = await response.Content .ReadAs<AddApiKeyResponse>(); content.ApiKeyId .Should() .NotBe(default);
public async Task add_response_badrequest_if_apikey_with_the_same_name_already_exist() { var apiKey1 = Builders.ApiKey() .WithName("apikey#1") .Withkey("key-1") .Build(); var apiKey2 = Builders.ApiKey() .WithName("apikey#2") .Withkey("key-2") .Build(); await _fixture.Given .AddApiKey(apiKey1, apiKey2); var addApiKeyRequest = new AddApiKeyRequest() { Name = "apikey#1", Description = "description", }; var response = await _fixture.TestServer .CreateRequest(ApiDefinitions.V1.ApiKeys.Add()) .WithIdentity(Builders.Identity().WithDefaultClaims().Build()) .PostAsJsonAsync(addApiKeyRequest); response.StatusCode .Should() .Be(StatusCodes.Status400BadRequest); }
public async Task add_response_forbidden_when_user_is_not_authorized() { var permission = Builders.Permission() .WithAllPrivilegesForDefaultIdentity() .WithManagementPermission(false) .Build(); await _fixture.Given .AddPermission(permission); var addApiKeyRequest = new AddApiKeyRequest() { Name = "apikey#1", ValidTo = DateTime.UtcNow.AddYears(2), }; var response = await _fixture.TestServer .CreateRequest(ApiDefinitions.V1.ApiKeys.Add()) .WithIdentity(Builders.Identity().WithDefaultClaims().Build()) .PostAsJsonAsync(addApiKeyRequest); response.StatusCode .Should() .Be(StatusCodes.Status403Forbidden); }
public async Task add_response_ok_and_use_default_validTo_if_is_not_specified() { var permission = Builders.Permission() .WithManagementPermission() .Build(); await _fixture.Given .AddPermission(permission); var addApiKeyRequest = new AddApiKeyRequest() { Name = "fooname", ActAs = nameof(ApplicationRole.Reader) }; var response = await _fixture.TestServer .CreateRequest(ApiDefinitions.V3.ApiKeys.Add()) .WithIdentity(Builders.Identity().WithDefaultClaims().Build()) .PostAsJsonAsync(addApiKeyRequest); response.StatusCode .Should() .Be(StatusCodes.Status201Created); var content = await response.Content .ReadAs <AddApiKeyResponse>(); content.Name .Should() .Be(addApiKeyRequest.Name); content.Key .Should() .NotBe(default);
public async Task add_response_badrequest_if_name_is_greater_than_200() { var addApiKeyRequest = new AddApiKeyRequest() { Name = new string('c', 201) }; var response = await _fixture.TestServer .CreateRequest(ApiDefinitions.V1.ApiKeys.Add()) .WithIdentity(Builders.Identity().WithDefaultClaims().Build()) .PostAsJsonAsync(addApiKeyRequest); response.StatusCode .Should() .Be(StatusCodes.Status400BadRequest); }
public async Task add_response_created_when_create_new_apikey() { var addApiKeyRequest = new AddApiKeyRequest() { Name = "apikey#1", Description = "description", }; var response = await _fixture.TestServer .CreateRequest(ApiDefinitions.V1.ApiKeys.Add()) .WithIdentity(Builders.Identity().WithDefaultClaims().Build()) .PostAsJsonAsync(addApiKeyRequest); response.StatusCode .Should() .Be(StatusCodes.Status201Created); }
public async Task add_response_badrequest_if_actas_is_not_enum_valid() { var permission = Builders.Permission() .WithManagementPermission() .Build(); await _fixture.Given .AddPermission(permission); var addApiKeyRequest = new AddApiKeyRequest() { Name = new string('c', 100), ActAs = "NewRole" }; var response = await _fixture.TestServer .CreateRequest(ApiDefinitions.V3.ApiKeys.Add()) .WithIdentity(Builders.Identity().WithDefaultClaims().Build()) .PostAsJsonAsync(addApiKeyRequest); response.StatusCode .Should() .Be(StatusCodes.Status400BadRequest); }
public async Task add_response_badrequest_if_name_is_greater_than_200() { var permission = Builders.Permission() .WithManagementPermission() .Build(); await _fixture.Given .AddPermission(permission); var addApiKeyRequest = new AddApiKeyRequest() { Name = new string('c', 201), ActAs = nameof(ApplicationRole.Reader) }; var response = await _fixture.TestServer .CreateRequest(ApiDefinitions.V3.ApiKeys.Add()) .WithIdentity(Builders.Identity().WithDefaultClaims().Build()) .PostAsJsonAsync(addApiKeyRequest); response.StatusCode .Should() .Be(StatusCodes.Status400BadRequest); }
public async Task <ActionResult <AddApiKeyResponse> > Add(AddApiKeyRequest request, CancellationToken cancellationToken = default) { var response = await _mediator.Send(request, cancellationToken); return(Created($"api/apikeys/{request.Name}?api-version=3.0", response)); }
public async Task <AddApiKeyResponse> AddApiKeyAsync(AddApiKeyRequest addApiKeyRequest) { return(await _onenetClient.ExecuteAsync <AddApiKeyResponse>(addApiKeyRequest)); }
public async Task <IActionResult> Add(AddApiKeyRequest request, CancellationToken cancellationToken = default) { var id = await _mediator.Send(request, cancellationToken); return(Created($"api/v1/apikeys/{id}", null)); }