test(rate_limiter): use windows that cannot expire during the test
The bucket entry expires one window after the first request. With a 50
or 80 ms window, a slow CI run could lose it between two requests, so
inspect_bucket/3 returned {0, 5} (seen on #8021 with Elixir 1.17). The
reset test expires the bucket itself, so a long window costs nothing.
This commit is contained in:
parent
c5498c018d
commit
985ad29724
2 changed files with 5 additions and 2 deletions
0
changelog.d/rate-limiter-test-flake.skip
Normal file
0
changelog.d/rate-limiter-test-flake.skip
Normal file
|
|
@ -50,7 +50,9 @@ defmodule Pleroma.Web.Plugs.RateLimiterTest do
|
|||
|
||||
test "it restricts based on config values" do
|
||||
limiter_name = :test_plug_opts
|
||||
scale = 80
|
||||
# Long enough that the bucket cannot expire during the test on slow CI.
|
||||
# The test expires it explicitly with expire_ttl/2.
|
||||
scale = 60_000
|
||||
limit = 5
|
||||
|
||||
clear_config([Pleroma.Web.Endpoint, :http, :ip], {127, 0, 0, 1})
|
||||
|
|
@ -184,7 +186,8 @@ defmodule Pleroma.Web.Plugs.RateLimiterTest do
|
|||
test "can have limits separate from unauthenticated connections" do
|
||||
limiter_name = :test_authenticated1
|
||||
|
||||
scale = 50
|
||||
# Long enough that the bucket cannot expire during the test on slow CI.
|
||||
scale = 60_000
|
||||
limit = 5
|
||||
clear_config([Pleroma.Web.Endpoint, :http, :ip], {8, 8, 8, 8})
|
||||
clear_config([:rate_limit, limiter_name], [{1000, 1}, {scale, limit}])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue