public async Task CanRunDxfJobSuccess(bool enableDxfTileGeneration) { var request = new DxfTileGenerationRequest { CustomerUid = Guid.NewGuid(), ProjectUid = Guid.NewGuid(), ImportedFileUid = Guid.NewGuid(), DataOceanRootFolder = "some folder", FileName = "a dxf file", DcFileName = "a dc file", DxfUnitsType = DxfUnitsType.Meters }; var obj = JObject.Parse(JsonConvert.SerializeObject(request)); var configStore = new Mock <IConfigurationStore>(); configStore.Setup(x => x.GetValueBool("SCHEDULER_ENABLE_DXF_TILE_GENERATION")) .Returns(enableDxfTileGeneration); var mockPegasus = new Mock <IPegasusClient>(); mockPegasus.Setup(x => x.GenerateDxfTiles( It.IsAny <string>(), It.IsAny <string>(), DxfUnitsType.Meters, It.IsAny <IHeaderDictionary>(), It.IsAny <Action <IHeaderDictionary> >())) .ReturnsAsync(new TileMetadata()); var mockNotification = new Mock <INotificationHubClient>(); mockNotification.Setup(n => n.Notify(It.IsAny <ProjectFileRasterTilesGeneratedNotification>())) .Returns(Task.FromResult(default(object))); var mockTPaaSAuth = new Mock <ITPaaSApplicationAuthentication>(); mockTPaaSAuth.Setup(t => t.GetApplicationBearerToken()) .Returns("this is a dummy bearer token"); var job = new DxfTileGenerationJob(configStore.Object, mockPegasus.Object, mockTPaaSAuth.Object, mockNotification.Object, loggerFactory); await job.Run(obj, null); var runTimes = enableDxfTileGeneration ? Times.Once() : Times.Never(); // Verify based on the value of SCHEDULER_ENABLE_DXF_TILE_GENERATION the execution of GenerateDxfTiles(). mockPegasus.Verify(x => x.GenerateDxfTiles( It.IsAny <string>(), It.IsAny <string>(), DxfUnitsType.Meters, It.IsAny <IHeaderDictionary>(), It.IsAny <Action <IHeaderDictionary> >()), runTimes); }
/// <summary> /// Creates a job request for generating raster tiles /// </summary> public static JobRequest CreateRequest(ImportedFileType importedFileType, string customerUid, string projectUid, string importedFileUid, string dataOceanRootFolder, string fileName, string dcFileName = null, DxfUnitsType dxfUnitsType = DxfUnitsType.Meters, DateTime?surveyedUtc = null) { TileGenerationRequest runParams; Guid jobUid; switch (importedFileType) { case ImportedFileType.GeoTiff: runParams = new TileGenerationRequest(); jobUid = GeoTiffTileGenerationJob.VSSJOB_UID; break; case ImportedFileType.Linework: runParams = new DxfTileGenerationRequest { DcFileName = dcFileName, DxfUnitsType = dxfUnitsType }; jobUid = DxfTileGenerationJob.VSSJOB_UID; break; default: throw new NotImplementedException(); } runParams.CustomerUid = Guid.Parse(customerUid); runParams.ProjectUid = Guid.Parse(projectUid); runParams.ImportedFileUid = Guid.Parse(importedFileUid); runParams.DataOceanRootFolder = dataOceanRootFolder; runParams.FileName = fileName; return(new JobRequest { JobUid = jobUid, RunParameters = runParams }); }