summaryrefslogtreecommitdiff
path: root/src/chttpd/test/chttpd_purge_tests.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/chttpd/test/chttpd_purge_tests.erl')
-rw-r--r--src/chttpd/test/chttpd_purge_tests.erl21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/chttpd/test/chttpd_purge_tests.erl b/src/chttpd/test/chttpd_purge_tests.erl
index b3acb0668..50f7e18e5 100644
--- a/src/chttpd/test/chttpd_purge_tests.erl
+++ b/src/chttpd/test/chttpd_purge_tests.erl
@@ -70,6 +70,7 @@ purge_test_() ->
[
fun test_empty_purge_request/1,
fun test_ok_purge_request/1,
+ fun test_ok_purge_request_with_101_docid/1,
fun test_accepted_purge_request/1,
fun test_partial_purge_request/1,
fun test_mixed_purge_request/1,
@@ -137,6 +138,26 @@ test_ok_purge_request(Url) ->
end).
+test_ok_purge_request_with_101_docid(Url) ->
+ ?_test(begin
+ PurgedDocsNum = 101,
+ IdsRevsEJson = lists:foldl(fun(I, CIdRevs) ->
+ Id = list_to_binary(integer_to_list(I)),
+ {ok, _, _, Body} = create_doc(Url, Id),
+ {Json} = ?JSON_DECODE(Body),
+ Rev = couch_util:get_value(<<"rev">>, Json, undefined),
+ [{Id, [Rev]} | CIdRevs]
+ end, [], lists:seq(1, PurgedDocsNum)),
+
+ IdsRevs = binary_to_list(?JSON_ENCODE({IdsRevsEJson})),
+ ok = config:set("purge", "max_document_id_number", "101"),
+ {ok, Status, _, _} = test_request:post(Url ++ "/_purge/",
+ [?CONTENT_JSON, ?AUTH], IdsRevs),
+ ok = config:delete("purge", "max_document_id_number"),
+ ?assert(Status =:= 201 orelse Status =:= 202)
+ end).
+
+
test_accepted_purge_request(Url) ->
?_test(begin
{ok, _, _, Body} = create_doc(Url, "doc1"),