/// <inheritdoc/> public Domain.Entities.Application GetApplication(string clientId) { if (clientId == null || clientId == string.Empty) { throw new ArgumentNullException(nameof(clientId)); } var application = _applicationRepository.FindByClientId(clientId); if (application == null || application.Status != ApplicationStatus.NORMAL.ToString()) { return(null); } var result = new Domain.Entities.Application { ApplicationId = application.ApplicationId, ClientId = application.ClientId, ClientSecret = application.ClientSecret, Name = application.Name, Description = application.Description, Roles = JsonUtil.Deserialize <List <string> >(application.Roles), Scopes = JsonUtil.Deserialize <List <string> >(application.Scopes), GrantTypes = JsonUtil.Deserialize <List <string> >(application.GrantTypes), RedirectUris = JsonUtil.Deserialize <List <string> >(application.RedirectUris), PostLogoutRedirectUris = JsonUtil.Deserialize <List <string> >(application.PostLogoutRedirectUris), Status = (ApplicationStatus)Enum.Parse(typeof(ApplicationStatus), application.Status), CreateTime = application.CreateTime, UpdateTime = application.UpdateTime, }; return(result); }
CreateEnvironmentCommandHandler_Handle_ShouldThrowExceptionIfEnvironmentAlreadyExistsInApplication() { var applicationId = Guid.Parse("346AD95F-3B37-453A-B6E1-07F625BCB0CC"); var createEnvironment = new CreateEnvironmentDto { ApplicationId = applicationId, Name = "Prod", Description = "Description" }; var application = new Domain.Entities.Application { Id = applicationId, Name = "Application", }; Context.Applications.Add(application); Context.Environments.Add(new Domain.Entities.Environment { Id = Guid.NewGuid(), Application = application, ApplicationId = applicationId, Name = "Prod", IsActive = true }); await Context.SaveChangesAsync(); var command = new CreateEnvironmentCommand(createEnvironment); await Assert.ThrowsAsync <RecordAlreadyExistsException>(() => _createEnvironmentsCommandHandler.Handle(command, CancellationToken.None)); }
CreateEnvironmentCommandHandler_Handle_ShouldAddNewEnvironmentInApplication() { var applicationId = Guid.Parse("346AD95F-3B37-453A-B6E1-07F625BCB0CC"); var createEnvironment = new CreateEnvironmentDto { ApplicationId = applicationId, Name = "Development", Description = "Description" }; var application = new Domain.Entities.Application { Id = applicationId, Name = "Application", }; Context.Applications.Add(application); Context.Environments.Add(new Domain.Entities.Environment { Id = Guid.NewGuid(), ApplicationId = applicationId, Name = "Prod", IsActive = true }); await Context.SaveChangesAsync(); var command = new CreateEnvironmentCommand(createEnvironment); await _createEnvironmentsCommandHandler.Handle(command, CancellationToken.None); var actualEnvironmentCount = await Context.Environments.Where(env => env.ApplicationId == applicationId) ?.CountAsync(CancellationToken.None); Assert.Equal(2, actualEnvironmentCount); }
private void Validate(Domain.Entities.Application entity) { if (entity == null) { throw new DeleteFailedException("Record not found."); } if (entity.Environments.Any()) { throw new DeleteFailedException($"Application has {entity.Environments.Count} environment"); } }
public async Task UpdateEnvironmentCommandHandler_Handle_ShouldUpdateTheEnvironmentById() { var applicationId = Guid.NewGuid(); var application = new Domain.Entities.Application { Id = applicationId, Name = "App" }; Context.Applications.Add(application); var env = new Domain.Entities.Environment { Name = "Prod", ApplicationId = applicationId, Id = Guid.Parse("8B20CDFD-204C-4610-8E6F-B3861457152E") }; Context.Environments.Add(env); env = new Domain.Entities.Environment { Name = "Dev", ApplicationId = applicationId, Id = Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3") }; Context.Environments.Add(env); await Context.SaveChangesAsync(CancellationToken.None); var command = new UpdateEnvironmentCommand(new UpdateEnvironmentDto { ApplicationId = applicationId, Name = "Local", Id = Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3"), IsActive = true }); await _updateEnvironmentCommandHandler.Handle(command, CancellationToken.None); var actualEnvironmentEntity = Context.Environments.FirstOrDefault(e => e.Id == Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3")); Assert.Equal("Local", actualEnvironmentEntity?.Name); }
public async Task UpdateEnvironmentCommandHandler_Handle_ShouldThrowExceptionIfRecordNotFound() { var applicationId = Guid.NewGuid(); var application = new Domain.Entities.Application { Id = applicationId, Name = "App" }; Context.Applications.Add(application); var env = new Domain.Entities.Environment { Name = "Prod", ApplicationId = applicationId, Id = Guid.Parse("8B20CDFD-204C-4610-8E6F-B3861457152E") }; Context.Environments.Add(env); env = new Domain.Entities.Environment { Name = "Dev", ApplicationId = applicationId, Id = Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3") }; Context.Environments.Add(env); await Context.SaveChangesAsync(CancellationToken.None); var command = new UpdateEnvironmentCommand(new UpdateEnvironmentDto { ApplicationId = applicationId, Name = "Local", Id = Guid.Parse("4843AC32-47F9-464F-9A2C-8716AD22F9D3") }); await Assert.ThrowsAsync <NotFoundException>(() => _updateEnvironmentCommandHandler.Handle(command, CancellationToken.None)); }
UpdateEnvironmentCommandHandler_Handle_ShouldThrowExceptionIfEnvironmentNameAlreadyExistsInApplication() { var applicationId = Guid.NewGuid(); var application = new Domain.Entities.Application { Id = applicationId, Name = "App" }; Context.Applications.Add(application); var env = new Domain.Entities.Environment { Name = "Prod", ApplicationId = applicationId, Id = Guid.Parse("8B20CDFD-204C-4610-8E6F-B3861457152E") }; Context.Environments.Add(env); env = new Domain.Entities.Environment { Name = "Dev", ApplicationId = applicationId, Id = Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3") }; Context.Environments.Add(env); await Context.SaveChangesAsync(CancellationToken.None); var command = new UpdateEnvironmentCommand(new UpdateEnvironmentDto { ApplicationId = applicationId, Name = "Prod", Id = Guid.Parse("65A0F7EB-A040-42ED-800A-4F853B2A94F3") }); await Assert.ThrowsAsync <RecordAlreadyExistsException>(() => _updateEnvironmentCommandHandler.Handle(command, CancellationToken.None)); }
public Task CreateApplicationReviewAsync(Domain.Entities.Application application) { return(_messaging.SendCommandAsync(new CreateApplicationReviewCommand { Application = application })); }
public static DataContracts.Application ToContract(this Domain.Entities.Application source) => ToContract <Domain.Entities.Application, DataContracts.Application>(CurrentMapper, source);