Sha256: 1852091c817250829ff74164a0cec3e5e4d59865db77c574d38d2723d80a1860

Contents?: true

Size: 1.26 KB

Versions: 7

Compression:

Stored size: 1.26 KB

Contents

require 'lite_spec_helper'

describe 'Cmap' do

  declare_topology_double

  let(:cluster) do
    double('cluster').tap do |cl|
      allow(cl).to receive(:topology).and_return(topology)
      allow(cl).to receive(:options).and_return({})
    end
  end

  CMAP_TESTS.each do |file|
    spec = Mongo::Cmap::Spec.new(file)

    context("#{spec.description} (#{file.sub(%r'.*/data/cmap/', '')})") do
      before do
        spec.setup(cluster)
      end

      let!(:result) do
        mock_socket = double('socket')
        allow(mock_socket).to receive(:close)
        allow_any_instance_of(Mongo::Server::Connection).to receive(:do_connect).and_return(mock_socket)
        spec.run
      end

      let(:verifier) do
        Mongo::Cmap::Verifier.new(spec)
      end

      it 'raises the correct error' do
        expect(result['error']).to eq(spec.expected_error)
      end

      let(:actual_events) { result['events'].freeze }

      it 'emits the correct number of events' do
        expect(actual_events.length).to eq(spec.expected_events.length)
      end

      spec.expected_events.each_with_index do |expected_event, index|
        it "emits correct event #{index+1}" do
          verifier.verify_hashes(actual_events[index], expected_event)
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mongo-2.10.5 spec/spec_tests/cmap_spec.rb
mongo-2.10.4 spec/spec_tests/cmap_spec.rb
mongo-2.10.3 spec/spec_tests/cmap_spec.rb
mongo-2.10.2 spec/spec_tests/cmap_spec.rb
mongo-2.10.1 spec/spec_tests/cmap_spec.rb
mongo-2.10.0 spec/spec_tests/cmap_spec.rb
mongo-2.10.0.rc0 spec/spec_tests/cmap_spec.rb