public void CompactionCellDatumExecutorNoResult() { var request = new CellDatumRequest(0, null, DisplayMode.CompactionCoverage, null, null, null, null, null); TCellProductionData data = new TCellProductionData(); var raptorClient = new Mock <IASNodeClient>(); var configStore = new Mock <IConfigurationStore>(); raptorClient.Setup(x => x.GetCellProductionData( request.ProjectId.Value, (int)RaptorConverters.convertDisplayMode(request.DisplayMode), request.GridPoint != null ? request.GridPoint.x : 0.0, request.GridPoint != null ? request.GridPoint.y : 0.0, It.IsAny <TWGS84Point>(), request.LLPoint == null, It.IsAny <TICFilterSettings>(), It.IsAny <TICLiftBuildSettings>(), It.IsAny <TVLPDDesignDescriptor>(), out data)) .Returns(false); var executor = RequestExecutorContainerFactory .Build <CompactionCellDatumExecutor>(logger, raptorClient.Object, configStore: configStore.Object); Assert.ThrowsExceptionAsync <ServiceException>(async() => await executor.ProcessAsync(request)); }
public void CompactionCellDatumExecutorSuccessNoNECoordinates() { var request = new CellDatumRequest(0, null, DisplayMode.CCV, new WGSPoint(0.84, -1.75), null, null, null, null); TCellProductionData data = new TCellProductionData { DisplayMode = (int)request.DisplayMode, Value = 500, ReturnCode = 0 }; var raptorClient = new Mock <IASNodeClient>(); var configStore = new Mock <IConfigurationStore>(); raptorClient.Setup(x => x.GetCellProductionData( request.ProjectId.Value, (int)RaptorConverters.convertDisplayMode(request.DisplayMode), request.GridPoint != null ? request.GridPoint.x : 0.0, request.GridPoint != null ? request.GridPoint.y : 0.0, It.IsAny <TWGS84Point>(), request.LLPoint == null, It.IsAny <TICFilterSettings>(), It.IsAny <TICLiftBuildSettings>(), It.IsAny <TVLPDDesignDescriptor>(), out data)) .Returns(true); var executor = RequestExecutorContainerFactory .Build <CompactionCellDatumExecutor>(logger, raptorClient.Object, configStore: configStore.Object); Assert.ThrowsExceptionAsync <ServiceException>(async() => await executor.ProcessAsync(request), "On Cell Datum request. Failed to process coordinate conversion request."); }
public async Task CompactionCellDatumExecutor_TRex_NoCoords() { var expectedResult = new CompactionCellDatumResult(DisplayMode.Height, CellDatumReturnCode.ValueFound, 5.23, DateTime.UtcNow.AddHours(-4.5), 12345, 9876); var tRexProxy = new Mock <ITRexCompactionDataProxy>(); tRexProxy.Setup(x => x.SendDataPostRequest <CompactionCellDatumResult, CellDatumTRexRequest>( It.IsAny <CellDatumTRexRequest>(), It.IsAny <string>(), It.IsAny <IDictionary <string, string> >(), false)) .ReturnsAsync(expectedResult); var configStore = new Mock <IConfigurationStore>(); configStore.Setup(x => x.GetValueBool("ENABLE_TREX_GATEWAY_CELL_DATUM")).Returns(true); var executor = RequestExecutorContainerFactory .Build <CompactionCellDatumExecutor>(logger, configStore: configStore.Object, trexCompactionDataProxy: tRexProxy.Object); var request = new CellDatumRequest(0, Guid.NewGuid(), expectedResult.displayMode, null, new Point(expectedResult.northing, expectedResult.easting), null, null, null); var ex = await Assert.ThrowsExceptionAsync <ServiceException>(async() => await executor.ProcessAsync(request)); Assert.AreEqual(HttpStatusCode.BadRequest, ex.Code); Assert.AreEqual("No WGS84 coordinates provided", ex.GetResult.Message); }
public async Task CompactionCellDatumExecutor_TRex_Success() { var expectedResult = new CompactionCellDatumResult(DisplayMode.Height, CellDatumReturnCode.ValueFound, 5.23, DateTime.UtcNow.AddHours(-4.5), 12345, 9876); var tRexProxy = new Mock <ITRexCompactionDataProxy>(); tRexProxy.Setup(x => x.SendDataPostRequest <CompactionCellDatumResult, CellDatumTRexRequest>( It.IsAny <CellDatumTRexRequest>(), It.IsAny <string>(), It.IsAny <IDictionary <string, string> >(), false)) .ReturnsAsync(expectedResult); var configStore = new Mock <IConfigurationStore>(); configStore.Setup(x => x.GetValueBool("ENABLE_TREX_GATEWAY_CELL_DATUM")).Returns(true); var executor = RequestExecutorContainerFactory .Build <CompactionCellDatumExecutor>(logger, configStore: configStore.Object, trexCompactionDataProxy: tRexProxy.Object); var request = new CellDatumRequest(0, Guid.NewGuid(), expectedResult.displayMode, new WGSPoint(123.456, 678.987), null, null, null, null); var result = await executor.ProcessAsync(request) as CompactionCellDatumResult; Assert.AreEqual(expectedResult.displayMode, result.displayMode, "Wrong displayMode"); Assert.AreEqual(expectedResult.returnCode, result.returnCode, "Wrong returnCode"); Assert.AreEqual(expectedResult.value, result.value, "Wrong value"); Assert.AreEqual(expectedResult.timestamp, result.timestamp, "Wrong timestamp"); Assert.AreEqual(expectedResult.northing, result.northing, "Wrong northing"); Assert.AreEqual(expectedResult.easting, result.easting, "Wrong easting"); }
protected virtual async Task <CellDatumResult> GetTRexCellDatumData(CellDatumRequest request) { var trexRequest = new CellDatumTRexRequest(request.ProjectUid.Value, request.DisplayMode, request.LLPoint, request.GridPoint, request.Filter, request.Design?.FileUid, request.Design?.Offset, AutoMapperUtility.Automapper.Map <OverridingTargets>(request.LiftBuildSettings), AutoMapperUtility.Automapper.Map <LiftSettings>(request.LiftBuildSettings)); return(await trexCompactionDataProxy.SendDataPostRequest <CompactionCellDatumResult, CellDatumTRexRequest>(trexRequest, "/cells/datum", customHeaders)); }
public async Task <CellDatumResult> PostCellDatumTbc([FromBody] CellDatumRequest request) { request.Validate(); return(await RequestExecutorContainerFactory.Build <CellDatumExecutor>( LoggerFactory, configStore : ConfigStore, trexCompactionDataProxy : TRexCompactionDataProxy, fileImportProxy : FileImportProxy, customHeaders : CustomHeaders, userId : GetUserId() ).ProcessAsync(request) as CellDatumResult); }
protected override bool GetCellDatumData(CellDatumRequest request, out TCellProductionData data) { CheckForCoordinate(request.LLPoint); var pointList = GetGridCoordinates(request.ProjectId ?? VelociraptorConstants.NO_PROJECT_ID, request.LLPoint); _northing = pointList.Points.Coords[0].Y; _easting = pointList.Points.Coords[0].X; return(base.GetCellDatumData(request, out data)); }
protected virtual bool GetCellDatumData(CellDatumRequest request, out TCellProductionData data) { var raptorFilter = RaptorConverters.ConvertFilter(request.Filter, request.ProjectId, raptorClient); return(raptorClient.GetCellProductionData (request.ProjectId ?? VelociraptorConstants.NO_PROJECT_ID, (int)RaptorConverters.convertDisplayMode(request.DisplayMode), request.GridPoint?.x ?? 0, request.GridPoint?.y ?? 0, request.LLPoint != null ? RaptorConverters.ConvertWGSPoint(request.LLPoint) : new TWGS84Point(), request.LLPoint == null, raptorFilter, RaptorConverters.ConvertLift(request.LiftBuildSettings, raptorFilter.LayerMethod), RaptorConverters.DesignDescriptor(request.Design), out data)); }
public async Task <CompactionCellDatumResult> GetProductionDataCellsDatum( [FromQuery] Guid projectUid, [FromQuery] Guid?filterUid, [FromQuery] Guid?cutfillDesignUid, [FromQuery] DisplayMode displayMode, [FromQuery] double lat, [FromQuery] double lon) { Log.LogInformation("GetProductionDataCellsDatum: " + Request.QueryString); var projectId = ((RaptorPrincipal)User).GetLegacyProjectId(projectUid); var filter = GetCompactionFilter(projectUid, filterUid, filterMustExist: true); var projectSettings = GetProjectSettingsTargets(projectUid); var cutFillDesign = GetAndValidateDesignDescriptor(projectUid, cutfillDesignUid); await Task.WhenAll(projectId, filter, projectSettings, cutFillDesign); var liftSettings = SettingsManager.CompactionLiftBuildSettings(projectSettings.Result); var request = new CellDatumRequest( projectId.Result, projectUid, displayMode, new WGSPoint(lat.LatDegreesToRadians(), lon.LonDegreesToRadians()), null, filter.Result, liftSettings, cutFillDesign.Result); request.Validate(); return(await RequestExecutorContainerFactory.Build <CompactionCellDatumExecutor>(LoggerFactory, #if RAPTOR RaptorClient, #endif configStore : ConfigStore, trexCompactionDataProxy : TRexCompactionDataProxy, customHeaders : CustomHeaders, userId : GetUserId(), fileImportProxy : FileImportProxy).ProcessAsync(request) as CompactionCellDatumResult); }
protected override async Task <CellDatumResult> GetTRexCellDatumData(CellDatumRequest request) { CheckForCoordinate(request.LLPoint); return(await base.GetTRexCellDatumData(request)); }