public void ProjectRebuildRequestValidation_Errors(string projectUid, bool archiveTagFiles, TransferProxyType dataOrigin, int expectedCode, string expectedMessage) { var request = new ProjectRebuildRequest(Guid.Parse(projectUid), dataOrigin, archiveTagFiles); var ex = Assert.Throws <ServiceException>(() => request.Validate()); ex.GetResult.Code.Should().Be(expectedCode); ex.GetResult.Message.Should().Match(expectedMessage); }
public ContractExecutionResult RebuildProject([FromBody] ProjectRebuildRequest rebuildRequest) { Log.LogInformation($"{nameof(RebuildProject)}: {JsonConvert.SerializeObject(rebuildRequest)}"); rebuildRequest.Validate(); GatewayHelper.ValidateAndGetSiteModel(nameof(RebuildProject), rebuildRequest.ProjectUid, true); if (rebuildRequest.DataOrigin == TransferProxyType.TAGFiles) { return(WithServiceExceptionTryExecute(() => RequestExecutorContainer .Build <ProjectRebuildExecutor>(ConfigStore, LoggerFactory, ServiceExceptionHandler) .Process(rebuildRequest))); } throw new ServiceException(HttpStatusCode.BadRequest, new ContractExecutionResult(ContractExecutionStatesEnum.ValidationError, "Data origin must be ''TAGFiles'' (enum TransferProxyType.TAGFiles)")); }
public void ProjectRebuildRequestValidation_HappyPath(string projectUid, bool archiveTagFiles, TransferProxyType dataOrigin) { var request = new ProjectRebuildRequest(Guid.Parse(projectUid), dataOrigin, archiveTagFiles); request.Validate(); }