예제 #1
0
        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()));
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
        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);
        }