This is an automated email from the ASF dual-hosted git repository. vatamane pushed a commit to branch refactor-replication-tests in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit b15409c1f0fda06855d8eb034fd9c2079719f55f Author: Nick Vatamaniuc <[email protected]> AuthorDate: Thu Aug 18 21:15:02 2022 -0400 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. --- ...replicator_create_target_with_options_tests.erl | 74 +++++----------------- 1 file 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).
