Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions tests/spec/requests/caching_spec.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
require 'net/http'
require 'spec_helper'
require_relative './connection'

RSpec.feature "Caching headers are provided for assets ", type: :request do
let(:index_uri) { URI(Capybara.app_host) }
Expand All @@ -8,7 +9,7 @@
let(:one_day_s) { 24 * 60 * 60 }

it "is cached for one day" do
Net::HTTP.start(index_uri.host, index_uri.port) do |http|
start_http(index_uri) do |http|
request = Net::HTTP::Get.new(index_uri)
response = http.request(request)

Expand All @@ -26,7 +27,7 @@
let(:one_year_s) { 365 * 24 * 60 * 60 }

it 'is cached for one year' do
Net::HTTP.start(asset_uri.host, asset_uri.port) do |http|
start_http(asset_uri) do |http|
request = Net::HTTP::Get.new(asset_uri)
response = http.request(request)
expect(response['cache-control']).to match(/public.*max-age.*=.*#{one_year_s}/)
Expand Down
6 changes: 6 additions & 0 deletions tests/spec/requests/connection.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
def start_http(uri, &block)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == 'https'

http.start(&block)
end
5 changes: 2 additions & 3 deletions tests/spec/requests/cors_spec.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@


require 'net/http'
require 'spec_helper'
require_relative './connection'

RSpec.feature "Cross-origin requests", :cors, type: :request do
let(:evaluate_json_uri) { URI.join(Capybara.app_host, '/evaluate.json') }

it "allows preflight requests for POSTing to evaluate.json" do
Net::HTTP.start(evaluate_json_uri.host, evaluate_json_uri.port) do |http|
start_http(evaluate_json_uri) do |http|
request = Net::HTTP::Options.new(evaluate_json_uri)
request['origin'] = 'https://rust-lang.org'
request['access-control-request-headers'] = 'content-type'
Expand Down
3 changes: 2 additions & 1 deletion tests/spec/requests/evaluate_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

require 'net/http'
require 'spec_helper'
require_relative './connection'

RSpec.feature "evaluate.json endpoint", type: :request do
let(:evaluate_json_uri) { URI.join(Capybara.app_host, '/evaluate.json') }
Expand Down Expand Up @@ -44,7 +45,7 @@
let(:body) { JSON.generate(request) }

it "allows evaluating compilation requests from the Rust home page" do
Net::HTTP.start(evaluate_json_uri.host, evaluate_json_uri.port) do |http|
start_http(evaluate_json_uri) do |http|
request = Net::HTTP::Post.new(evaluate_json_uri)
request.body = body
request['Content-Type'] = 'application/json'
Expand Down
5 changes: 3 additions & 2 deletions tests/spec/requests/malformed_json_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

require 'net/http'
require 'spec_helper'
require_relative './connection'

RSpec.feature "JSON argument deserialization", type: :request do
let(:evaluate_json_uri) { URI.join(Capybara.app_host, '/evaluate.json') }
Expand All @@ -10,7 +11,7 @@
let(:body) { JSON.generate({}) }

it "responds with a JSON error" do
Net::HTTP.start(evaluate_json_uri.host, evaluate_json_uri.port) do |http|
start_http(evaluate_json_uri) do |http|
request = Net::HTTP::Post.new(evaluate_json_uri)
request.body = body
request['Content-Type'] = 'application/json'
Expand All @@ -28,7 +29,7 @@
let(:body) { 'lolhello' }

it "responds with a JSON error" do
Net::HTTP.start(evaluate_json_uri.host, evaluate_json_uri.port) do |http|
start_http(evaluate_json_uri) do |http|
request = Net::HTTP::Post.new(evaluate_json_uri)
request.body = body
request['Content-Type'] = 'text/plain'
Expand Down
3 changes: 2 additions & 1 deletion tests/spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
require 'webdrivers'
require 'capybara-screenshot/rspec'

PROTOCOL = ENV.fetch('PLAYGROUND_UI_PROTOCOL', 'http')
ADDRESS = ENV.fetch('PLAYGROUND_UI_ADDRESS', '127.0.0.1')
PORT = ENV.fetch('PLAYGROUND_UI_PORT', '5000')

Expand All @@ -56,7 +57,7 @@
end

Capybara.default_driver = Capybara.javascript_driver = :firefox
Capybara.app_host = "http://#{ADDRESS}:#{PORT}"
Capybara.app_host = "#{PROTOCOL}://#{ADDRESS}:#{PORT}"
Capybara.run_server = false
Capybara.default_max_wait_time = ENV.fetch('CAPYBARA_WAIT', 5).to_f
Capybara.automatic_label_click = true
Expand Down
3 changes: 3 additions & 0 deletions ui/frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
"version": "0.0.1",
"description": "UI for the Rust playground",
"main": "index.js",
"resolutions": {
"@types/react": "^17.0.2"
},
"dependencies": {
"@popperjs/core": "^2.4.0",
"ace-builds": "^1.4.4",
Expand Down
Loading