Я пытаюсь добавить тестирование вокруг нашего использования ElasticSearch (в C# с использованием Nest 1.4.2) и хочу использовать InMemoryConnection, но я что-то пропускаю (полагаю) и не добился успеха.Использование InMemoryConnection для проверки ElasticSearch
Я создал этот простой NUnit тест, как сводился пример моего вопроса
using System;
using Elasticsearch.Net.Connection;
using FluentAssertions;
using Nest;
using NUnit.Framework;
namespace NestTest
{
public class InMemoryConnections
{
public class TestThing
{
public string Stuff { get; }
public TestThing(string stuff)
{
Stuff = stuff;
}
}
[Test]
public void CanBeQueried()
{
var connectionSettings = new ConnectionSettings(new Uri("http://foo.test"), "default_index");
var c = new ElasticClient(connectionSettings, new InMemoryConnection(connectionSettings));
c.Index(new TestThing("peter rabbit"));
var result = c.Search<TestThing>(sd => sd);
result.ConnectionStatus.Success.Should().BeTrue();
}
}
}
запрос успешен, но не находит документ, который я просто проиндексирован ...
Если Я обновление до версии 2.3.3 НЕСТА и нового синтаксиса
[Test]
public void CanBeQueried()
{
var connectionPool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));
var settings = new ConnectionSettings(connectionPool, new InMemoryConnection());
settings.DefaultIndex("default");
var c = new ElasticClient(settings);
c.Index(new TestThing("peter rabbit"));
var result = c.Search<TestThing>(sd => sd);
result.CallDetails.Success.Should().BeTrue();
result.Documents.Single().Stuff.Should().Be("peter rabbit");
}
он не таким же образом ... т.е. запрос сообщаются успешным, но возвращает 0 документов
А, спасибо! Я знал, что мне что-то не хватает. Я расследовал это, потому что я ударил по стене, насмехаясь. Думаю, мне нужно открыть новый вопрос :) –