Sha256: 4fbfd68ecf37723a57737b593e44a355d0dcade9c671c08ddf3afce5e56d7b07
Contents?: true
Size: 1.05 KB
Versions: 24
Compression:
Stored size: 1.05 KB
Contents
# frozen_string_literal: true require 'rack/test' require 'async/rspec/reactor' RSpec.shared_context "website" do include Rack::Test::Methods let(:rackup_path) {File.expand_path('../config.ru', __dir__)} let(:rackup_directory) {File.dirname(rackup_path)} let(:app) {Rack::Builder.parse_file(rackup_path).first} end RSpec.shared_examples_for "valid page" do |path| it "can access #{path}" do get path while last_response.redirect? follow_redirect! end expect(last_response.status).to be == 200 end end RSpec.shared_context "server" do include_context "website" include_context Async::RSpec::Reactor before(:all) do require 'falcon/server' require 'async/io/unix_endpoint' require 'benchmark/http/spider' end let(:endpoint) {Async::HTTP::Endpoint.parse("http://localhost", Async::IO::Endpoint.unix("server.ipc"))} let!(:server_task) do reactor.async do middleware = Falcon::Server.middleware(app) server = Falcon::Server.new(middleware, endpoint) server.run end end after do server_task.stop end end
Version data entries
24 entries across 24 versions & 1 rubygems