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); }
public void When_Row_Is_Dynamic_Query_By_Key_Succeeds() { //arrange var query = new ViewQuery(). From("beer_ext", "all_beers"). Bucket("beer-sample"). Limit(1). Development(false). BaseUri(_baseUri); var client = GetViewClient("beer-sample"); //act 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 Assert.AreEqual(result.Rows.First().Id, result2.Rows.First().Id); }
public void Test_Build_Basic_Query_Using_From() { var expected = new Uri("http://localhost:8092/default/_design/cities/_view/by_name?"); const string baseUri = "http://localhost:8092"; var query = new ViewQuery("default", baseUri). From("cities", "by_name"); Assert.AreEqual(expected, query.RawUri()); }
public void Test_Build_Basic_Query_Using_From_Limit_10() { var expected = new Uri("http://127.0.0.1:8092/default/_design/cities/_view/by_name?limit=10"); const string baseUri = "http://127.0.0.1:8092"; var query = new ViewQuery("default", baseUri). From("cities", "by_name"). Limit(10); Assert.AreEqual(expected, query.RawUri()); }
public void When_BaseUri_Returns_BucketName_And_UUID_Bucket_Property_IsIgnored() { const string expected = "http://192.168.56.102:8092/beer-sample%2B179b38da638e51deee5bcf5be82d2093/_design/beer/_view/brewery_beers?"; const string baseUriWithUuid = "http://192.168.56.102:8092/beer-sample%2B179b38da638e51deee5bcf5be82d2093"; var actual = new ViewQuery(baseUriWithUuid). From("beer", "brewery_beers"). Bucket("beer-sample"); Assert.AreEqual(new Uri(expected), actual.RawUri()); }
public void Test_Build_Basic_Query() { var expected = new Uri("http://localhost:8092/default/_design/cities/_view/by_name?"); const string baseUri = "http://localhost:8092"; var query = new ViewQuery(baseUri). Bucket("default"). DesignDoc("cities"). View("by_name"); Assert.AreEqual(expected, query.RawUri()); }
public void When_Development_True_DesignDoc_Has_dev_Prefix() { var expected = new Uri("http://localhost:8092/default/_design/dev_cities/_view/by_name?"); const string baseUri = "http://localhost:8092"; var query = new ViewQuery(baseUri, true). Bucket("default"). DesignDoc("cities"). View("by_name"); Assert.AreEqual(expected, query.RawUri()); }
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 Test_Build_Basic_Query_Using_From_Limit_10_And_Start_and_EndKeys_With_Encode_False() { var expected = new Uri("http://localhost:8092/beer-sample/_design/beer/_view/brewery_beers?endkey=[\"aass_brewery\"]&limit=10&startkey=[\"21st_amendment_brewery_cafe\"]"); const string baseUri = "http://localhost:8092"; var query = new ViewQuery("beer-sample", baseUri). From("beer", "brewery_beers"). StartKey("[\"21st_amendment_brewery_cafe\"]", false). EndKey("[\"aass_brewery\"]", false). Limit(10); var uri = query.RawUri(); Assert.AreEqual(expected, uri); }
public void Test_View_Query() { using (var bucket = _cluster.OpenBucket("beer-sample")) { var query = new ViewQuery(false). From("beer-sample", "beer"). View("brewery_beers"). Limit(10); Console.WriteLine(query.RawUri()); var result = bucket.Query<dynamic>(query); Assert.Greater(result.TotalRows, 0); } }
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_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_Poco_Is_Supplied_Map_Results_To_It() { //arrange var query = new ViewQuery(). From("beer_ext", "all_beers"). Bucket("beer-sample"). Limit(10). Development(false). BaseUri(_baseUri); var client = GetViewClient("beer-sample"); //act var result = client.Execute<Beer>(query); //assert foreach (var viewRow in result.Rows) { Assert.IsNotNull(viewRow.Id); } Assert.IsNotNull(result.Rows); Assert.IsTrue(result.Success); Assert.AreEqual(result.Rows.Count(), result.Values.Count()); }
public void Test_Build_Basic_Query_Using_From_Limit_10_And_Start_and_EndKeys_2() { var expected = new Uri("http://localhost:8092/default/_design/test/_view/test_view?stale=update_after&endkey=\"doc3\"&limit=10&startkey=\"doc2\""); const string baseUri = "http://localhost:8092"; var query = new ViewQuery("default", baseUri). From("test", "test_view"). StartKey("doc2"). EndKey("doc3"). Stale(StaleState.UpdateAfter). Limit(10); var uri = query.RawUri(); Assert.AreEqual(expected, uri); }
public void Test_ExecuteAsync() { //arrange var query = new ViewQuery(). From("docs", "all_docs"). Bucket("default"). BaseUri(_baseUri); var client = GetViewClient("travel-sample"); int n = 10000; var options = new ParallelOptions { MaxDegreeOfParallelism = 4}; //act - needs to be refactored Parallel.For(0, n, options, async i => { var result = await client.ExecuteAsync<dynamic>(query).ContinueOnAnyContext(); Console.WriteLine("{0} {1} {2}", i, result.Success, result.Message); }); }
public void When_Query_Is_Valid_ViewQuery_Succeeds() { var bucket = new Mock<IBucket>(); bucket.Setup(x => x.Query<Beer>(It.IsAny<IViewQuery>())) .Returns(() => new FakeViewResult<Beer> { Success = true, Rows = new List<ViewRow<Beer>> { new ViewRow<Beer> {Id = "beer1", Key = "beer1", Value = new Beer()}, new ViewRow<Beer> {Id = "beer1", Key = "beer1", Value = new Beer()} } }); var dao = new DataAccessObject<Beer>(bucket.Object); var query = new ViewQuery() .Bucket("beer-sample") .DesignDoc("beer") .View("brewery_beers"); var result = dao.Select(query); Assert.AreEqual(2, result.Count()); }
public void When_View_Is_Called_With_Invalid_Parameters_Error_Is_Returned() { //arrange var query = new ViewQuery(). From("beer", "brewery_beers"). Bucket("beer-sample"). Group(true). BaseUri(_baseUri); var client = GetViewClient("beer-sample"); //act var result = client.Execute<dynamic>(query); //assert Assert.AreEqual("query_parse_error", result.Error); Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode); Assert.IsFalse(result.Success); }
public void When_Url_Is_Invalid_Exception_Is_Returned_2() { //arrange var query = new ViewQuery(). From("beer", "brewery_beers"). Bucket("beer-sample"). BaseUri(new Uri("http://192.168.62.200:8092/")); var client = GetViewClient("beer-sample", 5000); //act var result = client.Execute<dynamic>(query); //assert Assert.IsNotNull(result.Rows); Assert.IsFalse(result.Success); Assert.AreEqual(HttpStatusCode.ServiceUnavailable, result.StatusCode); Assert.IsNotNull(result.Exception); }
public void When_Query_Is_Succesful_Rows_Are_Returned() { //arrange var query = new ViewQuery(). From("beer", "brewery_beers"). Bucket("beer-sample"). Limit(10). BaseUri(_baseUri); var client = GetViewClient("beer-sample", 5000); //act var result = client.Execute<dynamic>(query); //assert Assert.IsNotNull(result.Rows); foreach (var viewRow in result.Rows) { Assert.IsNotNull(viewRow.Id); } Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); }
public void When_View_Is_Not_Found_404_Is_Returned() { //arrange var query = new ViewQuery(). From("beer", "view_that_does_not_exist"). Bucket("beer-sample"). BaseUri(_baseUri); var client = GetViewClient("beer-sample"); //act var result = client.Execute<dynamic>(query); //assert Assert.IsNotNull(result.Message); Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode); Assert.IsFalse(result.Success); }
public void Test_ExecuteAsync() { var query = new ViewQuery(). From("docs", "all_docs"). Bucket("default"); var client = new ViewClient(new HttpClient(), new JsonDataMapper(new ClientConfiguration()), new BucketConfig { Name = "beer-sample" }, new ClientConfiguration()); int n = 10000; var options = new ParallelOptions { MaxDegreeOfParallelism = 4}; Parallel.For(0, n, options, async i => { var result = await client.ExecuteAsync<dynamic>(query); Console.WriteLine("{0} {1} {2}", i, result.Success, 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()); }
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_View_Query_Lots() { using (var bucket = _cluster.OpenBucket("beer-sample")) { var query = new ViewQuery(). Bucket("beer-sample"). From("beer", "brewery_beers"); var result = bucket.Query<dynamic>(query); for (var i = 0; i < 10; i++) { using (new OperationTimer()) { Assert.Greater(result.TotalRows, 0); } } } }
public void When_View_Does_Not_Exist_Return_Failure() { using (var bucket = _cluster.OpenBucket("beer-sample")) { var query = new ViewQuery(). From("beer-sample2", "beer").//does not exist Bucket("beer-sample"). Limit(10); Console.WriteLine(query.RawUri()); var result = bucket.Query<dynamic>(query); Assert.IsFalse(result.Success); Assert.AreEqual("not_found", result.Error); Assert.AreEqual(result.TotalRows, 0); } }
public void When_Query_Is_Not_Valid_ViewQuery_Throws_ViewRequestException() { var bucket = new Mock<IBucket>(); bucket.Setup(x => x.Query<Beer>(It.IsAny<IViewQuery>())) .Returns(() => new FakeViewResult<Beer> { Success = false, Rows = new List<ViewRow<Beer>>(), StatusCode = HttpStatusCode.InternalServerError, Error = "View was not found", Message = "View was not found" }); var dao = new DataAccessObject<Beer>(bucket.Object); var query = new ViewQuery() .Bucket("beer-sample") .DesignDoc("beer") .View("brewery-beers"); var exception = Assert.Throws<ViewRequestException>(()=> dao.Select(query)); Assert.AreEqual(HttpStatusCode.InternalServerError, exception.StatusCode); Assert.AreEqual("View was not found", exception.Message); }
public void Test_View_Query2() { using (var bucket = _cluster.OpenBucket("default")) { var query = new ViewQuery(). From("empty", "empty_view"). Limit(10); Console.WriteLine(query.RawUri()); var result = bucket.Query<dynamic>(query); Assert.AreEqual(result.TotalRows, 0); } }