private void MessageConsumer_BuildReceived(object sender, BasicDeliverEventArgs evn) { _logger.LogInformation("message build received"); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Received Build message"); var message = Encoding.UTF8.GetString(evn.Body); var projectForBuild = JsonConvert.DeserializeObject <ProjectForBuildDTO>(message); var projectName = $"project_{projectForBuild.ProjectId}"; Console.WriteLine($"{projectName} = ========= {projectForBuild.TimeStamp}"); Console.WriteLine($"language ==> {projectForBuild.Language.ToString()}"); Console.ForegroundColor = ConsoleColor.White; try { var buildResult = _worker.Build(projectForBuild.UriForProjectDownload, projectName, projectForBuild.Language, out var artifactArchiveUri); var resultDTO = new BuildResultDTO() { ProjectId = projectForBuild.ProjectId, WasBuildSucceeded = buildResult.IsSuccess, UriForArtifactsDownload = artifactArchiveUri, Message = buildResult.Message, BuildId = projectForBuild.BuildId }; var jsonMessage = JsonConvert.SerializeObject(resultDTO); SendBuildMessage(jsonMessage); } catch (Exception e) { _logger.LogError(e, "Build error"); } _messageConsumerScopeBuild.MessageConsumer.SetAcknowledge(evn.DeliveryTag, true); }
public ActionResult Action(ResolutionEnum ScreenRez, Guid CPUs, Guid GPUs) { if (CPUs != null & GPUs != null) { ResolutionDTO resolution = (ResolutionDTO)ScreenRez; BuildResultDTO resultDTO = Service.Action(CPUs, GPUs, ResolutionDTO.res1080); BuildResult buildResult = Mapper.Map <BuildResultDTO, BuildResult>(resultDTO); return(PartialView(buildResult)); } return(PartialView()); }
public BuildResultDTO Action(Guid cpu, Guid gpu, ResolutionDTO resolution) { try { if (cpu != null & gpu != null) { BuildResultDTO buildResult = new BuildResultDTO { BuildGames = new List <BuildGameDTO>() }; float CPUbench = CPUs.FindById(cpu).AverageBench / 100f; float GPUbench = GPUs.FindById(gpu).AverageBench / 100f; float ScreenRezConf = (resolution == ResolutionDTO.res1080) ? 1 : ((resolution == ResolutionDTO.res1440) ? 0.75f : 0.5f); float fp = 120 * CPUbench * GPUbench * ScreenRezConf; foreach (Game game in Games.Get().ToList()) { float fps = fp / (game.AverangeRequirements / 100f); buildResult.BuildGames.Add( new BuildGameDTO { GameDTO = mapper.Map <Game, GameDTO>(game), FPS = (int)fps }); } buildResult.Build = new BuildEntityDTO { //Doubtfully CPU = mapper.Map <CPU, CPUdto>(CPUs.FindById(cpu)), GPU = mapper.Map <GPU, GPUdto>(GPUs.FindById(gpu)) }; return(buildResult); } //doubtfully return(null); } catch (Exception ex) { throw ex; return(null); //ex.Message; } }
public async Task <BuildDTO> CreateFinishBuildResult(BuildResultDTO result, DateTime finished) { var build = await _context.Builds .FirstOrDefaultAsync(item => item.Id == result.BuildId); build.BuildFinished = finished; if (result.WasBuildSucceeded) { build.BuildStatus = BuildStatus.Successfull; build.BuildMessage = string.IsNullOrWhiteSpace(result.Message) ? "Build finished successfully" : result.Message; build.UriForArtifactsDownload = result.UriForArtifactsDownload.ToString(); } else { build.BuildStatus = BuildStatus.Failed; build.BuildMessage = "Build failed with message: " + result.Message; } _context.Builds.Update(build); await _context.SaveChangesAsync(); return(_mapper.Map <BuildDTO>(build)); }
public void Mapping_MapBuildResultDTOtoBuildResult_PropertesOfEntitesSame() { //Arrange Guid guid = Guid.NewGuid(); Guid CPUguid = Guid.NewGuid(); Guid GPUguid = Guid.NewGuid(); Guid GameGuid1 = Guid.NewGuid(); Guid GameGuid2 = Guid.NewGuid(); CPUdto cpudto = new CPUdto { ProductGuid = CPUguid, AverageBench = 100, ProcessorNumber = "NameCPU" }; GPUdto gpudto = new GPUdto { ProductGuid = GPUguid, AverageBench = 101, Name = "NameGPU" }; BuildEntityDTO build = new BuildEntityDTO { BuildEntityGuid = guid, CPU = cpudto, GPU = gpudto }; GameDTO gameDTO1 = new GameDTO { GameGuid = GameGuid1, AverangeRequirements = 100, Name = "NameGame1" }; GameDTO gameDTO2 = new GameDTO { GameGuid = GameGuid2, AverangeRequirements = 50, Name = "NameGame2" }; List <BuildGameDTO> buildGameDTOs = new List <BuildGameDTO> { new BuildGameDTO { FPS = 100, GameDTO = gameDTO1 }, new BuildGameDTO { FPS = 100, GameDTO = gameDTO2 } }; BuildResultDTO resultDTO = new BuildResultDTO { Build = build, BuildGames = buildGameDTOs }; //Act var result = mapper.Map <BuildResultDTO, BuildResult>(resultDTO); //Assert Assert.IsNotNull( result.BuildGames.Find(x => x.Game.GameGuid == GameGuid1), "Game guid1 not found"); Assert.IsNotNull( result.BuildGames.Find(x => x.Game.GameGuid == GameGuid2), "Game guid2 not found"); Assert.IsNotNull( result.BuildGames.Find(x => x.Game.Name == gameDTO1.Name), "Game Name1 not found"); Assert.IsNotNull( result.BuildGames.Find(x => x.Game.Name == gameDTO2.Name), "Game Name2 not found"); Assert.IsNotNull( result.BuildGames.Find( x => x.Game.AverangeRequirements == gameDTO1.AverangeRequirements), "Game AverangeReq1 not found"); Assert.IsNotNull( result.BuildGames.Find( x => x.Game.AverangeRequirements == gameDTO2.AverangeRequirements), "Game AverangeReq2 not found"); Assert.IsNotNull(result.BuildEntity, "BuildEntity is null"); Assert.IsNotNull(result.BuildEntity.CPU, "BuildEntity CPU is null"); Assert.IsNotNull(result.BuildEntity.GPU, "BuildEntity GPU is null"); }
public void Action_OutputPartialView_RightOutput() { //Arrange ResolutionDTO resolution = ResolutionDTO.res1080; Guid guid = Guid.NewGuid(); Guid CPUguid = Guid.NewGuid(); Guid GPUguid = Guid.NewGuid(); Guid GameGuid1 = Guid.NewGuid(); Guid GameGuid2 = Guid.NewGuid(); CPUdto cpudto = new CPUdto { ProductGuid = CPUguid, AverageBench = 100, ProcessorNumber = "NameCPU" }; GPUdto gpudto = new GPUdto { ProductGuid = GPUguid, AverageBench = 101, Name = "NameGPU" }; BuildEntityDTO build = new BuildEntityDTO { BuildEntityGuid = guid, CPU = cpudto, GPU = gpudto }; GameDTO gameDTO1 = new GameDTO { GameGuid = GameGuid1, AverangeRequirements = 100, Name = "NameGame1" }; GameDTO gameDTO2 = new GameDTO { GameGuid = GameGuid2, AverangeRequirements = 50, Name = "NameGame2" }; List <BuildGameDTO> buildGameDTOs = new List <BuildGameDTO> { new BuildGameDTO { FPS = 100, GameDTO = gameDTO1 }, new BuildGameDTO { FPS = 100, GameDTO = gameDTO2 } }; BuildResultDTO resultDTO = new BuildResultDTO { Build = build, BuildGames = buildGameDTOs }; Service.Setup(x => x.Action(CPUguid, GPUguid, resolution)).Returns(resultDTO); //Act var result = Controller.Action((ResolutionEnum)resolution, CPUguid, GPUguid) as PartialViewResult; //Assert BuildResult buildResult = (BuildResult)result.Model; Assert.IsNotNull( buildResult.BuildGames.Find(x => x.Game.GameGuid == GameGuid1), "Game guid1 not found"); Assert.IsNotNull( buildResult.BuildGames.Find(x => x.Game.GameGuid == GameGuid2), "Game guid2 not found"); Assert.IsNotNull( buildResult.BuildGames.Find(x => x.Game.Name == gameDTO1.Name), "Game Name1 not found"); Assert.IsNotNull( buildResult.BuildGames.Find(x => x.Game.Name == gameDTO2.Name), "Game Name2 not found"); Assert.IsNotNull( buildResult.BuildGames.Find( x => x.Game.AverangeRequirements == gameDTO1.AverangeRequirements), "Game AverangeReq1 not found"); Assert.IsNotNull( buildResult.BuildGames.Find( x => x.Game.AverangeRequirements == gameDTO2.AverangeRequirements), "Game AverangeReq2 not found"); Assert.IsNotNull(buildResult.BuildEntity, "BuildEntity is null"); Assert.IsNotNull(buildResult.BuildEntity.CPU, "BuildEntity CPU is null"); Assert.IsNotNull(buildResult.BuildEntity.GPU, "BuildEntity GPU is null"); }