Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions rebar.config
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@
{scoper, {git, "https://github.com/valitydev/scoper.git", {tag, "v1.1.0"}}},
{thrift, {git, "https://github.com/valitydev/thrift-erlang.git", {tag, "v1.0.0"}}},
{woody, {git, "https://github.com/valitydev/woody_erlang.git", {tag, "v1.1.0"}}},
{dmt_client, {git, "https://github.com/valitydev/dmt-client.git", {branch, master}}},
{damsel, {git, "https://github.com/valitydev/damsel.git", {branch, "master"}}},
{dmt_client, {git, "https://github.com/valitydev/dmt-client.git", {tag, "v2.0.0"}}},
{damsel, {git, "https://github.com/valitydev/damsel.git", {tag, "v2.2.0"}}},
{identdocstore_proto, {git, "https://github.com/valitydev/identdocstore-proto.git", {branch, "master"}}},
{fistful_proto, {git, "https://github.com/valitydev/fistful-proto.git", {branch, "master"}}},
{fistful_proto, {git, "https://github.com/valitydev/fistful-proto.git", {tag, "v2.0.0"}}},
{fistful_reporter_proto, {git, "https://github.com/valitydev/fistful-reporter-proto.git", {branch, "master"}}},
{file_storage_proto, {git, "https://github.com/valitydev/file-storage-proto.git", {branch, "master"}}},
{bender_client, {git, "https://github.com/valitydev/bender-client-erlang.git", {tag, "v1.1.0"}}},
Expand Down
25 changes: 14 additions & 11 deletions rebar.lock
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
{<<"cowlib">>,{pkg,<<"cowlib">>,<<"2.11.0">>},2},
{<<"damsel">>,
{git,"https://github.com/valitydev/damsel.git",
{ref,"ab44b9db25a76a2c50545fd884e4cdf3d3e3b628"}},
{ref,"ba7414811590859d058817b8f22d2e9c22f627f8"}},
0},
{<<"dmt_client">>,
{git,"https://github.com/valitydev/dmt-client.git",
{ref,"d8a4f490d49c038d96f1cbc2a279164c6f4039f9"}},
{ref,"fcfb028a041149caeebec8d9cef469c8cdbbc63e"}},
0},
{<<"dmt_core">>,
{git,"https://github.com/valitydev/dmt-core.git",
Expand Down Expand Up @@ -64,7 +64,7 @@
{ref,"3f9c136ae2f70b9830f46c990e00d75dacfd73d9"}},
0},
{<<"metrics">>,{pkg,<<"metrics">>,<<"1.0.1">>},2},
{<<"mimerl">>,{pkg,<<"mimerl">>,<<"1.3.0">>},2},
{<<"mimerl">>,{pkg,<<"mimerl">>,<<"1.4.0">>},2},
{<<"msgpack_proto">>,
{git,"https://github.com/valitydev/msgpack-proto.git",
{ref,"7e447496aa5df4a5f1ace7ef2e3c31248b2a3ed0"}},
Expand All @@ -75,7 +75,8 @@
{ref,"04de2f4ad697430c75f8efa04716d30753bd7c4b"}},
1},
{<<"parse_trans">>,{pkg,<<"parse_trans">>,<<"3.3.1">>},2},
{<<"prometheus">>,{pkg,<<"prometheus">>,<<"4.6.0">>},1},
{<<"prometheus">>,{pkg,<<"prometheus">>,<<"4.11.0">>},1},
{<<"quantile_estimator">>,{pkg,<<"quantile_estimator">>,<<"0.2.1">>},2},
{<<"quickrand">>,
{git,"https://github.com/okeuday/quickrand.git",
{ref,"65332de501998764f437c3ffe05d744f582d7622"}},
Expand Down Expand Up @@ -110,7 +111,7 @@
{git,"https://github.com/valitydev/erlang_uac.git",
{ref,"b67fca391127ad6aa3345aa67a7460a10a856c52"}},
0},
{<<"unicode_util_compat">>,{pkg,<<"unicode_util_compat">>,<<"0.7.0">>},2},
{<<"unicode_util_compat">>,{pkg,<<"unicode_util_compat">>,<<"0.7.1">>},2},
{<<"uuid">>,
{git,"https://github.com/okeuday/uuid.git",
{ref,"63e32cdad70693495163ab131456905e827a5e36"}},
Expand All @@ -130,13 +131,14 @@
{<<"idna">>, <<"8A63070E9F7D0C62EB9D9FCB360A7DE382448200FBBD1B106CC96D3D8099DF8D">>},
{<<"jsx">>, <<"D12516BAA0BB23A59BB35DCCAF02A1BD08243FCBB9EFE24F2D9D056CCFF71268">>},
{<<"metrics">>, <<"25F094DEA2CDA98213CECC3AEFF09E940299D950904393B2A29D191C346A8486">>},
{<<"mimerl">>, <<"D0CD9FC04B9061F82490F6581E0128379830E78535E017F7780F37FEA7545726">>},
{<<"mimerl">>, <<"3882A5CA67FBBE7117BA8947F27643557ADEC38FA2307490C4C4207624CB213B">>},
{<<"opentelemetry_api">>, <<"63CA1742F92F00059298F478048DFB826F4B20D49534493D6919A0DB39B6DB04">>},
{<<"parse_trans">>, <<"16328AB840CC09919BD10DAB29E431DA3AF9E9E7E7E6F0089DD5A2D2820011D8">>},
{<<"prometheus">>, <<"20510F381DB1CCAB818B4CF2FAC5FA6AB5CC91BC364A154399901C001465F46F">>},
{<<"prometheus">>, <<"B95F8DE8530F541BD95951E18E355A840003672E5EDA4788C5FA6183406BA29A">>},
{<<"quantile_estimator">>, <<"EF50A361F11B5F26B5F16D0696E46A9E4661756492C981F7B2229EF42FF1CD15">>},
{<<"ranch">>, <<"8C7A100A139FD57F17327B6413E4167AC559FBC04CA7448E9BE9057311597A1D">>},
{<<"ssl_verify_fun">>, <<"354C321CF377240C7B8716899E182CE4890C5938111A1296ADD3EC74CF1715DF">>},
{<<"unicode_util_compat">>, <<"BC84380C9AB48177092F43AC89E4DFA2C6D62B40B8BD132B1059ECC7232F9A78">>}]},
{<<"unicode_util_compat">>, <<"A48703A25C170EEDADCA83B11E88985AF08D35F37C6F664D6DCFB106A97782FC">>}]},
{pkg_hash_ext,[
{<<"cache">>, <<"44516CE6FA03594D3A2AF025DD3A87BFE711000EB730219E1DDEFC816E0AA2F4">>},
{<<"certifi">>, <<"6AC7EFC1C6F8600B08D625292D4BBF584E14847CE1B6B5C44D983D273E1097EA">>},
Expand All @@ -147,11 +149,12 @@
{<<"idna">>, <<"92376EB7894412ED19AC475E4A86F7B413C1B9FBB5BD16DCCD57934157944CEA">>},
{<<"jsx">>, <<"0C5CC8FDC11B53CC25CF65AC6705AD39E54ECC56D1C22E4ADB8F5A53FB9427F3">>},
{<<"metrics">>, <<"69B09ADDDC4F74A40716AE54D140F93BEB0FB8978D8636EADED0C31B6F099F16">>},
{<<"mimerl">>, <<"A1E15A50D1887217DE95F0B9B0793E32853F7C258A5CD227650889B38839FE9D">>},
{<<"mimerl">>, <<"13AF15F9F68C65884ECCA3A3891D50A7B57D82152792F3E19D88650AA126B144">>},
{<<"opentelemetry_api">>, <<"3DFBBFAA2C2ED3121C5C483162836C4F9027DEF469C41578AF5EF32589FCFC58">>},
{<<"parse_trans">>, <<"07CD9577885F56362D414E8C4C4E6BDF10D43A8767ABB92D24CBE8B24C54888B">>},
{<<"prometheus">>, <<"4905FD2992F8038ECCD7AA0CD22F40637ED618C0BED1F75C05AACEC15B7545DE">>},
{<<"prometheus">>, <<"719862351AABF4DF7079B05DC085D2BBCBE3AC0AC3009E956671B1D5AB88247D">>},
{<<"quantile_estimator">>, <<"282A8A323CA2A845C9E6F787D166348F776C1D4A41EDE63046D72D422E3DA946">>},
{<<"ranch">>, <<"49FBCFD3682FAB1F5D109351B61257676DA1A2FDBE295904176D5E521A2DDFE5">>},
{<<"ssl_verify_fun">>, <<"FE4C190E8F37401D30167C8C405EDA19469F34577987C76DDE613E838BBC67F8">>},
{<<"unicode_util_compat">>, <<"25EEE6D67DF61960CF6A794239566599B09E17E668D3700247BC498638152521">>}]}
{<<"unicode_util_compat">>, <<"B3A917854CE3AE233619744AD1E0102E05673136776FB2FA76234F3E03B23642">>}]}
].
6 changes: 3 additions & 3 deletions src/wapi_domain_backend.erl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
-module(wapi_domain_backend).

-include_lib("damsel/include/dmsl_domain_thrift.hrl").
-include_lib("damsel/include/dmsl_domain_conf_thrift.hrl").
-include_lib("damsel/include/dmsl_domain_conf_v2_thrift.hrl").

-type response_data() :: wapi_handler_utils:response_data().

Expand Down Expand Up @@ -63,9 +63,9 @@ object(ObjectRef) ->
-spec object(dmt_client:version(), dmt_client:object_ref()) -> {ok, object_data()} | {error, notfound}.
object(Ref, {Type, ObjectRef}) ->
try dmt_client:checkout_object(Ref, {Type, ObjectRef}) of
{Type, {_RecordName, ObjectRef, ObjectData}} ->
#domain_conf_v2_VersionedObject{object = {Type, {_RecordName, ObjectRef, ObjectData}}} ->
{ok, ObjectData}
catch
#domain_conf_ObjectNotFound{} ->
#domain_conf_v2_ObjectNotFound{} ->
{error, notfound}
end.
2 changes: 1 addition & 1 deletion src/wapi_withdrawal_quote.erl
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ payload_v2_decoding_test() ->
"owMDowMC4zMjFaDAAFDQAHDAwAAAABDwAIDAAAAAEMAAEAAAAPAAgMAAAAAQwAAQAAAAAMAAY"
"IAAMAAAPoCAAEAAAAAgsAAQAAAAM3MDAADAAHDAABDAABDQAHDAwAAAABDwAIDAAAAAEMAAEA"
"AAAPAAgMAAAAAQwAAQAAAAAAAAsACAAAABgxOTcwLTAxLTAxVDAwOjAwOjAwLjIzNFoKAAkAA"
"AAAAAAAAQoACgAAAAAAAAACAA=="
"AAAAAAAAQA="
>>
},
?assertEqual(
Expand Down
55 changes: 41 additions & 14 deletions test/wapi_ct_helper.erl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
-module(wapi_ct_helper).

-include_lib("common_test/include/ct.hrl").
-include_lib("damsel/include/dmsl_domain_conf_thrift.hrl").
-include_lib("damsel/include/dmsl_domain_conf_v2_thrift.hrl").
-include_lib("damsel/include/dmsl_domain_thrift.hrl").
-include_lib("wapi_wallet_dummy_data.hrl").
-include_lib("wapi_token_keeper_data.hrl").
Expand Down Expand Up @@ -181,24 +181,47 @@ start_app({dmt_client = AppName, SupPid}) ->
PartyConfigObject = #domain_PartyConfigObject{ref = #domain_PartyConfigRef{id = ?STRING}, data = PartyConfig},
Urls = mock_services_(
[
{domain_config, fun
('Checkout', _) ->
{ok, #domain_conf_Snapshot{
version = 1,
domain = #{
{wallet_config, #domain_WalletConfigRef{id = ?STRING}} =>
{wallet_config, WalletConfigObject},
{party_config, #domain_PartyConfigRef{id = ?STRING}} => {party_config, PartyConfigObject}
}
{domain_config_client, fun
('CheckoutObject', {{version, ?INTEGER}, {wallet_config, #domain_WalletConfigRef{id = ?STRING}}}) ->
{ok, #domain_conf_v2_VersionedObject{
info = #domain_conf_v2_VersionedObjectInfo{
version = ?INTEGER,
changed_at = genlib_rfc3339:format(genlib_time:unow(), second),
changed_by = #domain_conf_v2_Author{
id = ?STRING,
name = ?STRING,
email = ?STRING
}
},
object = {wallet_config, WalletConfigObject}
}};
('CheckoutObject', {{version, ?INTEGER}, {party_config, #domain_PartyConfigRef{id = ?STRING}}}) ->
{ok, #domain_conf_v2_VersionedObject{
info = #domain_conf_v2_VersionedObjectInfo{
version = ?INTEGER,
changed_at = genlib_rfc3339:format(genlib_time:unow(), second),
changed_by = #domain_conf_v2_Author{
id = ?STRING,
name = ?STRING,
email = ?STRING
}
},
object = {party_config, PartyConfigObject}
}};
('PullRange', _) ->
{ok, #{}}
('CheckoutObject', _) ->
woody_error:raise(business, #domain_conf_v2_ObjectNotFound{})
end},
{domain_config, fun('GetLatestVersion', _) ->
{ok, ?INTEGER}
end}
],
SupPid
),
start_app_with(AppName, [
{service_urls, #{'Repository' => maps:get(domain_config, Urls)}}
{service_urls, #{
'Repository' => maps:get(domain_config, Urls),
'RepositoryClient' => maps:get(domain_config_client, Urls)
}}
]);
start_app({wapi_lib = AppName, Config}) ->
start_app_with(AppName, [
Expand Down Expand Up @@ -322,6 +345,8 @@ mock_services_(Services, SupPid) when is_pid(SupPid) ->
Acc#{ServiceName => #{'Bender' => make_url(ServiceName, Port)}};
domain_config ->
Acc#{ServiceName => make_url(ServiceName, Port)};
domain_config_client ->
Acc#{ServiceName => make_url(ServiceName, Port)};
_ ->
WapiWoodyClient = maps:get(wapi_lib, Acc, #{}),
Acc#{wapi_lib => WapiWoodyClient#{ServiceName => make_url(ServiceName, Port)}}
Expand All @@ -345,7 +370,9 @@ mock_service_handler({ServiceName = bouncer, Fun}) ->
mock_service_handler({ServiceName = org_management, Fun}) ->
mock_service_handler(ServiceName, {orgmgmt_authctx_provider_thrift, 'AuthContextProvider'}, Fun);
mock_service_handler({ServiceName = domain_config, Fun}) ->
mock_service_handler(ServiceName, {dmsl_domain_conf_thrift, 'Repository'}, Fun);
mock_service_handler(ServiceName, {dmsl_domain_conf_v2_thrift, 'Repository'}, Fun);
mock_service_handler({ServiceName = domain_config_client, Fun}) ->
mock_service_handler(ServiceName, {dmsl_domain_conf_v2_thrift, 'RepositoryClient'}, Fun);
mock_service_handler({ServiceName, Fun}) ->
mock_service_handler(ServiceName, wapi_woody_client:get_service_modname(ServiceName), Fun);
mock_service_handler({ServiceName, WoodyService, Fun}) ->
Expand Down
Loading