Sha256: 6376703055f99d19d154f487ee967cabf9ebe87c579dfcb8c013253d25a63289
Contents?: true
Size: 1.88 KB
Versions: 6
Compression:
Stored size: 1.88 KB
Contents
# frozen_string_literal: true require 'spec_helper' require 'rspec/webservice_matchers' describe 'have_a_valid_cert matcher' do it 'passes when SSL is properly configured' do # EFF created the HTTPS Everywhere movement # TODO: set up a test server for this. (?) expect('www.eff.org').to have_a_valid_cert end it 'fails if the server is not serving SSL at all' do expect { expect('www.psu.edu').to have_a_valid_cert }.to fail_matching(/443/) end it 'provides a relevant error message' do expect { expect('www.psu.edu').to have_a_valid_cert }.to fail_matching(/(unreachable)|(no route to host)|(connection refused)/i) end it "provides a relevant error message when the domain name doesn't exist" do expect { expect('sdfgkljhsdfghjkhsdfgj.edu').to have_a_valid_cert }.to fail_matching(/not known/i) end it "provides a good error message when it's a redirect" do expect { # Can't figure out how to do this with WebMock. expect('bloc.io').to have_a_valid_cert }.to fail_matching(/redirect/i) end # TODO: Find a good way to test this. # it 'provides a good error message if the request times out' do # expect { # expect('www.myapp.com').to have_a_valid_cert # }.to fail_matching(/(timeout)|(execution expired)/) # end end # See https://www.eff.org/https-everywhere describe 'enforce_https_everywhere' do it 'passes when http requests are redirected to valid https urls' do expect('eff.org').to enforce_https_everywhere end it 'provides a relevant error message' do expect { expect('www.psu.edu').to enforce_https_everywhere }.to fail_matching(/200/) end it "provides a relevant error message when the domain name doesn't exist" do expect { expect('asdhfjkalsdhfjklasdfhjkasdhfl.com').to enforce_https_everywhere }.to fail_matching(/connection failed/i) end end
Version data entries
6 entries across 6 versions & 1 rubygems