public void QueryEvaluationWithNoNullResponseThrowsInvalidOperationException() { using (var httpStub = new HttpStub(c => { })) { var context = MakeElasticContext(httpStub.Uri); Assert.Throws<InvalidOperationException>(() => context.Query<Robot>().FirstOrDefault()); var request = httpStub.Requests.Single(); Assert.Equal("POST", request.HttpMethod); Assert.Equal("/robots/_search", request.RawUrl); } }
public void QueryEvaluationCausesPostToConnectionEndpoint() { using (var httpStub = new HttpStub(ZeroHits)) { var context = MakeElasticContext(httpStub.Uri); var dummy = context.Query<Robot>().FirstOrDefault(); var request = httpStub.Requests.Single(); Assert.Equal("POST", request.HttpMethod); Assert.Equal("/robots/_search", request.RawUrl); } }
public void ProviderExecuteTCausesPostToConnectionEndpoint() { using (var httpStub = new HttpStub(ZeroHits)) { var provider = new ElasticQueryProvider(new ElasticConnection(httpStub.Uri), mapping, log, retryPolicy, "prefix"); var query = new ElasticQuery<Robot>(provider); provider.Execute<IEnumerable<Robot>>(query.Expression); var request = httpStub.Requests.Single(); Assert.Equal("POST", request.HttpMethod); Assert.Equal("/robots/_search", request.RawUrl); } }
public async void AcceptEncodingIsGzip() { using(var httpStub = new HttpStub(ZeroHits, 1)) { var context = MakeElasticContext(httpStub.Uri); var dummy = context.Query<Robot>().FirstOrDefault(); Assert.Null(dummy); await httpStub.Completion; var request = httpStub.Requests.Single(); Assert.Contains("Accept-Encoding", request.Headers.AllKeys); Assert.Equal("gzip", request.Headers["Accept-Encoding"]); } }
public async void ProviderExecuteCausesPostToConnectionEndpoint() { using (var httpStub = new HttpStub(ZeroHits, 1)) { var provider = new ElasticQueryProvider(new ElasticConnection(httpStub.Uri), mapping, log, retryPolicy); var query = new ElasticQuery<Robot>(provider); provider.Execute(query.Expression); await httpStub.Completion; var request = httpStub.Requests.Single(); Assert.Equal("POST", request.HttpMethod); Assert.Equal("/_all/robots/_search", request.RawUrl); } }
public void QueryImplicitGetEnumeratorCausesConnection() { using (var httpStub = new HttpStub(ZeroHits)) { var provider = new ElasticQueryProvider(new ElasticConnection(httpStub.Uri), mapping, log, retryPolicy, "prefix"); var query = new ElasticQuery<Robot>(provider); var enumerator = query.GetEnumerator(); var request = httpStub.Requests.Single(); Assert.Equal("POST", request.HttpMethod); Assert.Equal("/robots/_search", request.RawUrl); Assert.NotNull(enumerator); } }
public void ConstantFalseDoesNotCauseConnection() { using (var httpStub = new HttpStub(ZeroHits, 1)) { var provider = new ElasticQueryProvider(new ElasticConnection(httpStub.Uri), mapping, log, retryPolicy, "prefix"); var query = new ElasticQuery<Robot>(provider).Where(f => false); ((IEnumerable)query).GetEnumerator(); Assert.Empty(httpStub.Requests); } }
public async void QueryExplicitIEnumerableGetEnumeratorCausesConnection() { using (var httpStub = new HttpStub(ZeroHits, 1)) { var provider = new ElasticQueryProvider(new ElasticConnection(httpStub.Uri), mapping, log, retryPolicy, "prefix"); var query = new ElasticQuery<Robot>(provider); var enumerator = ((IEnumerable)query).GetEnumerator(); await httpStub.Completion; var request = httpStub.Requests.Single(); Assert.Equal("POST", request.HttpMethod); Assert.Equal("/_all/robots/_search", request.RawUrl); Assert.NotNull(enumerator); } }