diff options
author | Alexander Shorin <kxepal@apache.org> | 2014-06-11 20:23:47 +0400 |
---|---|---|
committer | Alexander Shorin <kxepal@apache.org> | 2015-12-03 00:52:06 +0300 |
commit | d83f2f3c0cb0eca5b81c0d300a42b47e1ece3efd (patch) | |
tree | 240dcb83ed633393d0fbfe26069a6604ce2ff98c | |
parent | 70ddbdc57563ecd8ab4c1d746b8bda46ce85c406 (diff) | |
download | couchdb-d83f2f3c0cb0eca5b81c0d300a42b47e1ece3efd.tar.gz |
Port couch_mrview/04-index-info.t etap test suite to eunit
-rw-r--r-- | src/couch_mrview/Makefile.am | 2 | ||||
-rw-r--r-- | src/couch_mrview/test/04-index-info.t | 54 | ||||
-rw-r--r-- | src/couch_mrview/test/couch_mrview_index_info_tests.erl | 87 |
3 files changed, 88 insertions, 55 deletions
diff --git a/src/couch_mrview/Makefile.am b/src/couch_mrview/Makefile.am index 59ee5fe6e..1aeee7f16 100644 --- a/src/couch_mrview/Makefile.am +++ b/src/couch_mrview/Makefile.am @@ -33,10 +33,10 @@ source_files = \ src/couch_mrview_util.erl test_files = \ + test/couch_mrview_index_info_tests.erl \ test/couch_mrview_map_views_tests.erl \ test/couch_mrview_modules_load_tests.erl \ test/couch_mrview_red_views_tests.erl \ - test/04-index-info.t \ test/05-collation.t \ test/06-all-docs.t \ test/07-compact-swap.t diff --git a/src/couch_mrview/test/04-index-info.t b/src/couch_mrview/test/04-index-info.t deleted file mode 100644 index 6b67b56d3..000000000 --- a/src/couch_mrview/test/04-index-info.t +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env escript -%% -*- erlang -*- - -% Licensed under the Apache License, Version 2.0 (the "License"); you may not -% use this file except in compliance with the License. You may obtain a copy of -% the License at -% -% http://www.apache.org/licenses/LICENSE-2.0 -% -% Unless required by applicable law or agreed to in writing, software -% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -% License for the specific language governing permissions and limitations under -% the License. - -main(_) -> - test_util:init_code_path(), - - etap:plan(9), - case (catch test()) of - ok -> - etap:end_tests(); - Other -> - etap:diag(io_lib:format("Test died abnormally: ~p", [Other])), - etap:bail(Other) - end, - timer:sleep(300), - ok. - -sig() -> <<"276df562b152b3c4e5d34024f62672ed">>. - -test() -> - couch_server_sup:start_link(test_util:config_files()), - - {ok, Db} = couch_mrview_test_util:init_db(<<"foo">>, map), - couch_mrview:query_view(Db, <<"_design/bar">>, <<"baz">>), - - {ok, Info} = couch_mrview:get_info(Db, <<"_design/bar">>), - - etap:is(getval(signature, Info), sig(), "Signature is ok."), - etap:is(getval(language, Info), <<"javascript">>, "Language is ok."), - etap:is_greater(getval(disk_size, Info), 0, "Disk size is ok."), - etap:is_greater(getval(data_size, Info), 0, "Data size is ok."), - etap:is(getval(update_seq, Info), 11, "Update seq is ok."), - etap:is(getval(purge_seq, Info), 0, "Purge seq is ok."), - etap:is(getval(updater_running, Info), false, "No updater running."), - etap:is(getval(compact_running, Info), false, "No compaction running."), - etap:is(getval(waiting_clients, Info), 0, "No waiting clients."), - - ok. - -getval(Key, PL) -> - {value, {Key, Val}} = lists:keysearch(Key, 1, PL), - Val. diff --git a/src/couch_mrview/test/couch_mrview_index_info_tests.erl b/src/couch_mrview/test/couch_mrview_index_info_tests.erl new file mode 100644 index 000000000..6c30da822 --- /dev/null +++ b/src/couch_mrview/test/couch_mrview_index_info_tests.erl @@ -0,0 +1,87 @@ +% Licensed under the Apache License, Version 2.0 (the "License"); you may not +% use this file except in compliance with the License. You may obtain a copy of +% the License at +% +% http://www.apache.org/licenses/LICENSE-2.0 +% +% Unless required by applicable law or agreed to in writing, software +% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +% License for the specific language governing permissions and limitations under +% the License. + +-module(couch_mrview_index_info_tests). + +-include("couch_eunit.hrl"). +-include_lib("couchdb/couch_db.hrl"). + +-define(ADMIN_USER, {user_ctx, #user_ctx{roles=[<<"_admin">>]}}). +-define(TIMEOUT, 1000). + + +start() -> + {ok, Pid} = couch_server_sup:start_link(?CONFIG_CHAIN), + Pid. + +stop(Pid) -> + erlang:monitor(process, Pid), + couch_server_sup:stop(), + receive + {'DOWN', _, _, Pid, _} -> + ok + after ?TIMEOUT -> + throw({timeout, server_stop}) + end. + +setup() -> + {ok, Db} = couch_mrview_test_util:init_db(?tempdb(), map), + couch_mrview:query_view(Db, <<"_design/bar">>, <<"baz">>), + {ok, Info} = couch_mrview:get_info(Db, <<"_design/bar">>), + {Db, Info}. + +teardown({Db, _}) -> + couch_db:close(Db), + couch_server:delete(Db#db.name, [?ADMIN_USER]), + ok. + + +view_info_test_() -> + { + "Views index tests", + { + setup, + fun start/0, fun stop/1, + { + foreach, + fun setup/0, fun teardown/1, + [ + fun should_get_property/1 + ] + } + } + }. + + +should_get_property({_, Info}) -> + InfoProps = [ + {signature, <<"276df562b152b3c4e5d34024f62672ed">>}, + {language, <<"javascript">>}, + {disk_size, 314}, + {data_size, 263}, + {update_seq, 11}, + {purge_seq, 0}, + {updater_running, false}, + {compact_running, false}, + {waiting_clients, 0} + ], + [ + {atom_to_list(Key), ?_assertEqual(Val, getval(Key, Info))} + || {Key, Val} <- InfoProps + ]. + + +getval(Key, PL) -> + {value, {Key, Val}} = lists:keysearch(Key, 1, PL), + Val. + + |