Skip to content

Commit 80fb5bc

Browse files
authored
Bumps liminator and reenables partial-commit testcases (#45)
1 parent 2a3f78d commit 80fb5bc

2 files changed

Lines changed: 31 additions & 37 deletions

File tree

apps/limiter/test/lim_turnover_SUITE.erl

Lines changed: 30 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@
4040
-export([commit_processes_idempotently/1]).
4141
-export([full_commit_processes_idempotently/1]).
4242
-export([partial_commit_processes_idempotently/1]).
43-
%% -export([rollback_processes_idempotently/1]).
43+
-export([rollback_processes_idempotently/1]).
4444

4545
-export([commit_number_ok/1]).
46-
%% -export([rollback_number_ok/1]).
46+
-export([rollback_number_ok/1]).
4747
-export([commit_refund_keep_number_unchanged/1]).
4848
-export([partial_commit_number_counts_as_single_op/1]).
4949

@@ -154,15 +154,15 @@ groups() ->
154154
]},
155155
{cashless, [parallel], [
156156
commit_number_ok,
157-
%% rollback_number_ok,
157+
rollback_number_ok,
158158
commit_refund_keep_number_unchanged,
159159
partial_commit_number_counts_as_single_op
160160
]},
161161
{idempotency, [parallel], [
162162
commit_processes_idempotently,
163163
full_commit_processes_idempotently,
164-
partial_commit_processes_idempotently
165-
%% rollback_processes_idempotently
164+
partial_commit_processes_idempotently,
165+
rollback_processes_idempotently
166166
]}
167167
].
168168

@@ -542,20 +542,18 @@ partial_commit_processes_idempotently(C) ->
542542
ok = lim_client:commit(Change, Context, Client),
543543
{ok, Limit = #limiter_Limit{amount = 40}} = lim_client:get(ID, Version, Context, Client).
544544

545-
%% NOTE This test case is temporary disabled for same reason as
546-
%% `rollback_number_ok`.
547-
%% -spec rollback_processes_idempotently(config()) -> _.
548-
%% rollback_processes_idempotently(C) ->
549-
%% Client = ?config(client, C),
550-
%% {ID, Version} = configure_limit(?time_range_week(), ?global(), C),
551-
%% Context = ?payproc_ctx_payment(?cash(42), ?cash(0)),
552-
%% Change = ?LIMIT_CHANGE(ID, Version),
553-
%% ok = lim_client:hold(Change, Context, Client),
554-
%% ok = lim_client:hold(Change, Context, Client),
555-
%% ok = lim_client:commit(Change, Context, Client),
556-
%% {ok, Limit = #limiter_Limit{amount = 0}} = lim_client:get(ID, Version, Context, Client),
557-
%% ok = lim_client:commit(Change, Context, Client),
558-
%% {ok, Limit = #limiter_Limit{amount = 0}} = lim_client:get(ID, Version, Context, Client).
545+
-spec rollback_processes_idempotently(config()) -> _.
546+
rollback_processes_idempotently(C) ->
547+
Client = ?config(client, C),
548+
{ID, Version} = configure_limit(?time_range_week(), ?global(), C),
549+
Context = ?payproc_ctx_payment(?cash(42), ?cash(0)),
550+
Change = ?LIMIT_CHANGE(ID, Version),
551+
ok = lim_client:hold(Change, Context, Client),
552+
ok = lim_client:hold(Change, Context, Client),
553+
ok = lim_client:commit(Change, Context, Client),
554+
{ok, Limit = #limiter_Limit{amount = 0}} = lim_client:get(ID, Version, Context, Client),
555+
ok = lim_client:commit(Change, Context, Client),
556+
{ok, Limit = #limiter_Limit{amount = 0}} = lim_client:get(ID, Version, Context, Client).
559557

560558
%%
561559

@@ -572,23 +570,19 @@ commit_number_ok(C) ->
572570
LimitState0#limiter_Limit.amount + 1
573571
).
574572

575-
%% NOTE This test case is temporary disabled because of the bug in liminator: it
576-
%% doesn't respect partial commits with final value of change in operation
577-
%% distinct from value of initial hold. Somehow value of limit counter is
578-
%% aggregated with summing changes up of both (!) hold and commit values.
579-
%% -spec rollback_number_ok(config()) -> _.
580-
%% rollback_number_ok(C) ->
581-
%% Client = ?config(client, C),
582-
%% {ID, Version} = configure_limit(?time_range_week(), ?global(), ?turnover_metric_number(), C),
583-
%% Context = ?payproc_ctx_payment(?cash(10), ?cash(10)),
584-
%% ContextRollback = ?payproc_ctx_payment(?cash(10), ?cash(0)),
585-
%% {ok, LimitState0} = lim_client:get(ID, Version, Context, Client),
586-
%% _ = hold_and_commit(?LIMIT_CHANGE(ID, Version), Context, ContextRollback, Client),
587-
%% {ok, LimitState1} = lim_client:get(ID, Version, Context, Client),
588-
%% ?assertEqual(
589-
%% LimitState1#limiter_Limit.amount,
590-
%% LimitState0#limiter_Limit.amount
591-
%% ).
573+
-spec rollback_number_ok(config()) -> _.
574+
rollback_number_ok(C) ->
575+
Client = ?config(client, C),
576+
{ID, Version} = configure_limit(?time_range_week(), ?global(), ?turnover_metric_number(), C),
577+
Context = ?payproc_ctx_payment(?cash(10), ?cash(10)),
578+
ContextRollback = ?payproc_ctx_payment(?cash(10), ?cash(0)),
579+
{ok, LimitState0} = lim_client:get(ID, Version, Context, Client),
580+
_ = hold_and_commit(?LIMIT_CHANGE(ID, Version), Context, ContextRollback, Client),
581+
{ok, LimitState1} = lim_client:get(ID, Version, Context, Client),
582+
?assertEqual(
583+
LimitState1#limiter_Limit.amount,
584+
LimitState0#limiter_Limit.amount
585+
).
592586

593587
-spec commit_refund_keep_number_unchanged(config()) -> _.
594588
commit_refund_keep_number_unchanged(C) ->

compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ services:
3434
- ./test/dmt/sys.config:/opt/dmt/releases/0.1/sys.config
3535

3636
liminator:
37-
image: ghcr.io/valitydev/liminator:sha-e284ad2
37+
image: ghcr.io/valitydev/liminator:sha-48e1a4a
3838
restart: unless-stopped
3939
entrypoint:
4040
- java

0 commit comments

Comments
 (0)