public void TestObjectDecoration(string sinkId) { string id = sinkId + (Utility.IsWindows ? string.Empty : TestUtility.LINUX); MemoryLogger logger = new MemoryLogger(null); MockEventSource <IDictionary <string, string> > mockEventSource = CreateEventsource <IDictionary <string, string> >("InitialPositionUnspecified"); MockEventSink sink = CreateEventSink(id, logger); mockEventSource.Subscribe(sink); string text = "some text"; Dictionary <string, string> data = new Dictionary <string, string>() { { "data", text } }; DateTime timestamp = DateTime.UtcNow; mockEventSource.MockEvent(data, timestamp); string result = sink.Records[0]; Assert.Equal($"{{\"data\":\"{text}\",\"ComputerName\":\"{ComputerOrHostName}\",\"DT\":\"{timestamp.ToString("yyyy-MM-dd HH:mm:ss")}\"}}", result); }
public void TestLocalVariableDictionary(string sinkId) { MemoryLogger logger = new MemoryLogger(null); MockEventSource <IDictionary <string, string> > mockEventSource = CreateEventsource <IDictionary <string, string> >("InitialPositionUnspecified"); MockEventSink sink = CreateEventSink(sinkId, logger); //"TextDecoration": "{$myvar2}" mockEventSource.Subscribe(sink); var data1 = new Dictionary <string, string>() { { "myvar1", "myval1" } }; var data2 = new Dictionary <string, string>() { { "myvar2", "myval2" } }; DateTime timestamp = DateTime.UtcNow; mockEventSource.MockEvent(data1, timestamp); Assert.Empty(sink.Records); mockEventSource.MockEvent(data2, timestamp); Assert.Equal("myval2", sink.Records[0]); }
public void TestLocalVariableAnonymousObject() { MemoryLogger logger = new MemoryLogger(null); MockEventSource <object> mockEventSource = CreateEventsource <object>("InitialPositionUnspecified"); MockEventSink sink = CreateEventSink("TextDecorationLocalVariable", logger); //"TextDecoration": "{$myvar2}" mockEventSource.Subscribe(sink); var data1 = new { myvar1 = "myval1" }; var data2 = new { myvar2 = "myval2" }; DateTime timestamp = DateTime.UtcNow; mockEventSource.MockEvent(data1, timestamp); Assert.Empty(sink.Records); mockEventSource.MockEvent(data2, timestamp); Assert.Equal("myval2", sink.Records[0]); }
public void TestObjectDecorationWithFileName(string sinkId) { string id = sinkId + (Utility.IsWindows ? string.Empty : TestUtility.LINUX); MemoryLogger logger = new MemoryLogger(null); MockEventSource <IDictionary <string, string> > mockEventSource = CreateEventsource <IDictionary <string, string> >("InitialPositionUnspecified"); MockEventSink sink = CreateEventSink(id, logger); mockEventSource.Subscribe(sink); string text = "some text"; Dictionary <string, string> data = new Dictionary <string, string>() { { "data", text } }; DateTime timestamp = DateTime.UtcNow; string filePath = Path.Combine(TestUtility.GetTestHome(), "test.log"); long position = 11; long lineNumber = 1; mockEventSource.MockLogEvent(data, timestamp, text, filePath, position, lineNumber); string result = sink.Records[0]; Assert.Equal($"{{\"data\":\"{text}\",\"ComputerName\":\"{ComputerOrHostName}\",\"FileName\":\"{Path.GetFileName(filePath)}\",\"Position\":\"{position}\"}}", result); }
public void TestDirectorySourceMetricsOnSubscribe() { IConfiguration config = GetConfig("directorySourceTest"); string id = config[ConfigConstants.ID]; MemoryLogger logger = new MemoryLogger(null); KinesisTapMetricsSource metrics = new KinesisTapMetricsSource(new PluginContext(null, null, null, null, null)); DirectorySource <string, LogContext> source = new DirectorySource <string, LogContext>( TestUtility.GetTestHome(), "*.*", 1000, new PluginContext(config, logger, metrics), new SingeLineRecordParser()); MockMetricsSink metricsSink = new MockMetricsSink(3600, new PluginContext(config, logger, metrics)); source.Start(); metrics.Subscribe(metricsSink); metricsSink.Stop(); source.Stop(); Assert.Equal(2, metricsSink.AccumlatedValues.Count); Assert.Equal(0, TestUtility.GetMetricsCount(metricsSink.AccumlatedValues)); }
public void TestObjectDecorationWithBadExpression(string sinkId) { MemoryLogger logger = new MemoryLogger(null); Assert.ThrowsAny <Exception>(() => CreateEventSink(sinkId, logger)); }