Я хочу добавить в мои спецификации базовую http-аутентификацию, которая определена в другом файле. Я хочу использовать учетные данные ENV из secret.yml. Я думаю, что мне нужно добавить одну строку в конечной точке, но это мой квест.
index_spec.rb
describe API::V1::Inquiries::ExportsData::Index, type: :request do
subject(:call) { get endpoint, params: params }
let(:endpoint) { "/api/v1/inquiries/export_data?shop_code=#{shop.code}" }
let(:params) { { shop_code: '98918081' } }
# several `let` with expected_data let either
it 'returns expected value' do
call
expect(data).to match_array(expected_data)
end
end
base.rb
class Base < Grape::API
mount Inquiries::ExportsData::Index
before do
authenticate!
end
helpers do
def authenticate!
authenticate_or_request_with_http_basic do |username, password|
username == Rails.applications.secrets.ENV['EXPORT_API_USERNAME'] &&
password == Rails.applications.secrets.ENV['EXPORT_API_PASSWORD']
end
end
end
end