From 539e0383e9ada1f193b1dfea5705d1d7e9a17fab Mon Sep 17 00:00:00 2001 From: Eric Avdey Date: Fri, 24 Apr 2020 10:55:05 -0300 Subject: Change arity for open_db --- src/aegis/src/aegis.erl | 6 +++--- src/aegis/src/aegis_key_manager.erl | 4 +--- src/aegis/src/aegis_noop_key_manager.erl | 4 ++-- src/aegis/src/aegis_server.erl | 24 ++++++---------------- src/aegis/test/aegis_server_test.erl | 34 ++++++++++++++++---------------- src/fabric/src/fabric2_fdb.erl | 2 +- 6 files changed, 30 insertions(+), 44 deletions(-) diff --git a/src/aegis/src/aegis.erl b/src/aegis/src/aegis.erl index 8e591ba81..e8a0b4bfb 100644 --- a/src/aegis/src/aegis.erl +++ b/src/aegis/src/aegis.erl @@ -19,7 +19,7 @@ -export([ init_db/2, - open_db/2, + open_db/1, decrypt/2, decrypt/3, @@ -33,9 +33,9 @@ init_db(#{} = Db, Options) -> }. -open_db(#{} = Db, Options) -> +open_db(#{} = Db) -> Db#{ - is_encrypted => aegis_server:open_db(Db, Options) + is_encrypted => aegis_server:open_db(Db) }. diff --git a/src/aegis/src/aegis_key_manager.erl b/src/aegis/src/aegis_key_manager.erl index 4564f4d74..aa9e3429a 100644 --- a/src/aegis/src/aegis_key_manager.erl +++ b/src/aegis/src/aegis_key_manager.erl @@ -19,6 +19,4 @@ DbOptions :: list()) -> {ok, binary()} | false. --callback open_db( - Db :: #{}, - DbOptions :: list()) -> {ok, binary()} | false. +-callback open_db(Db :: #{}) -> {ok, binary()} | false. diff --git a/src/aegis/src/aegis_noop_key_manager.erl b/src/aegis/src/aegis_noop_key_manager.erl index 786f04a0c..2b61f1d29 100644 --- a/src/aegis/src/aegis_noop_key_manager.erl +++ b/src/aegis/src/aegis_noop_key_manager.erl @@ -18,7 +18,7 @@ -export([ init_db/2, - open_db/2 + open_db/1 ]). @@ -27,5 +27,5 @@ init_db(#{} = _Db, _Options) -> false. -open_db(#{} = _Db, _Options) -> +open_db(#{} = _Db) -> false. diff --git a/src/aegis/src/aegis_server.erl b/src/aegis/src/aegis_server.erl index fb0fb5162..be8202ced 100644 --- a/src/aegis/src/aegis_server.erl +++ b/src/aegis/src/aegis_server.erl @@ -24,7 +24,7 @@ -export([ start_link/0, init_db/2, - open_db/2, + open_db/1, encrypt/3, decrypt/3 ]). @@ -66,11 +66,11 @@ init_db(#{uuid := UUID} = Db, Options) -> end. --spec open_db(Db :: #{}, Options :: list()) -> boolean(). -open_db(#{} = Db, Options) -> +-spec open_db(Db :: #{}) -> boolean(). +open_db(#{} = Db) -> process_flag(sensitive, true), - case do_open_db(Db, Options) of + case do_open_db(Db) of {ok, _DbKey} -> true; false -> @@ -211,20 +211,8 @@ code_change(_OldVsn, St, _Extra) -> %% private functions -do_open_db(#{} = Db) -> - #{ - uuid := UUID, - user_ctx := UserCtx, - db_options := Options0 - } = Db, - - %% put back elements removed in fabric2_fdb:open/2 - Options = [{uuid, UUID}, {user_ctx, UserCtx} | Options0], - do_open_db(Db, Options). - - -do_open_db(#{uuid := UUID} = Db, Options) -> - case ?AEGIS_KEY_MANAGER:open_db(Db, Options) of +do_open_db(#{uuid := UUID} = Db) -> + case ?AEGIS_KEY_MANAGER:open_db(Db) of {ok, DbKey} -> gen_server:call(?MODULE, {insert_key, UUID, DbKey}), {ok, DbKey}; diff --git a/src/aegis/test/aegis_server_test.erl b/src/aegis/test/aegis_server_test.erl index c23c36c9f..0f23a3fd9 100644 --- a/src/aegis/test/aegis_server_test.erl +++ b/src/aegis/test/aegis_server_test.erl @@ -15,7 +15,7 @@ -include_lib("eunit/include/eunit.hrl"). -include_lib("couch/include/couch_eunit.hrl"). --define(DB, #{uuid => <<0:64>>, db_options => [], user_ctx => []}). +-define(DB, #{uuid => <<0:64>>}). -define(VALUE, <<0:8>>). -define(ENCRYPTED, <<1,155,242,89,190,54,112,151,18,145,25,251,217, 49,147,125,14,162,146,201,189,100,232,38,239,111,163,84,25,60, @@ -51,7 +51,7 @@ setup() -> Ctx = test_util:start_couch([fabric]), meck:new([?AEGIS_KEY_MANAGER], [passthrough]), ok = meck:expect(?AEGIS_KEY_MANAGER, init_db, 2, {ok, <<0:256>>}), - ok = meck:expect(?AEGIS_KEY_MANAGER, open_db, 2, {ok, <<0:256>>}), + ok = meck:expect(?AEGIS_KEY_MANAGER, open_db, 1, {ok, <<0:256>>}), Ctx. @@ -66,8 +66,8 @@ test_init_db() -> test_open_db() -> - ?assert(aegis_server:open_db(?DB, [])), - ?assertEqual(1, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 2)). + ?assert(aegis_server:open_db(?DB)), + ?assertEqual(1, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 1)). test_init_db_cache() -> @@ -85,9 +85,9 @@ test_init_db_cache() -> test_open_db_cache() -> - ?assertEqual(0, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 2)), + ?assertEqual(0, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 1)), - ?assert(aegis_server:open_db(?DB, [])), + ?assert(aegis_server:open_db(?DB)), lists:foreach(fun(I) -> Encrypted = aegis_server:encrypt(?DB, <>, ?VALUE), @@ -95,26 +95,26 @@ test_open_db_cache() -> ?assertMatch(<<1:8, _/binary>>, Encrypted) end, lists:seq(1, 12)), - ?assertEqual(1, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 2)). + ?assertEqual(1, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 1)). test_encrypt_cache() -> - ?assertEqual(0, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 2)), + ?assertEqual(0, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 1)), Encrypted = aegis_server:encrypt(?DB, <<1:64>>, ?VALUE), ?assertNotEqual(?VALUE, Encrypted), ?assertMatch(<<1:8, _/binary>>, Encrypted), - ?assertEqual(1, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 2)). + ?assertEqual(1, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 1)). test_decrypt_cache() -> - ?assertEqual(0, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 2)), + ?assertEqual(0, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 1)), Decrypted = aegis_server:decrypt(?DB, <<1:64>>, ?ENCRYPTED), ?assertEqual(<<0>>, Decrypted), - ?assertEqual(1, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 2)). + ?assertEqual(1, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 1)). @@ -125,8 +125,8 @@ disabled_test_() -> Ctx = setup(), ok = meck:delete(?AEGIS_KEY_MANAGER, init_db, 2), ok = meck:expect(?AEGIS_KEY_MANAGER, init_db, 2, false), - ok = meck:delete(?AEGIS_KEY_MANAGER, open_db, 2), - ok = meck:expect(?AEGIS_KEY_MANAGER, open_db, 2, false), + ok = meck:delete(?AEGIS_KEY_MANAGER, open_db, 1), + ok = meck:expect(?AEGIS_KEY_MANAGER, open_db, 1, false), Ctx end, fun teardown/1, @@ -149,17 +149,17 @@ test_disabled_init_db() -> test_disabled_open_db() -> - ?assertNot(aegis_server:open_db(?DB, [])), - ?assertEqual(1, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 2)). + ?assertNot(aegis_server:open_db(?DB)), + ?assertEqual(1, meck:num_calls(?AEGIS_KEY_MANAGER, open_db, 1)). test_disabled_encrypt() -> - Db = ?DB#{is_encrypted => aegis_server:open_db(?DB, [])}, + Db = ?DB#{is_encrypted => aegis_server:open_db(?DB)}, Encrypted = aegis:encrypt(Db, <<1:64>>, ?VALUE), ?assertEqual(?VALUE, Encrypted). test_disabled_decrypt() -> - Db = ?DB#{is_encrypted => aegis_server:open_db(?DB, [])}, + Db = ?DB#{is_encrypted => aegis_server:open_db(?DB)}, Decrypted = aegis:decrypt(Db, <<1:64>>, ?ENCRYPTED), ?assertEqual(?ENCRYPTED, Decrypted). diff --git a/src/fabric/src/fabric2_fdb.erl b/src/fabric/src/fabric2_fdb.erl index bb5afcd64..a78f073f7 100644 --- a/src/fabric/src/fabric2_fdb.erl +++ b/src/fabric/src/fabric2_fdb.erl @@ -281,7 +281,7 @@ open(#{} = Db0, Options) -> }, Db3 = load_config(Db2), - Db4 = aegis:open_db(Db3, Options), + Db4 = aegis:open_db(Db3), case {UUID, Db4} of {undefined, _} -> ok; -- cgit v1.2.1