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

Version Path
utopia-2.18.5 setup/site/spec/website_context.rb
utopia-2.18.4 setup/site/spec/website_context.rb
utopia-2.18.3 setup/site/spec/website_context.rb
utopia-2.18.2 setup/site/spec/website_context.rb
utopia-2.18.1 setup/site/spec/website_context.rb
utopia-2.18.0 setup/site/spec/website_context.rb
utopia-2.17.1 setup/site/spec/website_context.rb
utopia-2.17.0 setup/site/spec/website_context.rb
utopia-2.16.2 setup/site/spec/website_context.rb
utopia-2.16.1 setup/site/spec/website_context.rb
utopia-2.16.0 setup/site/spec/website_context.rb
utopia-2.15.1 setup/site/spec/website_context.rb
utopia-2.15.0 setup/site/spec/website_context.rb
utopia-2.14.0 setup/site/spec/website_context.rb
utopia-2.13.4 setup/site/spec/website_context.rb
utopia-2.13.3 setup/site/spec/website_context.rb
utopia-2.13.2 setup/site/spec/website_context.rb
utopia-2.13.1 setup/site/spec/website_context.rb
utopia-2.13.0 setup/site/spec/website_context.rb
utopia-2.12.4 setup/site/spec/website_context.rb