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/services/merge_requests/merge_to_ref_service_spec.rb')
-rw-r--r--spec/services/merge_requests/merge_to_ref_service_spec.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/services/merge_requests/merge_to_ref_service_spec.rb b/spec/services/merge_requests/merge_to_ref_service_spec.rb
index bb764ff5672..8fc12c6c2b1 100644
--- a/spec/services/merge_requests/merge_to_ref_service_spec.rb
+++ b/spec/services/merge_requests/merge_to_ref_service_spec.rb
@@ -36,6 +36,37 @@ RSpec.describe MergeRequests::MergeToRefService do
expect(repository.ref_exists?(target_ref)).to be(true)
expect(ref_head.id).to eq(result[:commit_id])
end
+
+ context 'cache_merge_to_ref_calls flag enabled', :use_clean_rails_memory_store_caching do
+ before do
+ stub_feature_flags(cache_merge_to_ref_calls: true)
+
+ # warm the cache
+ #
+ service.execute(merge_request)
+ end
+
+ it 'caches the response', :request_store do
+ expect { 3.times { service.execute(merge_request) } }
+ .not_to change(Gitlab::GitalyClient, :get_request_count)
+ end
+ end
+
+ context 'cache_merge_to_ref_calls flag disabled', :use_clean_rails_memory_store_caching do
+ before do
+ stub_feature_flags(cache_merge_to_ref_calls: false)
+
+ # warm the cache
+ #
+ service.execute(merge_request)
+ end
+
+ it 'does not cache the response', :request_store do
+ expect(Gitlab::GitalyClient).to receive(:call).at_least(3).times.and_call_original
+
+ 3.times { service.execute(merge_request) }
+ end
+ end
end
shared_examples_for 'successfully evaluates pre-condition checks' do