public void TempView_OnlyReduce_ShouldThrow() { _connectionMock = new Mock<ICouchConnection>(MockBehavior.Strict); var svc = new CouchService(_connectionMock.Object); var db = svc.GetDatabase("unittest"); var temp = new CouchTempView { Reduce = "blargh" }; Assert.Throws<ArgumentException>(() => db.ExecuteTempView<CouchDocument>(temp, new CouchViewQuery())); }
public void TempView_CanSerialize() { var conn = new CouchConnection("http://localhost:5984/"); var svc = new CouchService(conn); var db = svc.GetDatabase("unittest"); var temp = new CouchTempView { Map = "function(doc) {\n emit(null, doc);\n}" }; var results = db.ExecuteTempView<BusinessCard>(temp, new CouchViewQuery()); if (results.IsOk) { if (results.HasResults) { foreach (var result in results) { Debug.WriteLine(result.Name); } } else { Debug.WriteLine("Nothing found :("); } } else { Debug.WriteLine("Error: " + results.Response.ErrorType + " / " + results.Response.ErrorMessage); } }
public void TempView_CanSerialize() { _connectionMock = new Mock<ICouchConnection>(MockBehavior.Strict); _connectionMock.Setup(x => x.Post("unittest/_temp_view", "{\"language\":\"javascript\",\"map\":\"function(doc) { if (doc.foo=='bar') { emit(null, doc.foo); } }\",\"reduce\":\"function (key, values, rereduce) { return sum(values); }\"}", "application/json")).Returns(_viewEmptyResults.Object); var svc = new CouchService(_connectionMock.Object); var db = svc.GetDatabase("unittest"); var temp = new CouchTempView { Map = "function(doc) { if (doc.foo=='bar') { emit(null, doc.foo); } }", Reduce = "function (key, values, rereduce) { return sum(values); }" }; var resp = db.ExecuteTempView<CouchDocument>(temp, new CouchViewQuery()); Assert.IsTrue(resp.IsOk); Assert.IsFalse(resp.HasResults); Assert.AreEqual(0, resp.Count); }