public async Task Get_ClientId_ReturnsClient_IfFound() { var client = new ConfigurationClient { ClientId = clientId, Name = "Test Client", Description = "Description", Enviroment = "Dev", Group = groupId }; client.Settings.Add("Password", new ConfigurationClientSetting { Key = "Password", Value = "1234" }); configurationClientService.Setup(cs => cs.GetClientOrDefault(clientId)) .ReturnsAsync(() => client); var context = TestHttpContextBuilder.CreateForPath($"/{clientId}") .WithClaims(readClaim).TestContext; ConfigurationClientPayload observed = null; factory.Setup(f => f.BuildJsonResponse(context, It.IsAny <ConfigurationClientPayload>())) .Callback((HttpContext c, object arg2) => observed = (ConfigurationClientPayload)arg2) .Returns(() => Task.FromResult(1)); await target.Handle(context, options); Assert.NotNull(observed); AssertClient(observed, client); }
private void AssertClient(ConfigurationClientPayload payload, ConfigurationClient client) { Assert.Equal(payload.ClientId, client.ClientId); Assert.Equal(payload.Name, client.Name); Assert.Equal(payload.Description, client.Description); Assert.Equal(payload.Enviroment, client.Enviroment); Assert.Equal(payload.Group, client.Group); Assert.Equal(payload.Settings.Select(s => s.Key), client.Settings.Values.Select(s => s.Key)); Assert.Equal(payload.Settings.Select(s => s.Value), client.Settings.Values.Select(s => s.Value)); }
public async Task Post_CallsCommandBus() { var client = new ConfigurationClientPayload { ClientId = clientId, }; var context = TestHttpContextBuilder.CreateForPath("/") .WithClaims(writeClaim) .WithPost() .WithJsonBody(client) .TestContext; await target.Handle(context, options); commandBus.Verify(f => f.SubmitAsync(It.Is <CreateUpdateClientCommand>(c => c.Client.ClientId == client.ClientId))); }
public async Task Post_403_IfDoesNotHaveWriteClaim() { var client = new ConfigurationClientPayload { ClientId = clientId, }; var commandResult = CommandResult.Success(); var context = TestHttpContextBuilder.CreateForPath("/") .WithClaims(readClaim) .WithPost() .WithJsonBody(client) .TestContext; await target.Handle(context, options); commandBus.Verify(c => c.SubmitAsync(It.IsAny <CreateUpdateClientCommand>()), Times.Never); factory.Verify(f => f.BuildStatusResponse(context, 403)); }
public async Task Post_BuildsResponseFromCommandResult() { var client = new ConfigurationClientPayload { ClientId = clientId, }; var commandResult = CommandResult.Success(); var context = TestHttpContextBuilder.CreateForPath("/") .WithClaims(writeClaim) .WithPost() .WithJsonBody(client) .TestContext; commandBus.Setup(c => c.SubmitAsync(It.IsAny <CreateUpdateClientCommand>())) .ReturnsAsync(() => commandResult); await target.Handle(context, options); factory.Verify(f => f.BuildResponseFromCommandResult(context, commandResult)); }
public async Task Get_ClientId_ReturnsClient_IfFoundAndHasAdminClaimButNoConfiguratorClaim() { var client = new ConfigurationClient { ClientId = clientId, ConfiguratorClaim = "RequiredClaim", }; configurationClientService.Setup(cs => cs.GetClientOrDefault(clientId)) .ReturnsAsync(() => client); var context = TestHttpContextBuilder.CreateForPath($"/{clientId}") .WithClaims(writeClaim).TestContext; ConfigurationClientPayload observed = null; factory.Setup(f => f.BuildJsonResponse(context, It.IsAny <ConfigurationClientPayload>())) .Callback((HttpContext c, object arg2) => observed = (ConfigurationClientPayload)arg2) .Returns(() => Task.FromResult(1)); await target.Handle(context, options); Assert.NotNull(observed); }