Pull out https/hostname setup for request specs to shared config (#31622)
This commit is contained in:
		@@ -142,6 +142,12 @@ RSpec.configure do |config|
 | 
				
			|||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config.before :each, type: :request do
 | 
				
			||||||
 | 
					    # Use https and configured hostname in request spec requests
 | 
				
			||||||
 | 
					    integration_session.https!
 | 
				
			||||||
 | 
					    host! Rails.configuration.x.local_domain
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  config.after do
 | 
					  config.after do
 | 
				
			||||||
    Rails.cache.clear
 | 
					    Rails.cache.clear
 | 
				
			||||||
    redis.del(redis.keys)
 | 
					    redis.del(redis.keys)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,7 +14,7 @@ describe 'The account show page' do
 | 
				
			|||||||
    expect(head_meta_content('og:title')).to match alice.display_name
 | 
					    expect(head_meta_content('og:title')).to match alice.display_name
 | 
				
			||||||
    expect(head_meta_content('og:type')).to eq 'profile'
 | 
					    expect(head_meta_content('og:type')).to eq 'profile'
 | 
				
			||||||
    expect(head_meta_content('og:image')).to match '.+'
 | 
					    expect(head_meta_content('og:image')).to match '.+'
 | 
				
			||||||
    expect(head_meta_content('og:url')).to match 'http://.+'
 | 
					    expect(head_meta_content('og:url')).to eq short_account_url(username: alice.username)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def head_link_icons
 | 
					  def head_link_icons
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,12 +10,11 @@ describe 'API V1 Streaming' do
 | 
				
			|||||||
    Rails.configuration.x.streaming_api_base_url = before
 | 
					    Rails.configuration.x.streaming_api_base_url = before
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let(:headers) { { 'Host' => Rails.configuration.x.web_domain } }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  context 'with streaming api on same host' do
 | 
					  context 'with streaming api on same host' do
 | 
				
			||||||
    describe 'GET /api/v1/streaming' do
 | 
					    describe 'GET /api/v1/streaming' do
 | 
				
			||||||
      it 'raises ActiveRecord::RecordNotFound' do
 | 
					      it 'raises ActiveRecord::RecordNotFound' do
 | 
				
			||||||
        get '/api/v1/streaming', headers: headers
 | 
					        integration_session.https!(false)
 | 
				
			||||||
 | 
					        get '/api/v1/streaming'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        expect(response).to have_http_status(404)
 | 
					        expect(response).to have_http_status(404)
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@ describe 'Link headers' do
 | 
				
			|||||||
    it 'contains webfinger url in link header' do
 | 
					    it 'contains webfinger url in link header' do
 | 
				
			||||||
      link_header = link_header_with_type('application/jrd+json')
 | 
					      link_header = link_header_with_type('application/jrd+json')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      expect(link_header.href).to eq 'http://www.example.com/.well-known/webfinger?resource=acct%3Atest%40cb6e6126.ngrok.io'
 | 
					      expect(link_header.href).to eq 'https://cb6e6126.ngrok.io/.well-known/webfinger?resource=acct%3Atest%40cb6e6126.ngrok.io'
 | 
				
			||||||
      expect(link_header.attr_pairs.first).to eq %w(rel lrdd)
 | 
					      expect(link_header.attr_pairs.first).to eq %w(rel lrdd)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,12 +4,7 @@ require 'rails_helper'
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
describe 'Media Proxy' do
 | 
					describe 'Media Proxy' do
 | 
				
			||||||
  describe 'GET /media_proxy/:id' do
 | 
					  describe 'GET /media_proxy/:id' do
 | 
				
			||||||
    before do
 | 
					    before { stub_attachment_request }
 | 
				
			||||||
      integration_session.https! # TODO: Move to global rails_helper for all request specs?
 | 
					 | 
				
			||||||
      host! Rails.configuration.x.local_domain # TODO: Move to global rails_helper for all request specs?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      stub_request(:get, 'http://example.com/attachment.png').to_return(request_fixture('avatar.txt'))
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    context 'when attached to a status' do
 | 
					    context 'when attached to a status' do
 | 
				
			||||||
      let(:status) { Fabricate(:status) }
 | 
					      let(:status) { Fabricate(:status) }
 | 
				
			||||||
@@ -63,5 +58,15 @@ describe 'Media Proxy' do
 | 
				
			|||||||
          .to have_http_status(404)
 | 
					          .to have_http_status(404)
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def stub_attachment_request
 | 
				
			||||||
 | 
					      stub_request(
 | 
				
			||||||
 | 
					        :get,
 | 
				
			||||||
 | 
					        'http://example.com/attachment.png'
 | 
				
			||||||
 | 
					      )
 | 
				
			||||||
 | 
					        .to_return(
 | 
				
			||||||
 | 
					          request_fixture('avatar.txt')
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user