puppet-swift/spec/classes/swift_proxy_tempurl_spec.rb
Takashi Kajinami 385c66d388 Support allowed_digests options
... which were added as part of deprecation of sha1 signatures[1].

[1] 2d063cd61f6915579840a41ac0248a26085e0245

Change-Id: I8a27cebecbf1c47b2aeb8c1f1f00b1f1c90011d1
2023-12-27 00:05:28 +00:00

82 lines
2.7 KiB
Ruby

require 'spec_helper'
describe 'swift::proxy::tempurl' do
shared_examples 'swift::proxy::tempurl' do
context 'with defaults' do
it { is_expected.to contain_swift_proxy_config('filter:tempurl/use').with_value('egg:swift#tempurl') }
[
'methods',
'incoming_remove_headers',
'incoming_allow_headers',
'outgoing_remove_headers',
'outgoing_allow_headers',
'allowed_digests'
].each do |h|
it { is_expected.to contain_swift_proxy_config("filter:tempurl/#{h}").with_value('<SERVICE DEFAULT>') }
end
end
context 'when params are set' do
let :params do
{
:methods => ['GET','HEAD','PUT'],
:incoming_remove_headers => ['x-foo','x-bar-*'],
:incoming_allow_headers => ['x-foo','x-bar-*'],
:outgoing_remove_headers => ['x-foo','x-bar-*'],
:outgoing_allow_headers => ['x-foo','x-bar-*'],
:allowed_digests => ['sha1', 'sha256', 'sha512'],
}
end
it { is_expected.to contain_swift_proxy_config('filter:tempurl/methods').with_value('GET HEAD PUT') }
[
'incoming_remove_headers',
'incoming_allow_headers',
'outgoing_remove_headers',
'outgoing_allow_headers'
].each do |h|
it { is_expected.to contain_swift_proxy_config("filter:tempurl/#{h}").with_value('x-foo x-bar-*') }
end
it { is_expected.to contain_swift_proxy_config('filter:tempurl/allowed_digests').with_value('sha1 sha256 sha512') }
end
context 'when params are not array' do
let :params do
{
:methods => 'GET HEAD PUT',
:incoming_remove_headers => 'x-foo x-bar-*',
:incoming_allow_headers => 'x-foo x-bar-*',
:outgoing_remove_headers => 'x-foo x-bar-*',
:outgoing_allow_headers => 'x-foo x-bar-*',
:allowed_digests => 'sha1 sha256 sha512',
}
end
it { is_expected.to contain_swift_proxy_config('filter:tempurl/methods').with_value('GET HEAD PUT') }
[
'incoming_remove_headers',
'incoming_allow_headers',
'outgoing_remove_headers',
'outgoing_allow_headers',
].each do |h|
it { is_expected.to contain_swift_proxy_config("filter:tempurl/#{h}").with_value('x-foo x-bar-*') }
end
it { is_expected.to contain_swift_proxy_config('filter:tempurl/allowed_digests').with_value('sha1 sha256 sha512') }
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge(OSDefaults.get_facts())
end
it_configures 'swift::proxy::tempurl'
end
end
end