You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2014/02/13 00:29:08 UTC
[13/25] couch-mrview commit: updated refs/heads/1994-merge-rcouch to
7775266
couch_mrview: check removed keys from the index.
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/8ca63957
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/8ca63957
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/8ca63957
Branch: refs/heads/1994-merge-rcouch
Commit: 8ca63957d0884537a0fc3a3365f8f299a6748bcf
Parents: 3b6903e
Author: benoitc <be...@apache.org>
Authored: Mon Jan 27 21:03:28 2014 +0100
Committer: Paul J. Davis <pa...@gmail.com>
Committed: Wed Feb 12 17:27:39 2014 -0600
----------------------------------------------------------------------
test/08-changes_since.t | 42 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 40 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/8ca63957/test/08-changes_since.t
----------------------------------------------------------------------
diff --git a/test/08-changes_since.t b/test/08-changes_since.t
index 3127cff..5a10f4c 100644
--- a/test/08-changes_since.t
+++ b/test/08-changes_since.t
@@ -15,7 +15,7 @@
% the License.
main(_) ->
- etap:plan(10),
+ etap:plan(14),
case (catch test()) of
ok ->
etap:end_tests();
@@ -40,7 +40,8 @@ test() ->
test_basic_count_since(Db),
test_range_count_since(Db),
test_compact(Db),
- test_util:stop_couch(),
+ test_remove_key(Db),
+ catch test_util:stop_couch(),
ok.
@@ -112,6 +113,43 @@ test_compact(Db) ->
Count = run_count_query(Db, 0, []),
etap:is(Count, 10, "compact view worked.").
+test_remove_key(Db) ->
+ %% add new doc
+ Doc = couch_mrview_test_util:doc(11),
+ {ok, Rev} = couch_db:update_doc(Db, Doc, []),
+ RevStr = couch_doc:rev_to_str(Rev),
+ {ok, _} = couch_db:ensure_full_commit(Db),
+ {ok, Db1} = couch_db:reopen(Db),
+ Result = run_count_query(Db1, 0, []),
+ etap:is(Result, 11, "Add new doc worked."),
+ %% check new view key
+ Result1 = run_query(Db1, 0, [{start_key, 11}, {end_key, 11}]),
+ Expect = {ok, [
+ {{12, 11, <<"11">>}, 11}
+ ]},
+ etap:is(Result1, Expect, "added key OK."),
+
+ %% delete doc
+ Doc2 = couch_doc:from_json_obj({[
+ {<<"_id">>, <<"11">>},
+ {<<"_rev">>, RevStr},
+ {<<"_deleted">>, true}
+ ]}),
+ {ok, _} = couch_db:update_doc(Db1, Doc2, []),
+ {ok, Db2} = couch_db:reopen(Db1),
+ Result2 = run_count_query(Db2, 0, []),
+ etap:is(Result2, 11, "removed key saved."),
+ %% check new view key
+ Result3 = run_query(Db2, 0, [{start_key, 11}, {end_key, 11}]),
+ Expect2 = {ok, [
+ {{13, 11, <<"11">>}, {[{<<"_removed">>, true}]}}
+ ]},
+ etap:is(Result3, Expect2, "removed key OK.").
+
+
+
+
+
run_query(Db, Since, Opts) ->
Fun = fun(KV, Acc) -> {ok, [KV | Acc]} end,
{ok, R} = couch_mrview:view_changes_since(Db, <<"_design/bar">>, <<"baz">>,