Sha256: feac42b0d8bec3db0660855d30e8262e9e67e9c37d2bf1411bd72afa34c2d9bc

Contents?: true

Size: 1.32 KB

Versions: 13

Compression:

Stored size: 1.32 KB

Contents

require 'spec_helper'

describe 'SDAM events' do
  let(:subscriber) { Mongo::SDAMMonitoring::TestSubscriber.new }

  describe 'server closed event' do
    it 'is published when client is closed' do
      client = ClientRegistry.instance.new_local_client(
        SpecConfig.instance.addresses, SpecConfig.instance.test_options)
      client.subscribe(Mongo::Monitoring::SERVER_CLOSED, subscriber)

      # get the client connected
      client.database.command(ismaster: 1)
      expect(subscriber.events).to be_empty

      client.close

      expect(subscriber.events).not_to be_empty
      event = subscriber.first_event('server_closed_event')
      expect(event).not_to be_nil
    end
  end

  describe 'topology closed event' do
    it 'is published when client is closed' do
      client = ClientRegistry.instance.new_local_client(
        SpecConfig.instance.addresses, SpecConfig.instance.test_options)
      client.subscribe(Mongo::Monitoring::TOPOLOGY_CLOSED, subscriber)

      # get the client connected
      client.database.command(ismaster: 1)
      expect(subscriber.events).to be_empty

      client.close

      expect(subscriber.events).not_to be_empty
      event = subscriber.first_event('topology_closed_event')
      expect(event).not_to be_nil

      expect(event.topology).to eql(client.cluster.topology)
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
mongo-2.12.4 spec/integration/sdam_events_spec.rb
mongo-2.11.6 spec/integration/sdam_events_spec.rb
mongo-2.12.3 spec/integration/sdam_events_spec.rb
mongo-2.12.2 spec/integration/sdam_events_spec.rb
mongo-2.11.5 spec/integration/sdam_events_spec.rb
mongo-2.12.1 spec/integration/sdam_events_spec.rb
mongo-2.12.0.rc0 spec/integration/sdam_events_spec.rb
mongo-2.11.4 spec/integration/sdam_events_spec.rb
mongo-2.11.3 spec/integration/sdam_events_spec.rb
mongo-2.11.2 spec/integration/sdam_events_spec.rb
mongo-2.11.1 spec/integration/sdam_events_spec.rb
mongo-2.11.0 spec/integration/sdam_events_spec.rb
mongo-2.11.0.rc0 spec/integration/sdam_events_spec.rb