spec/flipper/adapters/http_spec.rb in flipper-1.2.2 vs spec/flipper/adapters/http_spec.rb in flipper-1.3.0.pre
- old
+ new
@@ -1,9 +1,18 @@
require 'flipper/adapters/http'
require 'flipper/adapters/pstore'
-require 'rack/handler/webrick'
+rack_handler = begin
+ # Rack 3+
+ require 'rackup/handler/webrick'
+ Rackup::Handler::WEBrick
+rescue LoadError
+ require 'rack/handler/webrick'
+ Rack::Handler::WEBrick
+end
+
+
FLIPPER_SPEC_API_PORT = ENV.fetch('FLIPPER_SPEC_API_PORT', 9001).to_i
RSpec.describe Flipper::Adapters::Http do
default_options = {
url: "http://localhost:#{FLIPPER_SPEC_API_PORT}",
@@ -34,10 +43,10 @@
AccessLog: [
[log_path.open('w'), WEBrick::AccessLog::COMBINED_LOG_FORMAT],
],
}
@server = WEBrick::HTTPServer.new(server_options)
- @server.mount '/', Rack::Handler::WEBrick, app
+ @server.mount '/', rack_handler, app
Thread.new { @server.start }
Timeout.timeout(1) { :wait until @started }
end