Files
puppet-swift/spec/classes/swift_proxy_tempurl_spec.rb
Guilherme Maluf 25a96920f6 Add tempurl middleware options
Tempurl middleware is set with default options only

This commits make it possible to manage all tempurl configs defined in
proxy-server.conf-sample[1]:

  methods
  incoming_remove_headers
  incoming_allow_headers
  outgoing_remove_headers
  outgoing_allow_headers

Parameters are optional and can be set with array or string

[1]  https://github.com/openstack/swift/blob/master/etc/proxy-server.conf-sample

Change-Id: I1fab905a46aa58c43b8b3fd35ecdaf310bffc121
2015-07-29 18:40:42 -03:00

65 lines
2.1 KiB
Ruby

require 'spec_helper'
describe 'swift::proxy::tempurl' do
let :facts do
{}
end
let :pre_condition do
'class { "concat::setup": }
concat { "/etc/swift/proxy-server.conf": }'
end
let :fragment_file do
"/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/29_swift-proxy-tempurl"
end
it { is_expected.to contain_file(fragment_file).with_content(/[filter:tempurl]/) }
it { is_expected.to contain_file(fragment_file).with_content(/use = egg:swift#tempurl/) }
['methods',
'incoming_remove_headers',
'incoming_allow_headers',
'outgoing_remove_headers',
'outgoing_allow_headers' ].each do |h|
it { is_expected.to_not contain_file(fragment_file).with_content(/#{h}/) }
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-*'],
} end
it { is_expected.to contain_file(fragment_file).with_content(/methods = GET HEAD PUT/) }
['incoming_remove_headers',
'incoming_allow_headers',
'outgoing_remove_headers',
'outgoing_allow_headers' ].each do |h|
it { is_expected.to contain_file(fragment_file).with_content(/#{h} = x-foo x-bar-*/) }
end
describe '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-*',
} end
it { is_expected.to contain_file(fragment_file).with_content(/methods = GET HEAD PUT/) }
['incoming_remove_headers',
'incoming_allow_headers',
'outgoing_remove_headers',
'outgoing_allow_headers' ].each do |h|
it { is_expected.to contain_file(fragment_file).with_content(/#{h} = x-foo x-bar-*/) }
end
end
end
end