From 820797fe63e4b1bc18753c58d51c55a17ed5a508 Mon Sep 17 00:00:00 2001 From: Eric Fontana Date: Thu, 31 Jul 2014 13:18:04 -0400 Subject: [PATCH] Added Tests for Date filter. --- TimberWinR.UnitTests/DateFilterTests.cs | 49 +++++++++++++++++++ .../TimberWinR.UnitTests.csproj | 1 + TimberWinR/Filters/DateFilter.cs | 2 +- 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 TimberWinR.UnitTests/DateFilterTests.cs diff --git a/TimberWinR.UnitTests/DateFilterTests.cs b/TimberWinR.UnitTests/DateFilterTests.cs new file mode 100644 index 0000000..42ab247 --- /dev/null +++ b/TimberWinR.UnitTests/DateFilterTests.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using NUnit.Framework; +using TimberWinR.Parser; +using Newtonsoft.Json.Linq; + +namespace TimberWinR.UnitTests +{ + [TestFixture] + public class DateFilterTests + { + [Test] + public void TestDate1() + { + JObject json = new JObject + { + {"message", "2014-01-31 08:23:47,123"} + }; + + string grokJson = @"{ + ""TimberWinR"":{ + ""Filters"":[ + { + ""date"":{ + ""match"":[ + ""message"", + ""yyyy-MM-dd HH:mm:ss,fff"" + ] + } + }] + } + }"; + + Configuration c = Configuration.FromString(grokJson); + + DateFilter date = c.Filters.First() as DateFilter; + + Assert.IsTrue(date.Apply(json)); + + var ts = json["@timestamp"].ToString(); + + Assert.AreEqual(ts, "1/31/2014 8:23:47 AM"); + + } + } +} diff --git a/TimberWinR.UnitTests/TimberWinR.UnitTests.csproj b/TimberWinR.UnitTests/TimberWinR.UnitTests.csproj index cb14a38..f2db494 100644 --- a/TimberWinR.UnitTests/TimberWinR.UnitTests.csproj +++ b/TimberWinR.UnitTests/TimberWinR.UnitTests.csproj @@ -47,6 +47,7 @@ + diff --git a/TimberWinR/Filters/DateFilter.cs b/TimberWinR/Filters/DateFilter.cs index f3ddcf2..d751c05 100644 --- a/TimberWinR/Filters/DateFilter.cs +++ b/TimberWinR/Filters/DateFilter.cs @@ -48,7 +48,7 @@ namespace TimberWinR.Parser { string field = Match[0]; - CultureInfo ci = new CultureInfo(Locale); + CultureInfo ci = CultureInfo.CreateSpecificCulture(Locale); JToken token = null; if (json.TryGetValue(field, out token))