public void When_Row_Is_Dynamic_Query_By_Key_Succeeds() { var query = new ViewQuery(). From("beer_ext", "all_beers"). Bucket("beer-sample"). Limit(1). Development(false);; var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration()); var result = client.Execute <Beer>(query); var query2 = new ViewQuery(). From("beer_ext", "all_beers"). Bucket("beer-sample").Key(result.Rows.First().Id); var result2 = client.Execute <Beer>(query2); Assert.AreEqual(result.Rows.First().Id, result2.Rows.First().Id); }
public void When_Row_Is_Dynamic_Query_By_Key_Succeeds() { var query = new ViewQuery(). From("beer_ext", "all_beers"). Bucket("beer-sample"). Limit(1). Development(false). BaseUri(_baseUri); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration()); var result = client.Execute<Beer>(query); var query2 = new ViewQuery(). From("beer_ext", "all_beers"). Bucket("beer-sample"). Key(result.Rows.First().Id). BaseUri(_baseUri); var result2 = client.Execute<Beer>(query2); Assert.AreEqual(result.Rows.First().Id, result2.Rows.First().Id); }
/// <summary> /// Sends a request for a View to the server. /// </summary> /// <typeparam name="T">The <see cref="Type" /> T of the body for each row result.</typeparam> /// <param name="query">The <see cref="IViewQuery" /> representing the query.</param> /// <returns> /// An <see cref="IViewResult{T}" /> representing the result of the query. /// </returns> public IViewResult <T> Send <T>(IViewQueryable query) { IViewResult <T> result; try { query.BaseUri(CachedViewBaseUri); result = query.IsStreaming ? _streamingViewClient.Execute <T>(query) : ViewClient.Execute <T>(query); } catch (Exception e) { result = new ViewResult <T> { Exception = e, Message = e.Message, Error = e.Message, Success = false, StatusCode = HttpStatusCode.BadRequest, Rows = new List <ViewRow <T> >() }; } return(result); }
public void ViewClient_Submits_ViewQuery_Using_Post() { var keys = Enumerable.Range(1, 10).Select(i => $"key-{i}").ToList(); var expectedJson = JsonConvert.SerializeObject(new { keys }, Formatting.None); var handler = FakeHttpMessageHandler.Create(request => { // verify request was a post Assert.AreEqual(HttpMethod.Post, request.Method); // get the post body and verify content var content = request.Content.ReadAsStringAsync().Result; Assert.AreEqual(expectedJson, content); // return empty json response return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent("{ }") }); }); var httpClient = new HttpClient(handler); var queryClient = new ViewClient(httpClient, new JsonDataMapper(new DefaultSerializer())); var query = new ViewQuery("bucket-name", "http://localhost"); query.Keys(keys); var result = queryClient.Execute <dynamic>(query); Assert.IsTrue(result.Success); }
public void When_Poco_Is_Supplied_Map_Results_To_It() { var query = new ViewQuery(). From("beer_ext", "all_beers"). Bucket("beer-sample"). Limit(10). Development(false); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration()); var result = client.Execute <Beer>(query); foreach (var viewRow in result.Rows) { Assert.IsNotNull(viewRow.Id); } Console.WriteLine(result.Error); Assert.IsNotNull(result.Rows); Assert.IsTrue(result.Success); Assert.AreEqual(result.Rows.Count(), result.Values.Count()); }
public void When_Query_Is_Succesful_Rows_Are_Returned() { var query = new ViewQuery(false). From("beer-sample", "beer"). View("brewery_beers"); var client = new ViewClient(new HttpClient(), new JsonDataMapper()); var result = client.Execute<dynamic>(query); Assert.IsNotNull(result.Rows); Assert.AreEqual(result.StatusCode, HttpStatusCode.OK); }
public void When_Query_Is_Succesful_Rows_Are_Returned() { var query = new ViewQuery(false). From("beer-sample", "beer"). View("brewery_beers"); var client = new ViewClient(new HttpClient(), new JsonDataMapper()); var result = client.Execute <dynamic>(query); Assert.IsNotNull(result.Rows); Assert.AreEqual(result.StatusCode, HttpStatusCode.OK); }
public void When_Url_Is_Invalid_WebException_Is_Returned() { var query = new ViewQuery(false). From("beer-sample", "beer"). View("brewery_beers"). BaseUri("http://192.168.56.105:8092/"); var client = new ViewClient(new HttpClient(), new JsonDataMapper()); var result = client.Execute<dynamic>(query); Assert.IsNotNull(result.Rows); Assert.IsFalse(result.Success); Assert.AreEqual(HttpStatusCode.ServiceUnavailable, result.StatusCode); Assert.AreEqual(typeof(HttpRequestException), result.Exception.GetType()); }
public void When_View_Is_Not_Found_404_Is_Returned() { var query = new ViewQuery(false). From("beer-sample", "beer"). View("view_that_does_not_exist"); var client = new ViewClient(new HttpClient(), new JsonDataMapper()); var result = client.Execute<dynamic>(query); Assert.IsNotNull(result.Message); Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode); Assert.IsFalse(result.Success); Console.WriteLine(result.Message); }
public void When_Url_Is_Invalid_WebException_Is_Returned() { var query = new ViewQuery(false). From("beer-sample", "beer"). View("brewery_beers"). BaseUri("http://192.168.56.105:8092/"); var client = new ViewClient(new HttpClient(), new JsonDataMapper()); var result = client.Execute <dynamic>(query); Assert.IsNotNull(result.Rows); Assert.IsFalse(result.Success); Assert.AreEqual(HttpStatusCode.ServiceUnavailable, result.StatusCode); Assert.AreEqual(typeof(HttpRequestException), result.Exception.GetType()); }
public void When_View_Is_Not_Found_404_Is_Returned() { var query = new ViewQuery(false). From("beer-sample", "beer"). View("view_that_does_not_exist"); var client = new ViewClient(new HttpClient(), new JsonDataMapper()); var result = client.Execute <dynamic>(query); Assert.IsNotNull(result.Message); Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode); Assert.IsFalse(result.Success); Console.WriteLine(result.Message); }
public void When_View_Is_Called_With_Invalid_Parameters_Error_Is_Returned() { var query = new ViewQuery(false). From("beer-sample", "beer"). View("brewery_beers"). Group(true); var client = new ViewClient(new HttpClient(), new JsonDataMapper()); var result = client.Execute <dynamic>(query); Assert.AreEqual("query_parse_error", result.Error); Assert.AreEqual("Invalid URL parameter 'group' or 'group_level' for non-reduce view.", result.Message); Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode); Assert.IsFalse(result.Success); Console.WriteLine(result.Message); }
public void When_View_Is_Called_With_Invalid_Parameters_Error_Is_Returned() { var query = new ViewQuery(false). From("beer-sample", "beer"). View("brewery_beers"). Group(true); var client = new ViewClient(new HttpClient(), new JsonDataMapper()); var result = client.Execute<dynamic>(query); Assert.AreEqual("query_parse_error", result.Error); Assert.AreEqual("Invalid URL parameter 'group' or 'group_level' for non-reduce view.", result.Message); Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode); Assert.IsFalse(result.Success); Console.WriteLine(result.Message); }
public void When_Query_Is_Succesful_Rows_Are_Returned() { var query = new ViewQuery(). From("beer", "brewery_beers"). Bucket("beer-sample"); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration()); var result = client.Execute <dynamic>(query); Assert.IsNotNull(result.Rows); Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); }
public void When_Query_Is_Succesful_Rows_Are_Returned() { var query = new ViewQuery(). From("beer", "brewery_beers"). Bucket("beer-sample"). Limit(10); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration()); var result = client.Execute<dynamic>(query); Assert.IsNotNull(result.Rows); foreach (var viewRow in result.Rows) { Assert.IsNotNull(viewRow.Id); } Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); }
public void When_Poco_Is_Supplied_Map_Results_To_It() { var query = new ViewQuery(). From("beer", "all_beers"). Bucket("beer-sample").Limit(10); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration()); var result = client.Execute<Beer>(query); foreach (var viewRow in result.Rows) { Assert.IsNotNull(viewRow.Id); } Console.WriteLine(result.Error); Assert.IsNotNull(result.Rows); Assert.IsTrue(result.Success); Assert.AreEqual(result.Rows.Count(), result.Values.Count()); }
public void When_View_Is_Not_Found_404_Is_Returned() { var query = new ViewQuery(). From("beer", "view_that_does_not_exist"). Bucket("beer-sample"). BaseUri(_baseUri); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration()); var result = client.Execute <dynamic>(query); Assert.IsNotNull(result.Message); Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode); Assert.IsFalse(result.Success); Console.WriteLine(result.Message); }
public void Execute_Sets_LastActivity() { var handler = FakeHttpMessageHandler.Create(request => new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent("{ }") }); var httpClient = new HttpClient(handler); var queryClient = new ViewClient(httpClient, new JsonDataMapper(new DefaultSerializer()), new ClusterOptions()); Assert.Null(queryClient.LastActivity); var query = new ViewQuery("bucket-name", "http://localhost"); query.Keys("test-key"); query.UseStreaming(true); queryClient.Execute <dynamic>(query); Assert.NotNull(queryClient.LastActivity); }
public void When_View_Is_Called_With_Invalid_Parameters_Error_Is_Returned() { var query = new ViewQuery(). From("beer", "brewery_beers"). Bucket("beer-sample"). Group(true); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration()); var result = client.Execute <dynamic>(query); Assert.AreEqual("query_parse_error", result.Error); Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode); Assert.IsFalse(result.Success); Console.WriteLine(result.Message); }
public void Test_Geo_Spatial_View() { var uriString = ClientConfigUtil.GetConfiguration().Servers.First().ToString(); uriString = uriString.Replace("8091", "8092").Replace("pools", "travel-sample/"); var query = new SpatialViewQuery().From("spatial", "routes") .Stale(StaleState.False) .Limit(10) .Skip(0) .BaseUri(new Uri(uriString)); var client = new ViewClient(new HttpClient(), new JsonDataMapper(ClientConfigUtil.GetConfiguration()), new BucketConfig { Name = "travel-sample" }, new ClientConfiguration()); var results = client.Execute <dynamic>(query); Assert.IsTrue(results.Success, results.Error); }
public void When_Url_Is_Invalid_WebException_Is_Returned_2() { var query = new ViewQuery(). From("beer", "brewery_beers"). Bucket("beer-sample"). BaseUri("http://192.168.62.200:8092/"); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration { ViewRequestTimeout = 5000 }); var result = client.Execute <dynamic>(query); Assert.IsNotNull(result.Rows); Assert.IsFalse(result.Success); Assert.AreEqual(HttpStatusCode.ServiceUnavailable, result.StatusCode); Assert.AreEqual(typeof(WebException), result.Exception.GetType()); }
public void Test_Geo_Spatial_View() { var query = new SpatialViewQuery().From("spatial", "routes") .BaseUri(ClientConfigUtil.GetConfiguration().Servers.First().ToString()) .Bucket("travel-sample") .Stale(StaleState.False) .Limit(10) .Skip(0); var client = new ViewClient(new HttpClient(), new JsonDataMapper(ClientConfigUtil.GetConfiguration()), new BucketConfig { Name = "travel-sample" }, new ClientConfiguration()); var results = client.Execute<dynamic>(query); Assert.IsTrue(results.Success, results.Error); }
public void When_View_Is_Not_Found_404_Is_Returned() { var query = new ViewQuery(). From("beer", "view_that_does_not_exist"). Bucket("beer-sample"). BaseUri(_baseUri); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration()); var result = client.Execute<dynamic>(query); Assert.IsNotNull(result.Message); Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode); Assert.IsFalse(result.Success); Console.WriteLine(result.Message); }
public void When_View_Is_Called_With_Invalid_Parameters_Error_Is_Returned() { var query = new ViewQuery(). From("beer", "brewery_beers"). Bucket("beer-sample"). Group(true); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration()); var result = client.Execute<dynamic>(query); Assert.AreEqual("query_parse_error", result.Error); Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode); Assert.IsFalse(result.Success); Console.WriteLine(result.Message); }
public void When_Url_Is_Invalid_WebException_Is_Returned_2() { var query = new ViewQuery(). From("beer", "brewery_beers"). Bucket("beer-sample"). BaseUri("http://192.168.62.200:8092/"); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration{ViewRequestTimeout = 5000}); var result = client.Execute<dynamic>(query); Assert.IsNotNull(result.Rows); Assert.IsFalse(result.Success); Assert.AreEqual(HttpStatusCode.ServiceUnavailable, result.StatusCode); Assert.AreEqual(typeof(WebException), result.Exception.GetType()); }