public void BadOrNoOpInput() { var testWriterFactory = new TestWriterFactory(); var processingNotificationsCollector = new ProcessingNotificationsCollector(10); using (var plugin = new LogShark.Plugins.ResourceManager.ResourceManagerPlugin()) { plugin.Configure(testWriterFactory, null, processingNotificationsCollector, new NullLoggerFactory()); var wrongContentFormat = new LogLine(new ReadLogLineResult(123, "ResourceManagerPlugin doesn't expect string"), VizqlServerCppFileInfo); var nullContent = new LogLine(new ReadLogLineResult(123, null), VizqlServerCppFileInfo); var nonMsgContent = new LogLine(new ReadLogLineResult(123, new NativeJsonLogsBaseEvent { EventType = "something else" }), VizqlServerCppFileInfo); var payloadIsNotAString = new LogLine(new ReadLogLineResult(123, new NativeJsonLogsBaseEvent { EventType = "msg", EventPayload = JToken.FromObject(new { Key = "value" }) }), VizqlServerCppFileInfo); var vizqlAndSrmInternal = new LogLine(new ReadLogLineResult(123, new NativeJsonLogsBaseEvent { EventType = "srm-internal", EventPayload = "Resource Manager: CPU info: 0%" }), VizqlServerCppFileInfo); var hyperAndMessage = new LogLine(new ReadLogLineResult(123, new NativeJsonLogsBaseEvent { EventType = "msg", EventPayload = "Resource Manager: CPU info: 0%" }), HyperFileInfo); plugin.ProcessLogLine(wrongContentFormat, LogType.VizqlserverCpp); plugin.ProcessLogLine(nullContent, LogType.VizqlserverCpp); plugin.ProcessLogLine(nonMsgContent, LogType.VizqlserverCpp); plugin.ProcessLogLine(payloadIsNotAString, LogType.VizqlserverCpp); plugin.ProcessLogLine(vizqlAndSrmInternal, LogType.VizqlserverCpp); plugin.ProcessLogLine(hyperAndMessage, LogType.Hyper); } testWriterFactory.AssertAllWritersAreDisposedAndEmpty(5); processingNotificationsCollector.TotalErrorsReported.Should().Be(2); }
public void BasicTests() { var testWriterFactory = new TestWriterFactory(); using (var plugin = new LogShark.Plugins.ResourceManager.ResourceManagerPlugin()) { plugin.Configure(testWriterFactory, null, null, new NullLoggerFactory()); foreach (var testCase in _testCases) { var logLine = testCase.GetLogLine(); plugin.ProcessLogLine(logLine, testCase.LogType); } } var expectedOutput = _testCases.Select(testCase => testCase.ExpectedOutput).ToList(); testWriterFactory.Writers.Count.Should().Be(5); var writerWithOutput = testWriterFactory.GetOneWriterAndVerifyOthersAreEmptyAndDisposed <ResourceManagerThreshold>("ResourceManagerThresholds", 5); ((List <object>)writerWithOutput.ReceivedObjects).Should().BeEquivalentTo(expectedOutput); }