У меня есть тест RSpec, который делает запрос POST и посылает заголовок с ним, потому что требуется аутентификация:Rspec тест с запросом HTTP POST проходит локально, но не на сервере CI
it 'creates a client for an organization if none exists' do
VCR.use_cassette('create_client') do
post "/organizations/#{@organization.id}/clients", nil, { 'TOKEN' => @token }
expect(last_response.status).to be(201)
expect(json_response).to be_a(Hash)
expect(json_response["organization_id"]).to eq(@organization.id)
expect(json_response.keys).to include('auth_token')
end
expect(@organization.client).to_not be_nil
end
Это проходит без проблем, когда я запустить тесты на моей локальной машине, но не в состоянии на сервере CI (в данном случае Codeship):
Failure/Error: post "/organizations/#{@organization.id}/clients", nil, { 'TOKEN' => @token }
MyModule::MyClass::Errors::InvalidOptionError:
bad URI(is not URI?):
Когда я удалить часть заголовка из запроса на пост, тест будет, очевидно, не потому, что заголовок маркера требуется, но почтовый запрос будет проходить без ошибок.
Любые идеи, почему это происходит? Буду признателен за любой вклад.