56 lines
1.5 KiB
C#
56 lines
1.5 KiB
C#
namespace TimberWinR.UnitTests.Parser
|
|
{
|
|
using System;
|
|
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
using NUnit.Framework;
|
|
|
|
using TimberWinR.Parser;
|
|
|
|
public class ElasticsearchOutputTests
|
|
{
|
|
private ElasticsearchOutputParameters parser;
|
|
|
|
[SetUp]
|
|
public void Setup()
|
|
{
|
|
this.parser = new ElasticsearchOutputParameters();
|
|
}
|
|
|
|
[Test]
|
|
public void Given_no_index_returns_default_index_name()
|
|
{
|
|
this.parser.Index = "someindex";
|
|
var json = new JObject();
|
|
|
|
var result = this.parser.GetIndexName(json);
|
|
|
|
Assert.AreEqual("someindex", result);
|
|
}
|
|
|
|
[Test]
|
|
public void Given_index_with_date_format_and_timestamp_returns_name_by_timestamp()
|
|
{
|
|
this.parser.Index = "someindex-%{yyyy.MM.dd}";
|
|
var json = new JObject();
|
|
json.Add(new JProperty("@timestamp", "2011-11-30T18:45:32.450Z"));
|
|
|
|
var result = this.parser.GetIndexName(json);
|
|
|
|
Assert.AreEqual("someindex-2011.11.30", result);
|
|
}
|
|
|
|
[Test]
|
|
public void Given_index_with_date_format_and_no_timestamp_returns_name_by_current_date()
|
|
{
|
|
this.parser.Index = "someindex-%{yyyy.MM.dd}";
|
|
var json = new JObject();
|
|
|
|
var result = this.parser.GetIndexName(json);
|
|
|
|
Assert.AreEqual("someindex-" + DateTime.UtcNow.ToString("yyyy.MM.dd"), result);
|
|
}
|
|
}
|
|
}
|