Example #1
0
 public async Task <TestRecord> GetLatestThroughputResultsForPlatform([FromBody] ThroughputRequest requestData)
 {
     return(await _context.Platforms.Where(x => x.PlatformName == requestData.PlatformName)
            .SelectMany(x => x.ThroughputTests)
            .Where(x => x.Loopback == requestData.Loopback &&
                   x.Encryption == requestData.Encryption &&
                   x.SendBuffering == requestData.SendBuffering &&
                   x.NumberOfStreams == requestData.NumberOfStreams &&
                   x.ServerToClient == requestData.ServerToClient)
            .OrderByDescending(x => x.TestDate)
            .Select(x => new TestRecord
     {
         CommitHash = x.CommitHash,
         IndividualRunResults = x.TestResults.Select(x => x.Result),
         PlatformName = requestData.PlatformName,
         TestName = "Throughput",
         ResultDate = x.TestDate,
         MachineName = _context.Machines.Where(y => y.DbMachineId == x.DbMachineId).Select(y => y.MachineName).First()
     })
            .FirstOrDefaultAsync());
 }
Example #2
0
 public async Task <IEnumerable <TestRecord> > GetThroughputTestResultsForPlatform([FromBody] ThroughputRequest requestData, [FromQuery] int numResults)
 {
     return(await _context.Platforms.Where(x => x.PlatformName == requestData.PlatformName)
            .SelectMany(x => x.ThroughputTests)
            .Where(x => x.Loopback == requestData.Loopback &&
                   x.Encryption == requestData.Encryption &&
                   x.SendBuffering == requestData.SendBuffering &&
                   x.NumberOfStreams == requestData.NumberOfStreams &&
                   x.ServerToClient == requestData.ServerToClient)
            .Select(x => new TestRecord
     {
         CommitHash = x.CommitHash,
         IndividualRunResults = x.TestResults.Select(x => x.Result),
         PlatformName = requestData.PlatformName,
         TestName = "Throughput",
         ResultDate = x.TestDate
     })
            .Take(numResults)
            .ToListAsync());
 }