This is an automated email from the ASF dual-hosted git repository.

garren pushed a commit to branch partition-review-fixes
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit fd9d87ed9c984234625214b47d366078a0165ad7
Author: Garren Smith <garren.sm...@gmail.com>
AuthorDate: Tue Oct 16 12:23:19 2018 +0200

    fix use of meck in unit tests
---
 src/couch/test/couchdb_views_tests.erl  |   1 -
 src/fabric/src/fabric_view_all_docs.erl | 177 +++++++++++++++++++-------------
 src/mem3/src/mem3.erl                   |  26 +++--
 3 files changed, 122 insertions(+), 82 deletions(-)

diff --git a/src/couch/test/couchdb_views_tests.erl 
b/src/couch/test/couchdb_views_tests.erl
index a023a8c..1b1a8e5 100644
--- a/src/couch/test/couchdb_views_tests.erl
+++ b/src/couch/test/couchdb_views_tests.erl
@@ -60,7 +60,6 @@ setup_legacy() ->
     lists:foreach(fun(File) -> file:delete(File) end, Files),
 
     % copy old db file into db dir
-    ?debugFmt("copy ~p ~p", [OldDbFilePath, NewDbFilePath]),
     {ok, _} = file:copy(OldDbFilePath, NewDbFilePath),
 
     % copy old view file into view dir
diff --git a/src/fabric/src/fabric_view_all_docs.erl 
b/src/fabric/src/fabric_view_all_docs.erl
index 635f2d8..6eb626a 100644
--- a/src/fabric/src/fabric_view_all_docs.erl
+++ b/src/fabric/src/fabric_view_all_docs.erl
@@ -327,85 +327,114 @@ cancel_read_pids(Pids) ->
 -ifdef(TEST).
 
 -include_lib("eunit/include/eunit.hrl").
+    check_partitions_work_with_shards_test_() ->
+        {
+            foreach,
+            fun setup/0,
+            fun teardown/1,
+            [
+                t_shards_for_partition_gets_partitioned_shards(),
+                t_shards_for_no_partition_gets_all_shards(),
+                t_shards_for_different_partitions_gets_all_shards(),
+                t_shards_for_no_startkey_all_shards(),
+                t_shards_for_no_endkey_all_shards(),
+                t_shards_for_no_keys_all_shards(),
+                t_shards_for_non_binary_keys_all_shards()
 
-    shards_for_partition_gets_partitioned_shards_test() ->
-        DbName = <<"db">>,
-        Args = #mrargs{
-            start_key = <<"pk:id">>,
-            end_key = <<"pk:idZ">>,
-            extra = [{partitioned, true}]
-        },
-        meck:expect(mem3, shards, fun(<<"db">>, <<"pk:foo">>) -> [] end),
-        shards(DbName, Args),
-        meck:validate(mem3),
-        meck:unload(mem3).
-
-    shards_for_no_partition_gets_all_shards_test() ->
-        DbName = <<"db">>,
-        Args = #mrargs{
-            start_key = <<"pk:id">>,
-            end_key = <<"pk:idZ">>,
-            extra = [{partitioned, false}]
-        },
-        meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
-        shards(DbName, Args),
-        meck:validate(mem3),
-        meck:unload(mem3).
+            ]
+        }.
+
+    setup() ->
+        ok.
+
+    teardown(_) ->
+        meck:unload().
+
+    t_shards_for_partition_gets_partitioned_shards() ->
+        ?_test(begin
+            DbName = <<"db">>,
+            Args = #mrargs{
+                start_key = <<"pk:id">>,
+                end_key = <<"pk:idZ">>,
+                extra = [{partitioned, true}]
+            },
+            meck:expect(mem3, shards, fun(<<"db">>, <<"pk:foo">>) -> [] end),
+            shards(DbName, Args),
+            ?assertEqual(1, meck:num_calls(mem3, shards, '_'))
+        end).
+
+    t_shards_for_no_partition_gets_all_shards() ->
+        ?_test(begin
+            DbName = <<"db">>,
+            Args = #mrargs{
+                start_key = <<"pk:id">>,
+                end_key = <<"pk:idZ">>,
+                extra = [{partitioned, false}]
+            },
+            meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
+            shards(DbName, Args),
+            ?assertEqual(1, meck:num_calls(mem3, shards, '_'))
+        end).
     
-    shards_for_different_partitions_gets_all_shards_test() ->
-        DbName = <<"db">>,
-        Args = #mrargs{
-            start_key = <<"pk1:id">>,
-            end_key = <<"pk2:idZ">>,
-            extra = [{partitioned, true}]
-        },
-        meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
-        shards(DbName, Args),
-        meck:validate(mem3),
-        meck:unload(mem3).
+    t_shards_for_different_partitions_gets_all_shards() ->
+        ?_test(begin
+            DbName = <<"db">>,
+            Args = #mrargs{
+                start_key = <<"pk1:id">>,
+                end_key = <<"pk2:idZ">>,
+                extra = [{partitioned, true}]
+            },
+            meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
+            shards(DbName, Args),
+            ?assertEqual(1, meck:num_calls(mem3, shards, '_'))
+        end).
     
-    shards_for_no_startkey_all_shards_test() ->
-        DbName = <<"db">>,
-        Args = #mrargs{
-            end_key = <<"pk:idZ">>,
-            extra = [{partitioned, true}]
-        },
-        meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
-        shards(DbName, Args),
-        meck:validate(mem3),
-        meck:unload(mem3).
+    t_shards_for_no_startkey_all_shards() ->
+        ?_test(begin
+            DbName = <<"db">>,
+            Args = #mrargs{
+                end_key = <<"pk:idZ">>,
+                extra = [{partitioned, true}]
+            },
+            meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
+            shards(DbName, Args),
+            ?assertEqual(1, meck:num_calls(mem3, shards, '_'))
+        end).
     
-    shards_for_no_endkey_all_shards_test() ->
-        DbName = <<"db">>,
-        Args = #mrargs{
-            start_key = <<"pk:idZ">>,
-            extra = [{partitioned, true}]
-        },
-        meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
-        shards(DbName, Args),
-        meck:validate(mem3),
-        meck:unload(mem3).
+    t_shards_for_no_endkey_all_shards() ->
+        ?_test(begin
+            DbName = <<"db">>,
+            Args = #mrargs{
+                start_key = <<"pk:idZ">>,
+                extra = [{partitioned, true}]
+            },
+            meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
+            shards(DbName, Args),
+            ?assertEqual(1, meck:num_calls(mem3, shards, '_'))
+        end).
     
-    shards_for_no_keys_all_shards_test() ->
-        DbName = <<"db">>,
-        Args = #mrargs{
-            extra = [{partitioned, true}]
-        },
-        meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
-        shards(DbName, Args),
-        meck:validate(mem3),
-        meck:unload(mem3).
+    t_shards_for_no_keys_all_shards() ->
+        ?_test(begin
+            DbName = <<"db">>,
+            Args = #mrargs{
+                extra = [{partitioned, true}]
+            },
+            meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
+            shards(DbName, Args),
+            ?assertEqual(1, meck:num_calls(mem3, shards, '_'))
+        end).
     
-    shards_for_non_binary_keys_all_shards_test() ->
-        DbName = <<"db">>,
-        Args = #mrargs{
-            start_key = null,
-            end_key = null,
-            extra = [{partitioned, true}]
-        },
-        meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
-        shards(DbName, Args),
-        meck:validate(mem3),
-        meck:unload(mem3).
+    t_shards_for_non_binary_keys_all_shards() ->
+        ?_test(begin
+            DbName = <<"db">>,
+            Args = #mrargs{
+                start_key = null,
+                end_key = null,
+                extra = [{partitioned, true}]
+            },
+            meck:expect(mem3, shards, fun(<<"db">>) -> [] end),
+            shards(DbName, Args),
+            ?assertEqual(1, meck:num_calls(mem3, shards, '_'))
+        end).
 
 -endif.
diff --git a/src/mem3/src/mem3.erl b/src/mem3/src/mem3.erl
index d6d14dd..17a2322 100644
--- a/src/mem3/src/mem3.erl
+++ b/src/mem3/src/mem3.erl
@@ -412,15 +412,27 @@ allowed_nodes_test_() ->
         ]
     }]}.
 
-is_partitioned_false_shards_db_test() ->
-    meck:expect(config, get, fun (_, _, Default) -> Default end),
-    ?assertEqual(is_partitioned(<<"_dbs">>), false),
+check_partitions_and_system_dbs_test_() ->
+        {
+            foreach,
+            fun setup/0,
+            fun teardown/1,
+            [
+                t_is_partitioned_false_shards_db()
+            ]
+        }.
+
+setup() ->
+        ok.
+
+teardown(_) ->
     meck:unload().
 
-is_partitioned_false_nodes_db_test() ->
-    meck:expect(config, get, fun (_, _, Default) -> Default end),
-    ?assertEqual(is_partitioned(<<"_nodes">>), false),
-    meck:unload().
+t_is_partitioned_false_shards_db() ->
+    ?_test(begin
+        meck:expect(config, get, fun (_, _, Default) -> Default end),
+        ?assertEqual(is_partitioned(<<"_dbs">>), false)
+    end).
 
 is_partitioned_true_partitioned_db_test() ->
     Shard = #shard{

Reply via email to