summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb')
-rw-r--r--spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb b/spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb
index deb22de9160..9e30564b437 100644
--- a/spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb
+++ b/spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb
@@ -156,6 +156,41 @@ RSpec.describe Gitlab::ImportExport::Json::StreamingSerializer do
subject.execute
end
end
+
+ describe 'load balancing' do
+ context 'when feature flag load_balancing_for_export_workers is enabled' do
+ before do
+ stub_feature_flags(load_balancing_for_export_workers: true)
+ end
+
+ context 'when enabled', :db_load_balancing do
+ it 'reads from replica' do
+ expect(Gitlab::Database::LoadBalancing::Session.current).to receive(:use_replicas_for_read_queries).and_call_original
+
+ subject.execute
+ end
+ end
+
+ context 'when disabled' do
+ it 'reads from primary' do
+ allow(Gitlab::Database::LoadBalancing).to receive(:enable?).and_return(false)
+ expect(Gitlab::Database::LoadBalancing::Session.current).not_to receive(:use_replicas_for_read_queries)
+
+ subject.execute
+ end
+ end
+ end
+
+ context 'when feature flag load_balancing_for_export_workers is disabled' do
+ it 'reads from primary' do
+ stub_feature_flags(load_balancing_for_export_workers: false)
+
+ expect(Gitlab::Database::LoadBalancing::Session.current).not_to receive(:use_replicas_for_read_queries)
+
+ subject.execute
+ end
+ end
+ end
end
describe '.batch_size' do