public async Task TestScanResultCreateGet() { var result = await _resultService.CreateScanResult(null); Assert.NotNull(result.Id); await _resultService.UpdateScanResultForBackend( result.Id, "dummy", new ScanResultMessage { Duration = 100, Status = ScanResultStatus.Succeeded, Threats = new[] { "Test" } }); result = await _resultService.GetScanResult(result.Id); Assert.NotNull(result.Id); Assert.That(result.Results, Contains.Key("dummy")); var dummyResult = result.Results["dummy"]; Assert.IsTrue(dummyResult.Status == ScanResultStatus.Succeeded); Assert.AreEqual(dummyResult.Duration, 100); Assert.IsNotEmpty(dummyResult.Threats); Assert.That(dummyResult.Threats, Is.EquivalentTo(new[] { "Test" })); }
public async Task <IActionResult> ScanFile( [Required][MaxFileSize] IFormFile file) { var result = await _scanResultService.CreateScanResult(); string storedFileId; await using (var uploadFileStream = file.OpenReadStream()) { storedFileId = await _scanResultService.StoreFile(file.FileName, uploadFileStream); } await _scanResultService.QueueUrlScan(result, Url.Action("Index", "Download", new { id = storedFileId }, Request?.Scheme, Request?.Host.Value)); return(CreatedAtAction("Index", "ScanResults", new { id = result.Id }, result)); }
public async Task <IActionResult> ScanFile( [Required][MaxFileSize] IFormFile file, [FromForm][IsHttpUrl(false)] string callbackUrl = null) { var result = await _scanResultService.CreateScanResult( string.IsNullOrEmpty(callbackUrl)?null : new Uri(callbackUrl)); string storedFileId; await using (var uploadFileStream = file.OpenReadStream()) { storedFileId = await _scanResultService.StoreFile(file.FileName, uploadFileStream); } await _scanResultService.QueueUrlScan(result, Url.Action("Index", "Download", new { id = storedFileId }, Request?.Scheme, Request?.Host.Value)); return(CreatedAtAction("Index", "ScanResults", new { id = result.Id }, result)); }