public void Creation() { var filter = new FilterSet(new CombinedFilter()); var request = new QMTileExecutor(Guid.NewGuid(), filter, 0, 0, 0, DisplayMode, false, Guid.NewGuid()); request.Should().NotBeNull(); }
public async Task Execute_FailWithNoSiteModel() { var filter = new FilterSet(new CombinedFilter()); var request = new QMTileExecutor(new Guid(), filter, 0, 0, 19, 0, false, Guid.NewGuid()); var result = await request.ExecuteAsync(); result.Should().BeFalse(); }
public async void Execute_ValidProductionTile_Expected() { AddClusterComputeGridRouting(); SetupTest(); var request = new QMTileExecutor(siteModel.ID, filter, 47317, 12155, 17, DisplayMode, false, Guid.NewGuid()); await request.ExecuteAsync(); request.ResultStatus.Should().Be(RequestErrorStatus.OK); var QMTileResponse = request.QMTileResponse; QMTileResponse.data.Should().HaveCountGreaterOrEqualTo(1000); }
public async void Execute_RootTile_Expected() { AddClusterComputeGridRouting(); SetupTest(); var request = new QMTileExecutor(siteModel.ID, filter, 0, 1, 0, DisplayMode, false, Guid.NewGuid()); await request.ExecuteAsync(); request.ResultStatus.Should().NotBe(RequestErrorStatus.Unknown); var QMTileResponse = request.QMTileResponse; QMTileResponse.data.Should().HaveCount(845); // Should return a root tile }
public async void Execute_TooFarOut_EmptyTile_Expected() { AddClusterComputeGridRouting(); SetupTest(); var request = new QMTileExecutor(siteModel.ID, filter, 0, 1, 10, DisplayMode, false, Guid.NewGuid()); await request.ExecuteAsync(); request.ResultStatus.Should().NotBe(RequestErrorStatus.Unknown); var QMTileResponse = request.QMTileResponse; QMTileResponse.data.Should().HaveCountGreaterOrEqualTo(172); QMTileResponse.data.Should().HaveCountLessOrEqualTo(176); }
public async void Execute_FailPipeLineSetup_EmptyTile_Expected() { AddClusterComputeGridRouting(); SetupTest(); // Missing coordinate system var request = new QMTileExecutor(siteModel.ID, filter, 47317, 12155, 17, 0, false, Guid.NewGuid()); await request.ExecuteAsync(); request.ResultStatus.Should().Be(RequestErrorStatus.OK); // Empty tile expected var QMTileResponse = request.QMTileResponse; QMTileResponse.data.Should().HaveCountGreaterOrEqualTo(172); QMTileResponse.data.Should().HaveCountLessOrEqualTo(176); }
public async void Execute_EmptySiteModel_ReturnEmptyTile() { var siteModel = DITAGFileAndSubGridRequestsWithIgniteFixture.NewEmptyModel(); var filter = new FilterSet(new CombinedFilter()); var request = new QMTileExecutor(siteModel.ID, filter, 0, 0, 19, DisplayMode, false, Guid.NewGuid()); await request.ExecuteAsync(); request.ResultStatus.Should().NotBe(RequestErrorStatus.Unknown); var QMTileResponse = request.QMTileResponse; //QMTileResponse.data.Should().HaveCount(164); // Should return an empty tile // Todo why OS makes a difference for this test QMTileResponse.data.Should().HaveCountGreaterOrEqualTo(162); QMTileResponse.data.Should().HaveCountLessOrEqualTo(164); }
/// <summary> /// Quantized Mesh Response. /// </summary> public QuantizedMeshResponse Invoke(QuantizedMeshRequestArgument arg) { _log.LogInformation("In QuantizedMeshRequestComputeFunc.Invoke()"); try { // Quantized mesh requests can be a significant resource commitment. Ensure TPaaS will be listening... PerformTPaaSRequestLivelinessCheck(arg); // Supply the TRex ID of the Ignite node currently running this code to permit processing contexts to send // subgrid results to it. arg.TRexNodeID = TRexNodeID.ThisNodeID(StorageMutability.Immutable); _log.LogDebug($"Assigned TRexNodeId from local node is {arg.TRexNodeID}"); var request = new QMTileExecutor(arg.ProjectID, arg.Filters, arg.X, arg.Y, arg.Z, arg.DisplayMode, arg.HasLighting, arg.TRexNodeID); _log.LogInformation("Executing request.Execute()"); if (!request.ExecuteAsync().WaitAndUnwrapException()) { _log.LogError("Request execution failed"); } return(request.QMTileResponse); } catch (Exception e) { _log.LogError(e, "Exception requesting quantized mesh"); return(new QuantizedMeshResponse { ResultStatus = Types.RequestErrorStatus.Exception }); } finally { _log.LogDebug("Exiting QuantizedMeshRequestComputeFunc.Invoke()"); } }