summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Vatamaniuc <vatamane@gmail.com>2022-08-18 21:15:02 -0400
committerNick Vatamaniuc <nickva@users.noreply.github.com>2022-08-19 13:18:59 -0400
commit31185647f5a1483abe8b0cd4b7da114a15869d8b (patch)
treec5bd17111183e2a3a8795b3ac113130295dbbf74
parent620bdea367e3bce208e982ce43442ca72cc36988 (diff)
downloadcouchdb-31185647f5a1483abe8b0cd4b7da114a15869d8b.tar.gz
Update couch_replicator_create_target_with_options_tests
Start using the common setup and tear down functions from the test helper. Also using the test definitions to use the TDEF_FE macro. Since the setup function already creates a target endpoint database and the test is also in charge of creating test database, we just remove the target db before the replication jobs start.
-rw-r--r--src/couch_replicator/test/eunit/couch_replicator_create_target_with_options_tests.erl74
1 files changed, 17 insertions, 57 deletions
diff --git a/src/couch_replicator/test/eunit/couch_replicator_create_target_with_options_tests.erl b/src/couch_replicator/test/eunit/couch_replicator_create_target_with_options_tests.erl
index 8adcd25bd..fabb6480e 100644
--- a/src/couch_replicator/test/eunit/couch_replicator_create_target_with_options_tests.erl
+++ b/src/couch_replicator/test/eunit/couch_replicator_create_target_with_options_tests.erl
@@ -14,35 +14,20 @@
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("couch/include/couch_db.hrl").
--include_lib("couch_replicator/src/couch_replicator.hrl").
-
--define(USERNAME, "rep_admin").
--define(PASSWORD, "secret").
-
-setup() ->
- Ctx = test_util:start_couch([fabric, mem3, couch_replicator, chttpd]),
- Hashed = couch_passwords:hash_admin_password(?PASSWORD),
- ok = config:set("admins", ?USERNAME, ?b2l(Hashed), _Persist = false),
- Source = ?tempdb(),
- Target = ?tempdb(),
- {Ctx, {Source, Target}}.
-
-teardown({Ctx, {_Source, _Target}}) ->
- config:delete("admins", ?USERNAME),
- ok = test_util:stop_couch(Ctx).
+-include("couch_replicator_test.hrl").
create_target_with_options_replication_test_() ->
{
"Create target with range partitions tests",
{
foreach,
- fun setup/0,
- fun teardown/1,
+ fun couch_replicator_test_helper:test_setup/0,
+ fun couch_replicator_test_helper:test_teardown/1,
[
- fun should_create_target_with_q_4/1,
- fun should_create_target_with_q_2_n_1/1,
- fun should_create_target_with_default/1,
- fun should_not_create_target_with_q_any/1
+ ?TDEF_FE(should_create_target_with_q_4),
+ ?TDEF_FE(should_create_target_with_q_2_n_1),
+ ?TDEF_FE(should_create_target_with_default),
+ ?TDEF_FE(should_not_create_target_with_q_any)
]
}
}.
@@ -55,15 +40,12 @@ should_create_target_with_q_4({_Ctx, {Source, Target}}) ->
{<<"create_target">>, true},
{<<"create_target_params">>, {[{<<"q">>, <<"4">>}]}}
]},
- create_db(Source),
create_doc(Source),
+ delete_db(Target),
{ok, _} = couch_replicator:replicate(RepObject, ?ADMIN_USER),
-
{ok, TargetInfo} = fabric:get_db_info(Target),
{ClusterInfo} = couch_util:get_value(cluster, TargetInfo),
- delete_db(Source),
- delete_db(Target),
- ?_assertEqual(4, couch_util:get_value(q, ClusterInfo)).
+ ?assertEqual(4, couch_util:get_value(q, ClusterInfo)).
should_create_target_with_q_2_n_1({_Ctx, {Source, Target}}) ->
RepObject =
@@ -73,18 +55,13 @@ should_create_target_with_q_2_n_1({_Ctx, {Source, Target}}) ->
{<<"create_target">>, true},
{<<"create_target_params">>, {[{<<"q">>, <<"2">>}, {<<"n">>, <<"1">>}]}}
]},
- create_db(Source),
create_doc(Source),
+ delete_db(Target),
{ok, _} = couch_replicator:replicate(RepObject, ?ADMIN_USER),
-
{ok, TargetInfo} = fabric:get_db_info(Target),
{ClusterInfo} = couch_util:get_value(cluster, TargetInfo),
- delete_db(Source),
- delete_db(Target),
- [
- ?_assertEqual(2, couch_util:get_value(q, ClusterInfo)),
- ?_assertEqual(1, couch_util:get_value(n, ClusterInfo))
- ].
+ ?assertEqual(2, couch_util:get_value(q, ClusterInfo)),
+ ?assertEqual(1, couch_util:get_value(n, ClusterInfo)).
should_create_target_with_default({_Ctx, {Source, Target}}) ->
RepObject =
@@ -93,16 +70,13 @@ should_create_target_with_default({_Ctx, {Source, Target}}) ->
{<<"target">>, db_url(Target)},
{<<"create_target">>, true}
]},
- create_db(Source),
create_doc(Source),
+ delete_db(Target),
{ok, _} = couch_replicator:replicate(RepObject, ?ADMIN_USER),
-
{ok, TargetInfo} = fabric:get_db_info(Target),
{ClusterInfo} = couch_util:get_value(cluster, TargetInfo),
Q = config:get_integer("cluster", "q", 2),
- delete_db(Source),
- delete_db(Target),
- ?_assertEqual(Q, couch_util:get_value(q, ClusterInfo)).
+ ?assertEqual(Q, couch_util:get_value(q, ClusterInfo)).
should_not_create_target_with_q_any({_Ctx, {Source, Target}}) ->
RepObject =
@@ -112,33 +86,19 @@ should_not_create_target_with_q_any({_Ctx, {Source, Target}}) ->
{<<"create_target">>, false},
{<<"create_target_params">>, {[{<<"q">>, <<"1">>}]}}
]},
- create_db(Source),
create_doc(Source),
+ delete_db(Target),
{error, _} = couch_replicator:replicate(RepObject, ?ADMIN_USER),
DbExist = is_list(catch mem3:shards(Target)),
- delete_db(Source),
- ?_assertEqual(false, DbExist).
+ ?assertEqual(false, DbExist).
create_doc(DbName) ->
Body = {[{<<"foo">>, <<"bar">>}]},
NewDoc = #doc{body = Body},
{ok, _} = fabric:update_doc(DbName, NewDoc, [?ADMIN_CTX]).
-create_db(DbName) ->
- ok = fabric:create_db(DbName, [?ADMIN_CTX]).
-
delete_db(DbName) ->
ok = fabric:delete_db(DbName, [?ADMIN_CTX]).
db_url(DbName) ->
- Addr = config:get("chttpd", "bind_address", "127.0.0.1"),
- Port = mochiweb_socket_server:get(chttpd, port),
- ?l2b(
- io_lib:format("http://~s:~s@~s:~b/~s", [
- ?USERNAME,
- ?PASSWORD,
- Addr,
- Port,
- DbName
- ])
- ).
+ couch_replicator_test_helper:cluster_db_url(DbName).