DEV: Apply syntax_tree formatting to spec/*

This commit is contained in:
David Taylor
2023-01-09 11:18:21 +00:00
parent 0cf6421716
commit cb932d6ee1
907 changed files with 58693 additions and 45909 deletions

View File

@ -1,16 +1,22 @@
# frozen_string_literal: true
require 'rate_limiter'
require "rate_limiter"
RSpec.describe RateLimiter do
fab!(:user) { Fabricate(:user) }
fab!(:admin) { Fabricate(:admin) }
let(:rate_limiter) { RateLimiter.new(user, "peppermint-butler", 2, 60) }
let(:apply_staff_rate_limiter) { RateLimiter.new(admin, "peppermint-servant", 5, 40, apply_limit_to_staff: true) }
let(:staff_rate_limiter) { RateLimiter.new(user, "peppermind-servant", 5, 40, staff_limit: { max: 10, secs: 80 }) }
let(:admin_staff_rate_limiter) { RateLimiter.new(admin, "peppermind-servant", 5, 40, staff_limit: { max: 10, secs: 80 }) }
let(:apply_staff_rate_limiter) do
RateLimiter.new(admin, "peppermint-servant", 5, 40, apply_limit_to_staff: true)
end
let(:staff_rate_limiter) do
RateLimiter.new(user, "peppermind-servant", 5, 40, staff_limit: { max: 10, secs: 80 })
end
let(:admin_staff_rate_limiter) do
RateLimiter.new(admin, "peppermind-servant", 5, 40, staff_limit: { max: 10, secs: 80 })
end
describe 'disabled' do
describe "disabled" do
before do
rate_limiter.performed!
rate_limiter.performed!
@ -29,7 +35,7 @@ RSpec.describe RateLimiter do
end
end
describe 'enabled' do
describe "enabled" do
before do
RateLimiter.enable
rate_limiter.clear!
@ -37,8 +43,8 @@ RSpec.describe RateLimiter do
admin_staff_rate_limiter.clear!
end
context 'with aggressive rate limiter' do
it 'can operate correctly and totally stop limiting' do
context "with aggressive rate limiter" do
it "can operate correctly and totally stop limiting" do
freeze_time
# 2 requests every 30 seconds
@ -49,24 +55,16 @@ RSpec.describe RateLimiter do
limiter.performed!
freeze_time 29.seconds.from_now
expect do
limiter.performed!
end.to raise_error(RateLimiter::LimitExceeded)
expect do limiter.performed! end.to raise_error(RateLimiter::LimitExceeded)
expect do
limiter.performed!
end.to raise_error(RateLimiter::LimitExceeded)
expect do limiter.performed! end.to raise_error(RateLimiter::LimitExceeded)
# in aggressive mode both these ^^^ count as an attempt
freeze_time 29.seconds.from_now
expect do
limiter.performed!
end.to raise_error(RateLimiter::LimitExceeded)
expect do limiter.performed! end.to raise_error(RateLimiter::LimitExceeded)
expect do
limiter.performed!
end.to raise_error(RateLimiter::LimitExceeded)
expect do limiter.performed! end.to raise_error(RateLimiter::LimitExceeded)
freeze_time 30.seconds.from_now
@ -75,8 +73,8 @@ RSpec.describe RateLimiter do
end
end
context 'with global rate limiter' do
it 'can operate in global mode' do
context "with global rate limiter" do
it "can operate in global mode" do
limiter = RateLimiter.new(nil, "test", 2, 30, global: true)
limiter.clear!
@ -96,22 +94,20 @@ RSpec.describe RateLimiter do
end
end
context 'when handling readonly' do
context "when handling readonly" do
before do
# random IP address in the ULA range that does not exist
Discourse.redis.without_namespace.slaveof 'fdec:3f5d:d0b7:4c4b:472b:636a:4370:7ac5', '49999'
Discourse.redis.without_namespace.slaveof "fdec:3f5d:d0b7:4c4b:472b:636a:4370:7ac5", "49999"
end
after do
Discourse.redis.without_namespace.slaveof 'no', 'one'
end
after { Discourse.redis.without_namespace.slaveof "no", "one" }
it 'does not explode' do
it "does not explode" do
expect { rate_limiter.performed! }.not_to raise_error
end
end
context 'when never done' do
context "when never done" do
it "should perform right away" do
expect(rate_limiter.can_perform?).to eq(true)
end
@ -131,12 +127,12 @@ RSpec.describe RateLimiter do
end
end
context 'when max is less than or equal to zero' do
it 'should raise the right error' do
context "when max is less than or equal to zero" do
it "should raise the right error" do
[-1, 0, nil].each do |max|
expect do
RateLimiter.new(user, "a", max, 60).performed!
end.to raise_error(RateLimiter::LimitExceeded)
expect do RateLimiter.new(user, "a", max, 60).performed! end.to raise_error(
RateLimiter::LimitExceeded,
)
end
end
end
@ -160,7 +156,7 @@ RSpec.describe RateLimiter do
end
end
it 'raises no error when the sliding window ended' do
it "raises no error when the sliding window ended" do
freeze_time 60.seconds.from_now
expect { rate_limiter.performed! }.not_to raise_error
end
@ -217,9 +213,7 @@ RSpec.describe RateLimiter do
end
describe "#rollback!" do
before do
rate_limiter.rollback!
end
before { rate_limiter.rollback! }
it "returns true for can_perform since there is now room" do
expect(rate_limiter.can_perform?).to eq(true)