diff options
Diffstat (limited to 'apps/mem3/test/mem3_util_test.erl')
-rw-r--r-- | apps/mem3/test/mem3_util_test.erl | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/apps/mem3/test/mem3_util_test.erl b/apps/mem3/test/mem3_util_test.erl deleted file mode 100644 index 490521cf..00000000 --- a/apps/mem3/test/mem3_util_test.erl +++ /dev/null @@ -1,154 +0,0 @@ -% Copyright 2010 Cloudant -% -% 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(mem3_util_test). - --include("mem3.hrl"). --include_lib("eunit/include/eunit.hrl"). - -hash_test() -> - ?assertEqual(1624516141,mem3_util:hash(0)), - ?assertEqual(3816901808,mem3_util:hash("0")), - ?assertEqual(3523407757,mem3_util:hash(<<0>>)), - ?assertEqual(4108050209,mem3_util:hash(<<"0">>)), - ?assertEqual(3094724072,mem3_util:hash(zero)), - ok. - -name_shard_test() -> - Shard1 = #shard{}, - ?assertError(function_clause, mem3_util:name_shard(Shard1)), - - Shard2 = #shard{dbname = <<"testdb">>, range = [0,100]}, - #shard{name=Name2} = mem3_util:name_shard(Shard2), - ?assertEqual(<<"shards/00000000-00000064/testdb">>, Name2), - - ok. - -create_partition_map_test() -> - {DbName1, N1, Q1, Nodes1} = {<<"testdb1">>, 3, 4, [a,b,c,d]}, - Map1 = mem3_util:create_partition_map(DbName1, N1, Q1, Nodes1), - ?assertEqual(12, length(Map1)), - - {DbName2, N2, Q2, Nodes2} = {<<"testdb2">>, 1, 1, [a,b,c,d]}, - [#shard{name=Name2,node=Node2}] = Map2 = - mem3_util:create_partition_map(DbName2, N2, Q2, Nodes2), - ?assertEqual(1, length(Map2)), - ?assertEqual(<<"shards/00000000-ffffffff/testdb2">>, Name2), - ?assertEqual(a, Node2), - ok. - -build_shards_test() -> - DocProps1 = - [{<<"changelog">>, - [[<<"add">>,<<"00000000-1fffffff">>, - <<"bigcouch@node.local">>], - [<<"add">>,<<"20000000-3fffffff">>, - <<"bigcouch@node.local">>], - [<<"add">>,<<"40000000-5fffffff">>, - <<"bigcouch@node.local">>], - [<<"add">>,<<"60000000-7fffffff">>, - <<"bigcouch@node.local">>], - [<<"add">>,<<"80000000-9fffffff">>, - <<"bigcouch@node.local">>], - [<<"add">>,<<"a0000000-bfffffff">>, - <<"bigcouch@node.local">>], - [<<"add">>,<<"c0000000-dfffffff">>, - <<"bigcouch@node.local">>], - [<<"add">>,<<"e0000000-ffffffff">>, - <<"bigcouch@node.local">>]]}, - {<<"by_node">>, - {[{<<"bigcouch@node.local">>, - [<<"00000000-1fffffff">>,<<"20000000-3fffffff">>, - <<"40000000-5fffffff">>,<<"60000000-7fffffff">>, - <<"80000000-9fffffff">>,<<"a0000000-bfffffff">>, - <<"c0000000-dfffffff">>,<<"e0000000-ffffffff">>]}]}}, - {<<"by_range">>, - {[{<<"00000000-1fffffff">>,[<<"bigcouch@node.local">>]}, - {<<"20000000-3fffffff">>,[<<"bigcouch@node.local">>]}, - {<<"40000000-5fffffff">>,[<<"bigcouch@node.local">>]}, - {<<"60000000-7fffffff">>,[<<"bigcouch@node.local">>]}, - {<<"80000000-9fffffff">>,[<<"bigcouch@node.local">>]}, - {<<"a0000000-bfffffff">>,[<<"bigcouch@node.local">>]}, - {<<"c0000000-dfffffff">>,[<<"bigcouch@node.local">>]}, - {<<"e0000000-ffffffff">>,[<<"bigcouch@node.local">>]}]}}], - Shards1 = mem3_util:build_shards(<<"testdb1">>, DocProps1), - ExpectedShards1 = - [{shard,<<"shards/00000000-1fffffff/testdb1">>, - 'bigcouch@node.local',<<"testdb1">>, - [0,536870911], - undefined}, - {shard,<<"shards/20000000-3fffffff/testdb1">>, - 'bigcouch@node.local',<<"testdb1">>, - [536870912,1073741823], - undefined}, - {shard,<<"shards/40000000-5fffffff/testdb1">>, - 'bigcouch@node.local',<<"testdb1">>, - [1073741824,1610612735], - undefined}, - {shard,<<"shards/60000000-7fffffff/testdb1">>, - 'bigcouch@node.local',<<"testdb1">>, - [1610612736,2147483647], - undefined}, - {shard,<<"shards/80000000-9fffffff/testdb1">>, - 'bigcouch@node.local',<<"testdb1">>, - [2147483648,2684354559], - undefined}, - {shard,<<"shards/a0000000-bfffffff/testdb1">>, - 'bigcouch@node.local',<<"testdb1">>, - [2684354560,3221225471], - undefined}, - {shard,<<"shards/c0000000-dfffffff/testdb1">>, - 'bigcouch@node.local',<<"testdb1">>, - [3221225472,3758096383], - undefined}, - {shard,<<"shards/e0000000-ffffffff/testdb1">>, - 'bigcouch@node.local',<<"testdb1">>, - [3758096384,4294967295], - undefined}], - ?assertEqual(ExpectedShards1, Shards1), - ok. - - -%% n_val tests - -nval_test() -> - ?assertEqual(2, mem3_util:n_val(2,4)), - ?assertEqual(1, mem3_util:n_val(-1,4)), - ?assertEqual(4, mem3_util:n_val(6,4)), - ok. - -config_01_setup() -> - Ini = filename:join([code:lib_dir(mem3, test), "01-config-default.ini"]), - {ok, Pid} = couch_config:start_link([Ini]), - Pid. - -config_teardown(_Pid) -> - couch_config:stop(). - -n_val_test_() -> - {"n_val tests", - [ - {setup, - fun config_01_setup/0, - fun config_teardown/1, - fun(Pid) -> - {with, Pid, [ - fun n_val_1/1 - ]} - end} - ] - }. - -n_val_1(_Pid) -> - ?assertEqual(3, mem3_util:n_val(undefined, 4)). |