public void ExtractDetails() { var startEvent1 = GetStartEvent(1, "refresh_extracts"); // Extract refresh with details startEvent1.Args = "[TestyTest, blah, Datasource]"; var startEvent2 = GetStartEvent(2, "refresh_extracts"); // Extract refresh without details var startEvent3 = GetStartEvent(3, "increment_extracts"); // Incremental refresh var startEvent4 = GetStartEvent(4, "some_other_job"); // Some other job type var endEvent1 = GetEndEvent(1); var endEvent2 = GetEndEvent(2); var endEvent3 = GetEndEvent(3); var endEvent4 = GetEndEvent(4); var detail1 = GetExtractJobDetail(1); var detail2 = new BackgrounderExtractJobDetail() { BackgrounderJobId = 2, ResourceType = "testArgument" }; var detail3 = GetExtractJobDetail(3); var detail4 = GetExtractJobDetail(4); _persister.AddStartEvent(startEvent1); _persister.AddStartEvent(startEvent2); _persister.AddStartEvent(startEvent3); _persister.AddStartEvent(startEvent4); _persister.AddExtractJobDetails(detail1); _persister.AddExtractJobDetails(detail3); _persister.AddExtractJobDetails(detail4); _persister.AddEndEvent(endEvent1); _persister.AddEndEvent(endEvent2); _persister.AddEndEvent(endEvent3); _persister.AddEndEvent(endEvent4); var jobWriter = _writerFactory.GetWriterByName <BackgrounderJob>("BackgrounderJobs"); jobWriter.ReceivedObjects.Count.Should().Be(4); var extractJobDetailWriter = _writerFactory.GetWriterByName <BackgrounderExtractJobDetail>("BackgrounderExtractJobDetails"); extractJobDetailWriter.ReceivedObjects.Count.Should().Be(3); var actualDetail1 = extractJobDetailWriter.ReceivedObjects[0] as BackgrounderExtractJobDetail; var actualDetail2 = extractJobDetailWriter.ReceivedObjects[1] as BackgrounderExtractJobDetail; var actualDetail3 = extractJobDetailWriter.ReceivedObjects[2] as BackgrounderExtractJobDetail; detail1.ResourceName = "TestyTest"; detail1.ResourceType = "Datasource"; actualDetail1.Should().BeEquivalentTo(detail1); actualDetail2.Should().BeEquivalentTo(detail2); actualDetail3.Should().BeEquivalentTo(detail3); }
public void TestWithDifferentMaxLimitConfigured(bool useConfig, int?maxLength) { var config = useConfig ? CreateConfig(maxLength) : null; var testWriterFactory = new TestWriterFactory(); using (var plugin = new VizqlDesktopPlugin()) { plugin.Configure(testWriterFactory, config, null, new NullLoggerFactory()); foreach (var testCase in _testCases) { var logLine = testCase.GetLogLine(); plugin.ProcessLogLine(logLine, LogType.VizqlDesktop); } plugin.CompleteProcessing(); } testWriterFactory.AssertAllWritersDisposedState(true); var expectedSessions = GetExpectedOutputForName("session"); var sessionsWriter = testWriterFactory.GetWriterByName <VizqlDesktopSession>("VizqlDesktopSessions"); sessionsWriter.ReceivedObjects.Should().BeEquivalentTo(expectedSessions); var expectedErrors = GetExpectedOutputForName("error"); var errorsWriter = testWriterFactory.GetWriterByName <VizqlDesktopErrorEvent>("VizqlDesktopErrorEvents"); errorsWriter.ReceivedObjects.Should().BeEquivalentTo(expectedErrors); var expectedEndQueryEvents = GetExpectedOutputForName("endQuery"); if (useConfig && maxLength != null) { expectedEndQueryEvents = TruncateQueryText(expectedEndQueryEvents, maxLength.Value); } var endQueryEventsWriter = testWriterFactory.GetWriterByName <VizqlEndQueryEvent>("VizqlDesktopEndQueryEvents"); endQueryEventsWriter.ReceivedObjects.Should().BeEquivalentTo(expectedEndQueryEvents); var expectedPerformanceEvents = GetExpectedOutputForName("performance"); var extraEvent = GetPerformanceEvent(8.985, "end-query", 126, @"{""cols"":1,""elapsed"":8.985,""is-command"":false,""protocol-class"":""postgres"",""protocol-id"":44,""query-category"":""Data"",""query-hash"":3535682211,""query-trunc"":""SELECT * FROM very_long_table_name_so_we_have_something_to_truncate;"",""rows"":3}"); expectedPerformanceEvents.Insert(0, extraEvent); var performanceEventsWriter = testWriterFactory.GetWriterByName <VizqlPerformanceEvent>("VizqlDesktopPerformanceEvents"); performanceEventsWriter.ReceivedObjects.Should().BeEquivalentTo(expectedPerformanceEvents); }