diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2020-02-14 11:17:15 -0600 |
---|---|---|
committer | Nick Vatamaniuc <nickva@users.noreply.github.com> | 2020-02-15 15:09:02 -0500 |
commit | e60ff8562b6cc7ff7eab15494e94c42265d876cf (patch) | |
tree | 9a60136954573a2e2d9e052700067b3590893699 | |
parent | 0292f0e0b5ee4e3e898f45a85cca45559bba9ea1 (diff) | |
download | couchdb-e60ff8562b6cc7ff7eab15494e94c42265d876cf.tar.gz |
Test coverage: list_dbs and list_dbs_info
-rw-r--r-- | src/fabric/test/fabric2_db_crud_tests.erl | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/fabric/test/fabric2_db_crud_tests.erl b/src/fabric/test/fabric2_db_crud_tests.erl index 80525513a..943b55f3f 100644 --- a/src/fabric/test/fabric2_db_crud_tests.erl +++ b/src/fabric/test/fabric2_db_crud_tests.erl @@ -30,7 +30,10 @@ crud_test_() -> ?TDEF(open_db), ?TDEF(delete_db), ?TDEF(list_dbs), - ?TDEF(list_dbs_info) + ?TDEF(list_dbs_user_fun), + ?TDEF(list_dbs_user_fun_partial), + ?TDEF(list_dbs_info), + ?TDEF(list_dbs_info_partial) ]) } }. @@ -87,6 +90,26 @@ list_dbs(_) -> ?assert(not lists:member(DbName, AllDbs3)). +list_dbs_user_fun(_) -> + ?assertMatch({ok, _}, fabric2_db:create(?tempdb(), [])), + + UserFun = fun(Row, Acc) -> {ok, [Row | Acc]} end, + {ok, UserAcc} = fabric2_db:list_dbs(UserFun, [], []), + + Base = lists:foldl(fun(DbName, Acc) -> + [{row, [{id, DbName}]} | Acc] + end, [{meta, []}], fabric2_db:list_dbs()), + Expect = lists:reverse(Base, [complete]), + + ?assertEqual(Expect, lists:reverse(UserAcc)). + + +list_dbs_user_fun_partial(_) -> + UserFun = fun(Row, Acc) -> {stop, [Row | Acc]} end, + {ok, UserAcc} = fabric2_db:list_dbs(UserFun, [], []), + ?assertEqual([{meta, []}], UserAcc). + + list_dbs_info(_) -> DbName = ?tempdb(), {ok, AllDbInfos1} = fabric2_db:list_dbs_info(), @@ -103,6 +126,12 @@ list_dbs_info(_) -> ?assert(not is_db_info_member(DbName, AllDbInfos3)). +list_dbs_info_partial(_) -> + UserFun = fun(Row, Acc) -> {stop, [Row | Acc]} end, + {ok, UserAcc} = fabric2_db:list_dbs_info(UserFun, [], []), + ?assertEqual([{meta, []}], UserAcc). + + is_db_info_member(_, []) -> false; |