diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2017-07-18 10:51:41 -0500 |
---|---|---|
committer | Paul J. Davis <paul.joseph.davis@gmail.com> | 2017-07-18 11:32:19 -0500 |
commit | 0bea3a40c230e9a7f7932d4f97a5f441287bdb78 (patch) | |
tree | 7ccb4df0a5ed5a8d684974dde130c71714f223ef | |
parent | 99c195b77620493a654341e2f5818dfed3f86e86 (diff) | |
download | couchdb-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.erl | 56 |
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. |