You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ko...@apache.org on 2017/03/01 16:39:05 UTC
[18/50] couch commit: updated refs/heads/2971-count-distinct to
ee32cd5
Add test suite for handling errors from fabric
COUCHDB-3195
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch/commit/2f26dd23
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch/tree/2f26dd23
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch/diff/2f26dd23
Branch: refs/heads/2971-count-distinct
Commit: 2f26dd234e08c8381fd5177ed43c9e1cefd630b0
Parents: 8f53c1f
Author: ILYA Khlopotov <ii...@apache.org>
Authored: Thu Oct 13 14:56:19 2016 -0700
Committer: ILYA Khlopotov <ii...@apache.org>
Committed: Fri Nov 11 16:19:19 2016 -0800
----------------------------------------------------------------------
test/couchdb_mrview_tests.erl | 36 +++++++++++++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch/blob/2f26dd23/test/couchdb_mrview_tests.erl
----------------------------------------------------------------------
diff --git a/test/couchdb_mrview_tests.erl b/test/couchdb_mrview_tests.erl
index fa9ba70..9a4cc03 100644
--- a/test/couchdb_mrview_tests.erl
+++ b/test/couchdb_mrview_tests.erl
@@ -27,6 +27,11 @@
"var data = JSON.parse(req.body); "
"return ['test', data];"
"}">>}
+ ]}},
+ {<<"views">>, {[
+ {<<"view1">>, {[
+ {<<"map">>, <<"function(doc){emit(doc._id, doc._rev)}">>}
+ ]}}
]}}
]}).
@@ -60,7 +65,7 @@ teardown(PortType, {_Host, DbName}) ->
delete_db(PortType, ?l2b(DbName)),
ok.
-mrview_update_test_() ->
+mrview_show_test_() ->
{
"Check show functionality",
{
@@ -73,6 +78,19 @@ mrview_update_test_() ->
}
}.
+mrview_query_test_() ->
+ {
+ "Check view query functionality",
+ {
+ setup,
+ fun start/0, fun teardown/1,
+ [
+ make_test_case(clustered, [fun should_return_400_for_wrong_order_of_keys/2]),
+ make_test_case(backdoor, [fun should_return_400_for_wrong_order_of_keys/2])
+ ]
+ }
+ }.
+
make_test_case(Mod, Funs) ->
{
lists:flatten(io_lib:format("~s", [Mod])),
@@ -94,6 +112,22 @@ should_return_invalid_request_body(PortType, {Host, DbName}) ->
ok
end).
+should_return_400_for_wrong_order_of_keys(_PortType, {Host, DbName}) ->
+ Args = [{start_key, "\"bbb\""}, {end_key, "\"aaa\""}],
+ ?_test(begin
+ ReqUrl = Host ++ "/" ++ DbName
+ ++ "/_design/foo/_view/view1?" ++ mochiweb_util:urlencode(Args),
+ {ok, Status, _Headers, Body} = test_request:get(ReqUrl, [?AUTH]),
+ {Props} = jiffy:decode(Body),
+ ?assertEqual(
+ <<"query_parse_error">>, couch_util:get_value(<<"error">>, Props)),
+ ?assertEqual(
+ <<"No rows can match your key range, reverse your start_key and end_key or set descending=true">>,
+ couch_util:get_value(<<"reason">>, Props)),
+ ?assertEqual(400, Status),
+ ok
+ end).
+
create_doc(backdoor, DbName, Id, Body) ->
JsonDoc = couch_util:json_apply_field({<<"_id">>, Id}, Body),
Doc = couch_doc:from_json_obj(JsonDoc),