Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/middleware/request_context_spec.rb')
-rw-r--r--spec/lib/gitlab/middleware/request_context_spec.rb43
1 files changed, 13 insertions, 30 deletions
diff --git a/spec/lib/gitlab/middleware/request_context_spec.rb b/spec/lib/gitlab/middleware/request_context_spec.rb
index 431f4453e37..6d5b581feaa 100644
--- a/spec/lib/gitlab/middleware/request_context_spec.rb
+++ b/spec/lib/gitlab/middleware/request_context_spec.rb
@@ -18,9 +18,11 @@ RSpec.describe Gitlab::Middleware::RequestContext do
end
describe '#call' do
- context 'setting the client ip' do
- subject { Gitlab::RequestContext.instance.client_ip }
+ let(:instance) { Gitlab::RequestContext.instance }
+
+ subject { described_class.new(app).call(env) }
+ context 'setting the client ip' do
context 'with X-Forwarded-For headers' do
let(:load_balancer_ip) { '1.2.3.4' }
let(:headers) do
@@ -33,13 +35,7 @@ RSpec.describe Gitlab::Middleware::RequestContext do
let(:env) { Rack::MockRequest.env_for("/").merge(headers) }
it 'returns the load balancer IP' do
- endpoint = proc do
- [200, {}, ["Hello"]]
- end
-
- described_class.new(endpoint).call(env)
-
- expect(subject).to eq(load_balancer_ip)
+ expect { subject }.to change { instance.client_ip }.from(nil).to(load_balancer_ip)
end
end
@@ -47,32 +43,19 @@ RSpec.describe Gitlab::Middleware::RequestContext do
let(:ip) { '192.168.1.11' }
before do
- allow_next_instance_of(Rack::Request) do |instance|
- allow(instance).to receive(:ip).and_return(ip)
+ allow_next_instance_of(Rack::Request) do |request|
+ allow(request).to receive(:ip).and_return(ip)
end
- described_class.new(app).call(env)
end
- it { is_expected.to eq(ip) }
- end
+ it 'sets the `client_ip`' do
+ expect { subject }.to change { instance.client_ip }.from(nil).to(ip)
+ end
- context 'before RequestContext middleware run' do
- it { is_expected.to be_nil }
+ it 'sets the `request_start_time`' do
+ expect { subject }.to change { instance.request_start_time }.from(nil).to(Float)
+ end
end
end
end
-
- context 'setting the thread cpu time' do
- it 'sets the `start_thread_cpu_time`' do
- expect { described_class.new(app).call(env) }
- .to change { Gitlab::RequestContext.instance.start_thread_cpu_time }.from(nil).to(Float)
- end
- end
-
- context 'setting the request start time' do
- it 'sets the `request_start_time`' do
- expect { described_class.new(app).call(env) }
- .to change { Gitlab::RequestContext.instance.request_start_time }.from(nil).to(Float)
- end
- end
end