summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Shorin <kxepal@apache.org>2014-06-11 20:23:47 +0400
committerAlexander Shorin <kxepal@apache.org>2015-12-03 00:52:06 +0300
commitd83f2f3c0cb0eca5b81c0d300a42b47e1ece3efd (patch)
tree240dcb83ed633393d0fbfe26069a6604ce2ff98c
parent70ddbdc57563ecd8ab4c1d746b8bda46ce85c406 (diff)
downloadcouchdb-d83f2f3c0cb0eca5b81c0d300a42b47e1ece3efd.tar.gz
Port couch_mrview/04-index-info.t etap test suite to eunit
-rw-r--r--src/couch_mrview/Makefile.am2
-rw-r--r--src/couch_mrview/test/04-index-info.t54
-rw-r--r--src/couch_mrview/test/couch_mrview_index_info_tests.erl87
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.
+
+