puppet-swift/spec/classes/swift_proxy_ratelimit_spec.rb
François Charlier caad4e3732 Implement additional proxy middlewares
This commit implements additional proxy middlewares
  - catch_errors - handles errors
  - ratelimit    - limits incoming requests
  - s3token - misddleware for s3auth
  - swift3 - implement swift APIs

These middlewares needed to be modeled b/c they
are configurable interfaces that needed to be
configurable via Puppet.
2012-06-04 13:47:52 -07:00

62 lines
1.5 KiB
Ruby

require 'spec_helper'
describe 'swift::proxy::ratelimit' do
let :facts do
{
:concat_basedir => '/var/lib/puppet/concat'
}
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/26_swift_ratelimit"
end
describe "when using default parameters" do
it 'should build the fragment with correct parameters' do
verify_contents(subject, fragment_file,
[
'[filter:ratelimit]',
'use = egg:swift#ratelimit',
'clock_accuracy = 1000',
'max_sleep_time_seconds = 60',
'log_sleep_time_seconds = 0',
'rate_buffer_seconds = 5',
'account_ratelimit = 0',
]
)
end
end
describe "when overriding default parameters" do
let :params do
{
:clock_accuracy => 9436,
:max_sleep_time_seconds => 3600,
:log_sleep_time_seconds => 42,
:rate_buffer_seconds => 51,
:account_ratelimit => 69
}
end
it 'should build the fragment with correct parameters' do
verify_contents(subject, fragment_file,
[
'[filter:ratelimit]',
'use = egg:swift#ratelimit',
'clock_accuracy = 9436',
'max_sleep_time_seconds = 3600',
'log_sleep_time_seconds = 42',
'rate_buffer_seconds = 51',
'account_ratelimit = 69',
]
)
end
end
end