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.erl33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/chttpd/test/chttpd_purge_tests.erl b/src/chttpd/test/chttpd_purge_tests.erl
index 686552590..af1bd0b1c 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_accepted_purge_request/1,
fun test_partial_purge_request/1,
fun test_mixed_purge_request/1,
fun test_overmany_ids_or_revs_purge_request/1,
@@ -135,6 +136,38 @@ test_ok_purge_request(Url) ->
end).
+test_accepted_purge_request(Url) ->
+ ?_test(begin
+ {ok, _, _, Body} = create_doc(Url, "doc1"),
+ {Json} = ?JSON_DECODE(Body),
+ Rev1 = couch_util:get_value(<<"rev">>, Json, undefined),
+ IdsRevsEJson = {[
+ {<<"doc1">>, [Rev1]}
+ ]},
+ IdsRevs = binary_to_list(?JSON_ENCODE(IdsRevsEJson)),
+ meck:new(fabric, [passthrough]),
+ meck:expect(fabric, purge_docs,
+ fun(_, _, _) -> {accepted,[{accepted,[{1,
+ <<57,27,64,134,152,18,73,243,40,1,141,214,135,104,79,188>>}]}]}
+ end
+ ),
+ {ok, Status, _, ResultBody} = test_request:post(Url ++ "/_purge/",
+ [?CONTENT_JSON, ?AUTH], IdsRevs),
+ ResultJson = ?JSON_DECODE(ResultBody),
+ meck:unload(fabric),
+ ?assert(Status =:= 202),
+ ?assertEqual(
+ {[
+ {<<"purge_seq">>, null},
+ {<<"purged">>, {[
+ {<<"doc1">>, [Rev1]}
+ ]}}
+ ]},
+ ResultJson
+ )
+ end).
+
+
test_partial_purge_request(Url) ->
?_test(begin
{ok, _, _, Body} = create_doc(Url, "doc1"),