/// <summary> /// Creates or updates client group details in store /// </summary> /// <param name="clientGroup">Updated Client Group details</param> /// <returns>A task that represents the asynchronous update operation.</returns> public async Task UpdateClientGroupAsync(ConfigurationClientGroup clientGroup) { var groups = await GetClientGroupsAsync(); var clientLookup = groups.ToDictionary(k => k.GroupId); clientLookup[clientGroup.GroupId] = clientGroup; await SaveGroups(clientLookup.Values); }
public async Task Get_Group_ReturnsNotFoundIfGroupNotFound() { var group = new ConfigurationClientGroup { GroupId = groupId }; configurationClientService.Setup(s => s.GetClientGroupOrDefault(groupId)) .ReturnsAsync(() => null); var context = TestHttpContextBuilder.CreateForPath($"/{groupId}") .WithClaims(readClaim).TestContext; await target.Handle(context, options); factory.Verify(f => f.BuildNotFoundStatusResponse(context)); }
public async Task Post_Returns401IfUserNotAuthenticated() { var group = new ConfigurationClientGroup { GroupId = groupId }; var commandResult = CommandResult.Success(); var context = TestHttpContextBuilder.CreateForPath("/") .WithPost() .WithJsonBody(group) .TestContext; await target.Handle(context, options); commandBus.Verify(f => f.SubmitAsync(It.IsAny <CreateUpdateClientGroupCommand>()), Times.Never); factory.Verify(f => f.BuildStatusResponse(context, 401)); }
public async Task Post_CallsCommandBus() { var group = new ConfigurationClientGroup { GroupId = groupId }; var context = TestHttpContextBuilder.CreateForPath("/") .WithClaims(writeClaim) .WithPost() .WithJsonBody(group) .TestContext; await target.Handle(context, options); commandBus.Verify(f => f.SubmitAsync(It.Is <CreateUpdateClientGroupCommand>(c => c.ClientGroup.GroupId == group.GroupId))); }
public async Task Post_BuildsResponseFromCommandResult() { var group = new ConfigurationClientGroup { GroupId = groupId }; var commandResult = CommandResult.Success(); var context = TestHttpContextBuilder.CreateForPath("/") .WithClaims(writeClaim) .WithPost() .WithJsonBody(group) .TestContext; commandBus.Setup(f => f.SubmitAsync(It.IsAny <CreateUpdateClientGroupCommand>())) .ReturnsAsync(() => commandResult); await target.Handle(context, options); factory.Verify(f => f.BuildResponseFromCommandResult(context, commandResult)); }
/// <summary> /// Creates or updates client group details in store /// </summary> /// <param name="clientGroup">Updated Client Group details</param> /// <returns>A task that represents the asynchronous update operation.</returns> public Task UpdateClientGroupAsync(ConfigurationClientGroup clientGroup) { clientGroupStore[clientGroup.GroupId] = clientGroup; return(Task.FromResult(true)); }
public CreateUpdateClientGroupCommand(ConfigurationClientGroup clientGroup) { ClientGroup = clientGroup; }