![JAR search and dependency download from the Maven repository](/logo.png)
ruby-client.configuration_spec.mustache Maven / Gradle / Ivy
=begin
{{> api_info}}
=end
require 'spec_helper'
describe {{moduleName}}::Configuration do
let(:config) { {{moduleName}}::Configuration.default }
before(:each) do
# uncomment below to setup host and base_path
# require 'URI'
# uri = URI.parse("{{{basePath}}}")
# {{moduleName}}.configure do |c|
# c.host = uri.host
# c.base_path = uri.path
# end
end
describe '#base_url' do
it 'should have the default value' do
# uncomment below to test default value of the base path
# expect(config.base_url).to eq("{{{basePath}}}")
end
it 'should remove trailing slashes' do
[nil, '', '/', '//'].each do |base_path|
config.base_path = base_path
# uncomment below to test trailing slashes
# expect(config.base_url).to eq("{{{basePath}}}")
end
end
end
{{#isFaraday}}
describe '#configure_faraday_connection' do
let(:faraday_connection) { Faraday::Connection.new }
before do
stub_const('CustomAdapter', Class.new(Faraday::Adapter))
stub_const('AnotherCustomAdapter', Class.new(Faraday::Adapter))
config.configure_faraday_connection do |conn|
conn.adapter CustomAdapter
conn.response :logger, nil, headers: true, bodies: true, log_level: :debug do |logger|
logger.filter(/(Authorization: )(.*)/, '\1[REDACTED]')
end
end
end
it 'adds a block that will be used to configure the connection' do
expect(faraday_connection.adapter).to eq(Faraday::Adapter::NetHttp)
expect(faraday_connection.builder.handlers).to_not include(Faraday::Response::Logger)
config.configure_connection(faraday_connection)
expect(faraday_connection.adapter).to eq(CustomAdapter)
expect(faraday_connection.builder.handlers).to include(Faraday::Response::Logger)
end
it 'supports multiple configuration blocks' do
config.configure_faraday_connection do |conn|
conn.adapter AnotherCustomAdapter
end
expect(faraday_connection.adapter).to eq(Faraday::Adapter::NetHttp)
expect(faraday_connection.builder.handlers).to_not include(Faraday::Response::Logger)
config.configure_connection(faraday_connection)
expect(faraday_connection.adapter).to eq(AnotherCustomAdapter)
expect(faraday_connection.builder.handlers).to include(Faraday::Response::Logger)
end
end
{{/isFaraday}}
{{#isHttpx}}
describe '#configure' do
let(:session) { HTTPX::Session.new }
before do
module CustomPlugin
module InstanceMethods; end
end
module AnotherCustomPlugin
module InstanceMethods; end
end
config.configure_session do |session|
session.plugin(CustomPlugin)
end
end
it 'adds a block that will be used to configure the connection' do
sess = config.configure(session)
expect(sess.class.ancestors).to include(CustomPlugin::InstanceMethods)
end
it 'supports multiple configuration blocks' do
config.configure_session do |session|
session.plugin(AnotherCustomPlugin)
end
sess = config.configure(session)
expect(sess.class.ancestors).to include(CustomPlugin::InstanceMethods)
expect(sess.class.ancestors).to include(AnotherCustomPlugin::InstanceMethods)
end
end
{{/isHttpx}}
end
© 2015 - 2025 Weber Informatics LLC | Privacy Policy