diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2016-05-26 17:53:21 +0200 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2016-05-26 17:53:21 +0200 |
commit | 5771114f9b5dba9c17b273a5dec0ef6900f6da9d (patch) | |
tree | 9843861e9e98ea40ce33a2e0f02b5b28b3fffcf4 /spec/lib/gitlab/middleware/rails_queue_duration_spec.rb | |
parent | 6ec2730fb371dbfdf84f98e2061431367c3927d1 (diff) | |
download | gitlab-ce-5771114f9b5dba9c17b273a5dec0ef6900f6da9d.tar.gz |
Rename metric to 'rails queue duration'
Diffstat (limited to 'spec/lib/gitlab/middleware/rails_queue_duration_spec.rb')
-rw-r--r-- | spec/lib/gitlab/middleware/rails_queue_duration_spec.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/lib/gitlab/middleware/rails_queue_duration_spec.rb b/spec/lib/gitlab/middleware/rails_queue_duration_spec.rb new file mode 100644 index 00000000000..fd6f684db0c --- /dev/null +++ b/spec/lib/gitlab/middleware/rails_queue_duration_spec.rb @@ -0,0 +1,31 @@ +require 'spec_helper' + +describe Gitlab::Middleware::RailsQueueDuration do + let(:app) { double(:app) } + let(:middleware) { described_class.new(app) } + let(:env) { {} } + let(:transaction) { double(:transaction) } + + before { expect(app).to receive(:call).with(env).and_return('yay') } + + describe '#call' do + it 'calls the app when metrics are disabled' do + expect(Gitlab::Metrics).to receive(:current_transaction).and_return(nil) + expect(middleware.call(env)).to eq('yay') + end + + context 'when metrics are enabled' do + before { allow(Gitlab::Metrics).to receive(:current_transaction).and_return(transaction) } + + it 'calls the app when metrics are enabled but no timing header is found' do + expect(middleware.call(env)).to eq('yay') + end + + it 'sets proxy_flight_time and calls the app when the header is present' do + env['HTTP_GITLAB_WORHORSE_PROXY_START'] = '123' + expect(transaction).to receive(:set).with(:rails_queue_duration, an_instance_of(Float)) + expect(middleware.call(env)).to eq('yay') + end + end + end +end |