public void IsLongRunning(bool isComplex, long executionTime, bool expectedResult) { // Arrange var audit = new Audit { ExecutionTime = executionTime }; var search = new Search(); var searchAudit = new SearchAudit { Search = search, Audit = audit, IsComplex = isComplex }; // Act var result = SearchAnalysisService.IsLongRunning(searchAudit); // Assert Assert.That(result, Is.EqualTo(expectedResult)); }
public static bool IsLongRunning(SearchAudit audit) => IsLongRunning(audit.IsComplex, audit.Audit.ExecutionTime);
public async Task ProcessBatch() { // Arrange var batchId = 1; var batchSize = 50; var batchStart = 0; var batch = new SearchAuditBatch { Id = batchId, WorkspaceId = workspaceId, BatchSize = batchSize, BatchStart = batchStart, ServerId = 123, HourId = this.hourId }; this.searchAuditBatchRepositoryMock.Setup(m => m.ReadBatch(batch.Id)) .Returns(batch); this.serverRepositoryMock.Setup(m => m.ReadWorkspaceExistsAsync(workspaceId)).ReturnsAsync(true); this.hourRepositoryMock.Setup(m => m.ReadAsync(batch.HourId)).ReturnsAsync(hour); var audit = new Audit(); var audits = new List <Audit> { audit }; this.workspaceAuditServiceMock.Setup( m => m.ReadAuditsAsync( batch.WorkspaceId, hour.Id, It.Is <IList <AuditActionId> >(a => a.Contains(AuditActionId.DocumentQuery)), batch.BatchSize, batch.BatchStart)) .ReturnsAsync(audits); var queryId = (string)null; this.auditParsingServiceMock.Setup(m => m.ParseQueryId(audit.Details)).Returns(queryId); var searchAudit = new SearchAudit { Search = new Search(), IsComplex = true }; var startSearchAudits = new SearchAuditGroup { Audits = new List <SearchAudit> { searchAudit } }; var endSearchAudits = new SearchAuditGroup { Audits = new List <SearchAudit> { searchAudit } }; var expectedSearchAudits = new List <SearchAudit> { searchAudit }; var expectedSearchAuditGroups = new List <SearchAuditGroup> { new SearchAuditGroup { Audits = expectedSearchAudits } }; this.searchAnalysisServiceMock.Setup(m => m.AnalyzeSearchAudit(startSearchAudits)).ReturnsAsync(endSearchAudits); expectedSearchAudits[0].IsComplex = searchAudit.IsComplex; var auditResult = new SearchAuditBatchResult { BatchId = batchId }; var auditResults = new List <SearchAuditBatchResult> { auditResult }; this.auditBatchAnalyzerMock.Setup(m => m.GetBatchResults(It.IsAny <IList <SearchAuditGroup> >(), batchId)).Returns(auditResults); this.workspaceAuditReporter.Setup(r => r.ReportWorkspaceAudits(It.IsAny <IList <SearchAuditGroup> >(), It.IsAny <Hour>(), It.IsAny <int>())) .Returns(Task.FromResult(1)); this.searchAuditBatchRepositoryMock.Setup(r => r.CreateBatchResults(It.IsAny <IList <SearchAuditBatchResult> >())) .Returns(new[] { 123456 }); this.searchAuditBatchRepositoryMock.Setup(r => r.UpdateAsync(batch)) .Returns(Task.FromResult(1)); this.workspaceService.Setup(s => s.WorkspaceIsAvailableAsync(workspaceId)) .ReturnsAsync(true); // Act var result = await this.auditBatchProcessor.ProcessBatch(batchId); // Assert Assert.That(result, Is.Not.Empty); Assert.That(result.Count, Is.EqualTo(auditResults.Count)); }