Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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]);
        }
Esempio n. 4
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);
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        public void TestObjectDecorationWithBadExpression(string sinkId)
        {
            MemoryLogger logger = new MemoryLogger(null);

            Assert.ThrowsAny <Exception>(() => CreateEventSink(sinkId, logger));
        }