ci: update tested rails versions (#626)

This commit is contained in:
Gonzalo 2023-10-25 23:37:16 -03:00 committed by GitHub
parent c7098d610b
commit 36b830ab3c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 25 additions and 59 deletions

View file

@ -32,7 +32,6 @@ jobs:
- rails_6_1
- rails_6_0
- rails_5_2
- rails_4_2
- dalli3
- dalli2
- redis_5
@ -56,8 +55,6 @@ jobs:
ruby: 3.2.2
- gemfile: active_support_5_redis_cache_store_pooled
ruby: 3.2.2
- gemfile: rails_4_2
ruby: 3.2.2
- gemfile: dalli2
ruby: 3.2.2
- gemfile: rack_1
@ -68,8 +65,6 @@ jobs:
ruby: 3.1.4
- gemfile: active_support_5_redis_cache_store_pooled
ruby: 3.1.4
- gemfile: rails_4_2
ruby: 3.1.4
- gemfile: dalli2
ruby: 3.1.4
- gemfile: rack_1
@ -80,14 +75,10 @@ jobs:
ruby: 3.0.6
- gemfile: active_support_5_redis_cache_store_pooled
ruby: 3.0.6
- gemfile: rails_4_2
ruby: 3.0.6
- gemfile: dalli2
ruby: 3.0.6
- gemfile: rack_1
ruby: 2.7.8
- gemfile: rails_4_2
ruby: 2.7.8
- gemfile: rails_7_0
ruby: 2.6.10
- gemfile: rails_7_0

View file

@ -41,14 +41,6 @@ appraise 'rails_5-2' do
gem 'railties', '~> 5.2.0'
end
appraise 'rails_4-2' do
gem 'railties', '~> 4.2.0'
# Override rack-test version constraint by making it more loose
# so it's compatible with actionpack 4.2.x
gem "rack-test", ">= 0.6"
end
appraise 'dalli2' do
gem 'dalli', '~> 2.0'
end

View file

@ -1,13 +0,0 @@
# This file was generated by Appraisal
source "https://rubygems.org"
gem "railties", "~> 4.2.0"
gem "rack-test", ">= 0.6"
group :maintenance, optional: true do
gem "bake"
gem "bake-gem"
end
gemspec path: "../"

View file

@ -2,42 +2,38 @@
require_relative "spec_helper"
require 'active_support'
require 'active_support/subscriber'
# ActiveSupport::Subscribers added in ~> 4.0.2.0
if ActiveSupport::VERSION::MAJOR > 3
require_relative 'spec_helper'
require 'active_support/subscriber'
class CustomSubscriber < ActiveSupport::Subscriber
@notification_count = 0
class CustomSubscriber < ActiveSupport::Subscriber
@notification_count = 0
class << self
attr_accessor :notification_count
end
def throttle(_event)
self.class.notification_count += 1
end
class << self
attr_accessor :notification_count
end
describe 'Rack::Attack.instrument' do
def throttle(_event)
self.class.notification_count += 1
end
end
describe 'Rack::Attack.instrument' do
before do
@period = 60 # Use a long period; failures due to cache key rotation less likely
Rack::Attack.cache.store = ActiveSupport::Cache::MemoryStore.new
Rack::Attack.throttle('ip/sec', limit: 1, period: @period) { |req| req.ip }
end
describe "with throttling" do
before do
@period = 60 # Use a long period; failures due to cache key rotation less likely
Rack::Attack.cache.store = ActiveSupport::Cache::MemoryStore.new
Rack::Attack.throttle('ip/sec', limit: 1, period: @period) { |req| req.ip }
ActiveSupport::Notifications.stub(:notifier, ActiveSupport::Notifications::Fanout.new) do
CustomSubscriber.attach_to("rack_attack")
2.times { get '/', {}, 'REMOTE_ADDR' => '1.2.3.4' }
end
end
describe "with throttling" do
before do
ActiveSupport::Notifications.stub(:notifier, ActiveSupport::Notifications::Fanout.new) do
CustomSubscriber.attach_to("rack_attack")
2.times { get '/', {}, 'REMOTE_ADDR' => '1.2.3.4' }
end
end
it 'should instrument without error' do
_(last_response.status).must_equal 429
assert_equal 1, CustomSubscriber.notification_count
end
it 'should instrument without error' do
_(last_response.status).must_equal 429
assert_equal 1, CustomSubscriber.notification_count
end
end
end