summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb')
-rw-r--r--spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb b/spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb
new file mode 100644
index 00000000000..0c70a5de701
--- /dev/null
+++ b/spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'fast_spec_helper'
+
+RSpec.describe Gitlab::Metrics::Exporter::GcRequestMiddleware do
+ let(:app) { double(:app) }
+ let(:env) { {} }
+
+ subject(:middleware) { described_class.new(app) }
+
+ describe '#call' do
+ it 'runs a major GC after the next middleware is called' do
+ expect(app).to receive(:call).with(env).ordered.and_return([200, {}, []])
+ expect(GC).to receive(:start).ordered
+
+ response = middleware.call(env)
+
+ expect(response).to eq([200, {}, []])
+ end
+ end
+end