void Log_Events_Expected() { // Dev note - this builds the index, but need to run tests again to work var connection = new ElasticConnection("localhost", 9200); if (IsIndexExists(ElasticSearchStorage.GetIndex(), connection)) { connection.Delete(new DeleteCommand(ElasticSearchStorage.GetIndex())); } for (var i = 1; i <= 100; i++) { Log.Trace("Entry Message : {0}", i); Log.Info("Entry Message : {0}", i); Log.Error("Entry Message : {0}", i); } Thread.Sleep(TimeSpan.FromSeconds(5)); var serializer = new JsonNetSerializer(); // Build the Search Query var query = new QueryBuilder<Entry>().Build(); // Execute the search string result = connection.Post(Commands.Search(ElasticSearchStorage.GetIndex(), "Log"), query); var searchResult = serializer.ToSearchResult<Entry>(result); // Check all log entries in search index Assert.AreEqual(300, searchResult.hits.total); // Secondary check, use the instance based loger using (var log = Log.GetLogger()) { for (var i = 1; i <= 100; i++) { log.Trace("Entry Message : {0}", i); log.Info("Entry Message : {0}", i); log.Error("Entry Message : {0}", i); } Thread.Sleep(TimeSpan.FromSeconds(5)); // Build the Search Query query = new QueryBuilder<Entry>().Build(); // Execute the search result = connection.Post(Commands.Search(ElasticSearchStorage.GetIndex(), "Log"), query); searchResult = serializer.ToSearchResult<Entry>(result); // Check all log entries in search index Assert.AreEqual(600, searchResult.hits.total); } }
private static void DeleteTweeterIndex(ElasticConnection connection, JsonNetSerializer serializer) { /* $ curl -XDELETE 'http://localhost:9200/twitter?pretty=true' */ string deleteCommand = Commands.Delete(index: "twitter").Pretty(); var result = connection.Delete(deleteCommand); DeleteResult deleteResult = serializer.ToDeleteResult(result); PrintDeleteCommand(deleteCommand, deleteResult, result); }