File: supports_modern_retries.rb

package info (click to toggle)
ruby-mongo 2.21.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 14,764 kB
  • sloc: ruby: 108,806; makefile: 5; sh: 2
file content (28 lines) | stat: -rw-r--r-- 759 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# frozen_string_literal: true
# rubocop:todo all

require_relative './performs_modern_retries'
require_relative './performs_no_retries'

module SupportsModernRetries
  shared_examples 'it supports modern retries' do
    let(:retry_writes) { true }

    context 'against a standalone server' do
      require_topology :single

      before(:all) do
        skip 'RUBY-2171: standalone topology currently uses legacy write retries ' \
          'by default. Standalone should NOT retry when modern retries are enabled.'
      end

      it_behaves_like 'it performs no retries'
    end

    context 'against a replica set or sharded cluster' do
      require_topology :replica_set, :sharded

      it_behaves_like 'it performs modern retries'
    end
  end
end