Skip to content

Instantly share code, notes, and snippets.

@aaronpk
Created April 20, 2014 00:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aaronpk/11101329 to your computer and use it in GitHub Desktop.
Save aaronpk/11101329 to your computer and use it in GitHub Desktop.
require 'openssl'
require 'http'
# Set the hostname or IP address of the new server here
$new_server = "skinner.beeminder.com"
##########################################
# Install gems:
# gem install http rspec
#
# Run with:
# $ bundle exec rspec test.rb
##########################################
def request(host, ssl=false, path='/')
HTTP.with_headers({'Host' => host}).get "http#{ssl ? 's' : ''}://#{$new_server}#{path}"
end
describe 'new server' do
it 'redirects www.beeminder.com to https://www.beeminder.com' do
response = request 'www.beeminder.com', false
expect(response.status).to eq(301)
expect(response.headers['Location']).to eq('https://www.beeminder.com/')
end
it 'redirects beeminder.com to https://www.beeminder.com' do
response = request 'beeminder.com', false
expect(response.status).to eq(301)
expect(response.headers['Location']).to eq('https://www.beeminder.com/')
end
it 'redirects foo.beeminder.com to https://www.beeminder.com' do
response = request 'foo.beeminder.com', false
expect(response.status).to eq(301)
expect(response.headers['Location']).to eq('https://www.beeminder.com/')
end
it 'redirects bmndr.com to https://www.beeminder.com' do
response = request 'bmndr.com', false
expect(response.status).to eq(301)
expect(response.headers['Location']).to eq('https://www.beeminder.com/')
end
it 'redirects https://foo.beeminder.com to https://www.beeminder.com' do
response = request 'foo.beeminder.com', true
expect(response.status).to eq(301)
expect(response.headers['Location']).to eq('https://www.beeminder.com/')
end
it 'serves the home page from https://www.beeminder.com' do
response = request 'www.beeminder.com', true
expect(response.status).to eq(200)
end
it 'serves beebrain images' do
response = request 'brain.beeminder.com', false, '/nonce/b+weight+4db75fb786f2245b2800241f.png'
expect(response.status).to eq(200)
expect(response.headers['Content-Type']).to eq('image/png')
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment