From 81b3a4a3da1257b2593ad36b58221d941596541d Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 15 Dec 2017 11:42:20 +1100 Subject: [PATCH] improve spec --- .../auth/default_current_user_provider_spec.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/spec/components/auth/default_current_user_provider_spec.rb b/spec/components/auth/default_current_user_provider_spec.rb index bc99f89a9fd..b86d60fff13 100644 --- a/spec/components/auth/default_current_user_provider_spec.rb +++ b/spec/components/auth/default_current_user_provider_spec.rb @@ -100,6 +100,8 @@ describe Auth::DefaultCurrentUserProvider do it "rate limits api requests per api key" do global_setting :max_admin_api_reqs_per_key_per_minute, 3 + freeze_time + user = Fabricate(:user) key = SecureRandom.hex api_key = ApiKey.create!(key: key, created_by_id: -1) @@ -112,6 +114,17 @@ describe Auth::DefaultCurrentUserProvider do provider("/?api_key=#{key}&api_username=system").current_user end.to raise_error(RateLimiter::LimitExceeded) + freeze_time 59.seconds.from_now + + expect do + provider("/?api_key=#{key}&api_username=system").current_user + end.to raise_error(RateLimiter::LimitExceeded) + + freeze_time 2.seconds.from_now + + # 1 minute elapsed + provider("/?api_key=#{key}&api_username=system").current_user + # should not rake limit a random key api_key.destroy key = SecureRandom.hex