diff options
| author | Sean McGivern <sean@mcgivern.me.uk> | 2017-04-03 14:51:37 +0000 |
|---|---|---|
| committer | Sean McGivern <sean@mcgivern.me.uk> | 2017-04-03 14:51:37 +0000 |
| commit | 872b3215d2f07a11e4b5a3dc163fc5c39423ef78 (patch) | |
| tree | 2c933ba9fc0a4d67dc6927db68d7a5e3edb6bb3a /spec | |
| parent | b23b76d8eb182ccc57beee37340ff3c5b726dd9b (diff) | |
| parent | 9543025e88d3d0fe298e95330b8d38802da50cc6 (diff) | |
| download | gitlab-ce-872b3215d2f07a11e4b5a3dc163fc5c39423ef78.tar.gz | |
Merge branch 'introduce-base-polling-interval' into 'master'
Introduce "polling_interval_multiplier" as application setting
Closes #29759
See merge request !10280
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/lib/gitlab/etag_caching/middleware_spec.rb | 13 | ||||
| -rw-r--r-- | spec/lib/gitlab/polling_interval_spec.rb | 34 |
2 files changed, 47 insertions, 0 deletions
diff --git a/spec/lib/gitlab/etag_caching/middleware_spec.rb b/spec/lib/gitlab/etag_caching/middleware_spec.rb index 8b5bfc4dbb0..6ec4360adc2 100644 --- a/spec/lib/gitlab/etag_caching/middleware_spec.rb +++ b/spec/lib/gitlab/etag_caching/middleware_spec.rb @@ -99,6 +99,19 @@ describe Gitlab::EtagCaching::Middleware do middleware.call(build_env(path, if_none_match)) end + + context 'when polling is disabled' do + before do + allow(Gitlab::PollingInterval).to receive(:polling_enabled?). + and_return(false) + end + + it 'returns status code 429' do + status, _, _ = middleware.call(build_env(path, if_none_match)) + + expect(status).to eq 429 + end + end end context 'when If-None-Match header does not match ETag in store' do diff --git a/spec/lib/gitlab/polling_interval_spec.rb b/spec/lib/gitlab/polling_interval_spec.rb new file mode 100644 index 00000000000..56c2847e26a --- /dev/null +++ b/spec/lib/gitlab/polling_interval_spec.rb @@ -0,0 +1,34 @@ +require 'spec_helper' + +describe Gitlab::PollingInterval, lib: true do + let(:polling_interval) { described_class } + + describe '.set_header' do + let(:headers) { {} } + let(:response) { double(headers: headers) } + + context 'when polling is disabled' do + before do + stub_application_setting(polling_interval_multiplier: 0) + end + + it 'sets value to -1' do + polling_interval.set_header(response, interval: 10_000) + + expect(headers['Poll-Interval']).to eq(-1) + end + end + + context 'when polling is enabled' do + before do + stub_application_setting(polling_interval_multiplier: 0.33333) + end + + it 'applies modifier to base interval' do + polling_interval.set_header(response, interval: 10_000) + + expect(headers['Poll-Interval']).to eq(3333) + end + end + end +end |
