Beispiel #1
0
        public async Task TagFileSubmitter_TRex_Successful()
        {
            var projectUid = Guid.NewGuid();
            var resolvedLegacyProjectId = 544;
            var tagFileContent          = new byte[] { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9 };
            var request = CompactionTagFileRequestExtended.CreateCompactionTagFileRequestExtended
                          (
                new CompactionTagFileRequest
            {
                ProjectId  = resolvedLegacyProjectId,
                ProjectUid = projectUid,
                FileName   = "Machine Name--whatever --161230235959",
                Data       = tagFileContent,
                OrgId      = string.Empty
            },
                CreateAFence()
                          );

            // create the Trex mocks with successful result
            var mockConfigStore      = new Mock <IConfigurationStore>();
            var trexGatewayResult    = new ContractExecutionResult();
            var mockTRexTagFileProxy = new Mock <ITRexTagFileProxy>();

            mockTRexTagFileProxy.Setup(s => s.SendTagFile(request, It.IsAny <IHeaderDictionary>()))
            .ReturnsAsync(trexGatewayResult);

            var submitter = RequestExecutorContainerFactory
                            .Build <TagFileSubmissionExecutor>(_logger,
                                                               mockConfigStore.Object, tRexTagFileProxy: mockTRexTagFileProxy.Object, customHeaders: _customHeaders);

            var result = await submitter.ProcessAsync(request);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Message == ContractExecutionResult.DefaultMessage);
        }
Beispiel #2
0
        public async Task <IActionResult> PostTagFileManualImport([FromBody] CompactionTagFileRequest request)
        {
            var serializedRequest = JsonUtilities.SerializeObjectIgnoringProperties(request, "Data");

            _log.LogDebug($"{nameof(PostTagFileManualImport)}: request {serializedRequest}");

            await ValidateRequest(request.ProjectUid);

            //Now submit tag file to TRex
            var requestExt = CompactionTagFileRequestExtended.CreateCompactionTagFileRequestExtended(request, null);

            var responseObj = await RequestExecutorContainerFactory
                              .Build <TagFileSubmissionExecutor>(_logger,
                                                                 _configStore, tRexTagFileProxy : _tRexTagFileProxy, customHeaders : CustomHeaders).ProcessAsync(requestExt);

            return(responseObj.Code == 0
        ? (IActionResult)Ok(responseObj)
        : BadRequest(responseObj));
        }