summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2017-07-18 10:51:41 -0500
committerPaul J. Davis <paul.joseph.davis@gmail.com>2017-07-18 11:32:19 -0500
commit0bea3a40c230e9a7f7932d4f97a5f441287bdb78 (patch)
tree7ccb4df0a5ed5a8d684974dde130c71714f223ef
parent99c195b77620493a654341e2f5818dfed3f86e86 (diff)
downloadcouchdb-0bea3a40c230e9a7f7932d4f97a5f441287bdb78.tar.gz
Fix test teardown
We weren't stopping the correct set of applications as well as forgetting to unload meck. I've also changed the test generators so that they execute all of the provided assertions. Fix #687
-rw-r--r--src/mango/src/mango_idx_text.erl56
1 files changed, 31 insertions, 25 deletions
diff --git a/src/mango/src/mango_idx_text.erl b/src/mango/src/mango_idx_text.erl
index ad9d2e8d7..4710d5f7f 100644
--- a/src/mango/src/mango_idx_text.erl
+++ b/src/mango/src/mango_idx_text.erl
@@ -367,7 +367,7 @@ forbid_index_all() ->
setup() ->
- test_util:start_couch(),
+ Ctx = test_util:start_couch(),
meck:expect(couch_log, warning, 2,
fun(_,_) ->
throw({test_error, logged_warning})
@@ -375,12 +375,12 @@ setup() ->
%default index all def that generates {fields, all_fields}
Index = #idx{def={[]}},
Db = #db{name = <<"testdb">>, user_ctx=#user_ctx{name = <<"u1">>}},
- {Index, Db}.
+ {Index, Db, Ctx}.
-teardown(_) ->
- ok = config:delete("mango", "index_all_disabled"),
- test_util:stop_couch().
+teardown({_, _, Ctx}) ->
+ meck:unload(),
+ test_util:stop_couch(Ctx).
index_all_test_() ->
@@ -397,26 +397,32 @@ index_all_test_() ->
}.
-forbid_index_all({Idx, Db}) ->
- ok = config:set("mango", "index_all_disabled", "true"),
- ?_assertThrow({mango_error, ?MODULE, index_all_disabled},
- validate_new(Idx, Db)
- ).
-
-
-default_and_false_index_all({Idx, Db}) ->
- {ok, #idx{def={Def}}} = validate_new(Idx, Db),
- Fields = couch_util:get_value(fields, Def),
- ?_assertEqual(all_fields, Fields),
- ok = config:set("mango", "index_all_disabled", "false"),
- {ok, #idx{def={Def2}}} = validate_new(Idx, Db),
- Fields2 = couch_util:get_value(fields, Def2),
- ?_assertEqual(all_fields, Fields2).
-
-
-warn_index_all({Idx, Db}) ->
- ok = config:set("mango", "index_all_disabled", "warn"),
- ?_assertThrow({test_error, logged_warning}, validate_new(Idx, Db)).
+forbid_index_all({Idx, Db, _}) ->
+ ?_test(begin
+ ok = config:set("mango", "index_all_disabled", "true", false),
+ ?assertThrow({mango_error, ?MODULE, index_all_disabled},
+ validate_new(Idx, Db)
+ )
+ end).
+
+
+default_and_false_index_all({Idx, Db, _}) ->
+ ?_test(begin
+ {ok, #idx{def={Def}}} = validate_new(Idx, Db),
+ Fields = couch_util:get_value(fields, Def),
+ ?assertEqual(all_fields, Fields),
+ ok = config:set("mango", "index_all_disabled", "false", false),
+ {ok, #idx{def={Def2}}} = validate_new(Idx, Db),
+ Fields2 = couch_util:get_value(fields, Def2),
+ ?assertEqual(all_fields, Fields2)
+ end).
+
+
+warn_index_all({Idx, Db, _}) ->
+ ?_test(begin
+ ok = config:set("mango", "index_all_disabled", "warn", false),
+ ?assertThrow({test_error, logged_warning}, validate_new(Idx, Db))
+ end).
-endif.