Beispiel #1
0
        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);
        }
Beispiel #2
0
        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)"));
        }
Beispiel #3
0
        public void ProjectRebuildRequestValidation_HappyPath(string projectUid, bool archiveTagFiles, TransferProxyType dataOrigin)
        {
            var request = new ProjectRebuildRequest(Guid.Parse(projectUid), dataOrigin, archiveTagFiles);

            request.Validate();
        }