83 lines
1.7 KiB
Ruby
83 lines
1.7 KiB
Ruby
# encoding: UTF-8
|
|
# frozen_string_literal: true
|
|
|
|
describe Barong::CORS::Validations do
|
|
describe 'validate origins' do
|
|
subject { Barong::CORS::Validations.validate_origins(ENV['API_CORS_ORIGINS']) }
|
|
|
|
context 'set API_CORS_ORIGINS as "*"' do
|
|
before do
|
|
ENV['API_CORS_ORIGINS'] = '*'
|
|
end
|
|
|
|
it do
|
|
is_expected.to eq('*')
|
|
end
|
|
end
|
|
|
|
context 'set mulitple API_CORS_ORIGINS with "*"' do
|
|
before do
|
|
ENV['API_CORS_ORIGINS'] = 'https://localhost,*,https://domain.com'
|
|
end
|
|
|
|
it do
|
|
is_expected.to eq('*')
|
|
end
|
|
end
|
|
|
|
context 'set multiple API_CORS_ORIGINS' do
|
|
before do
|
|
ENV['API_CORS_ORIGINS'] = 'https://localhost,https://domain.com'
|
|
end
|
|
|
|
it do
|
|
is_expected.to eq(['https://localhost','https://domain.com'])
|
|
end
|
|
end
|
|
|
|
context 'set invalid domain into API_CORS_ORIGINS' do
|
|
before do
|
|
ENV['API_CORS_ORIGINS'] = 'htt:://localhost'
|
|
end
|
|
|
|
it do
|
|
expect { subject }.to raise_error(Barong::CORS::Validations::Error)
|
|
end
|
|
end
|
|
end
|
|
|
|
describe 'validate max age' do
|
|
subject { Barong::CORS::Validations.validate_max_age(ENV['API_CORS_MAX_AGE']) }
|
|
|
|
context 'set API_CORS_MAX_AGE as "6200"' do
|
|
before do
|
|
ENV['API_CORS_MAX_AGE'] = '6200'
|
|
end
|
|
|
|
it do
|
|
is_expected.to eq('6200')
|
|
end
|
|
end
|
|
|
|
context 'set API_CORS_MAX_AGE as "6200.1"' do
|
|
before do
|
|
ENV['API_CORS_MAX_AGE'] = '6200.1'
|
|
end
|
|
|
|
it do
|
|
is_expected.to eq('3600')
|
|
end
|
|
end
|
|
|
|
context 'doesn\'t set API_CORS_MAX_AGE"' do
|
|
before do
|
|
ENV['API_CORS_MAX_AGE'] = nil
|
|
end
|
|
|
|
it do
|
|
is_expected.to eq('3600')
|
|
end
|
|
end
|
|
end
|
|
end
|