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_1
- rails_6_0 - rails_6_0
- rails_5_2 - rails_5_2
- rails_4_2
- dalli3 - dalli3
- dalli2 - dalli2
- redis_5 - redis_5
@ -56,8 +55,6 @@ jobs:
ruby: 3.2.2 ruby: 3.2.2
- gemfile: active_support_5_redis_cache_store_pooled - gemfile: active_support_5_redis_cache_store_pooled
ruby: 3.2.2 ruby: 3.2.2
- gemfile: rails_4_2
ruby: 3.2.2
- gemfile: dalli2 - gemfile: dalli2
ruby: 3.2.2 ruby: 3.2.2
- gemfile: rack_1 - gemfile: rack_1
@ -68,8 +65,6 @@ jobs:
ruby: 3.1.4 ruby: 3.1.4
- gemfile: active_support_5_redis_cache_store_pooled - gemfile: active_support_5_redis_cache_store_pooled
ruby: 3.1.4 ruby: 3.1.4
- gemfile: rails_4_2
ruby: 3.1.4
- gemfile: dalli2 - gemfile: dalli2
ruby: 3.1.4 ruby: 3.1.4
- gemfile: rack_1 - gemfile: rack_1
@ -80,14 +75,10 @@ jobs:
ruby: 3.0.6 ruby: 3.0.6
- gemfile: active_support_5_redis_cache_store_pooled - gemfile: active_support_5_redis_cache_store_pooled
ruby: 3.0.6 ruby: 3.0.6
- gemfile: rails_4_2
ruby: 3.0.6
- gemfile: dalli2 - gemfile: dalli2
ruby: 3.0.6 ruby: 3.0.6
- gemfile: rack_1 - gemfile: rack_1
ruby: 2.7.8 ruby: 2.7.8
- gemfile: rails_4_2
ruby: 2.7.8
- gemfile: rails_7_0 - gemfile: rails_7_0
ruby: 2.6.10 ruby: 2.6.10
- gemfile: rails_7_0 - gemfile: rails_7_0

View file

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