mirror of
https://github.com/volodymyrsmirnov/MalwareMultiScan.git
synced 2025-08-25 14:01:13 +00:00
finished refactoring and README.md rewrite
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using MalwareMultiScan.Api.Data;
|
||||
using MalwareMultiScan.Api.Data.Configuration;
|
||||
using Consul;
|
||||
using Hangfire;
|
||||
using MalwareMultiScan.Api.Services;
|
||||
using MalwareMultiScan.Api.Services.Interfaces;
|
||||
using MalwareMultiScan.Shared.Enums;
|
||||
using MalwareMultiScan.Shared.Message;
|
||||
using Mongo2Go;
|
||||
using MongoDB.Bson;
|
||||
using MongoDB.Driver;
|
||||
@@ -17,7 +19,6 @@ namespace MalwareMultiScan.Tests.Api
|
||||
{
|
||||
private MongoDbRunner _mongoDbRunner;
|
||||
private IScanResultService _resultService;
|
||||
private Mock<IScanBackendService> _scanBackendService;
|
||||
|
||||
[SetUp]
|
||||
public void SetUp()
|
||||
@@ -27,20 +28,11 @@ namespace MalwareMultiScan.Tests.Api
|
||||
var connection = new MongoClient(_mongoDbRunner.ConnectionString);
|
||||
var database = connection.GetDatabase("Test");
|
||||
var gridFsBucket = new GridFSBucket(database);
|
||||
|
||||
_scanBackendService = new Mock<IScanBackendService>();
|
||||
|
||||
_scanBackendService
|
||||
.SetupGet(x => x.List)
|
||||
.Returns(() => new[]
|
||||
{
|
||||
new ScanBackend {Id = "dummy", Enabled = true},
|
||||
new ScanBackend {Id = "clamav", Enabled = true},
|
||||
new ScanBackend {Id = "disabled", Enabled = false}
|
||||
});
|
||||
|
||||
|
||||
_resultService = new ScanResultService(
|
||||
database, gridFsBucket, _scanBackendService.Object);
|
||||
database, gridFsBucket,
|
||||
Mock.Of<IConsulClient>(),
|
||||
Mock.Of<IBackgroundJobClient>());
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
@@ -85,10 +77,14 @@ namespace MalwareMultiScan.Tests.Api
|
||||
var result = await _resultService.CreateScanResult(null);
|
||||
|
||||
Assert.NotNull(result.Id);
|
||||
Assert.That(result.Results, Contains.Key("dummy"));
|
||||
|
||||
await _resultService.UpdateScanResultForBackend(
|
||||
result.Id, "dummy", 100, true, true, new[] {"Test"});
|
||||
result.Id, "dummy", new ScanResultMessage
|
||||
{
|
||||
Duration = 100,
|
||||
Status = ScanResultStatus.Succeeded,
|
||||
Threats = new []{"Test"}
|
||||
});
|
||||
|
||||
result = await _resultService.GetScanResult(result.Id);
|
||||
|
||||
@@ -97,25 +93,10 @@ namespace MalwareMultiScan.Tests.Api
|
||||
|
||||
var dummyResult = result.Results["dummy"];
|
||||
|
||||
Assert.IsTrue(dummyResult.Completed);
|
||||
Assert.IsTrue(dummyResult.Succeeded);
|
||||
Assert.IsTrue(dummyResult.Status == ScanResultStatus.Succeeded);
|
||||
Assert.AreEqual(dummyResult.Duration, 100);
|
||||
Assert.IsNotEmpty(dummyResult.Threats);
|
||||
Assert.That(dummyResult.Threats, Is.EquivalentTo(new[] {"Test"}));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task TestQueueUrlScan()
|
||||
{
|
||||
var result = await _resultService.CreateScanResult(null);
|
||||
|
||||
await _resultService.QueueUrlScan(
|
||||
result, "http://url.com");
|
||||
|
||||
_scanBackendService.Verify(x => x.QueueUrlScan(
|
||||
It.IsAny<ScanResult>(),
|
||||
It.IsAny<ScanBackend>(),
|
||||
"http://url.com"), Times.Exactly(2));
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user