Sha256: fb67c72ae0f58112e4bb73d374b92014ff4c8061fe9c96d0aa1384ac7c221b98
Contents?: true
Size: 1.94 KB
Versions: 5
Compression:
Stored size: 1.94 KB
Contents
# frozen_string_literal: true # encoding: utf-8 require 'lite_spec_helper' describe Mongo::Server::ConnectionCommon do let(:subject) { described_class.new } let(:metadata) do Mongo::Server::AppMetadata.new({}) end describe '#handshake_document' do let(:document) do subject.handshake_document(metadata) end context 'with api version' do let(:metadata) do Mongo::Server::AppMetadata.new({ server_api: { version: '1' } }) end it 'returns hello document with API version' do expect(document['hello']).to eq(1) end end context 'without api version' do it 'returns legacy hello document without API version' do expect(document['isMaster']).to eq(1) end end context 'when connecting to load balancer' do let(:document) do subject.handshake_document(metadata, load_balancer: true) end it 'includes loadBalanced: true' do document['loadBalanced'].should be true end end end describe '#handshake_command' do let(:document) do subject.handshake_document(metadata, load_balancer: load_balancer) end let(:load_balancer) { false } context 'with api version' do let(:metadata) do Mongo::Server::AppMetadata.new({ server_api: { version: '1' } }) end it 'returns OP_MSG command' do expect( subject.handshake_command(document) ).to be_a(Mongo::Protocol::Msg) end end context 'with loadBalanced=true' do let(:load_balancer) { true } it 'returns OP_MSG command' do expect( subject.handshake_command(document) ).to be_a(Mongo::Protocol::Msg) end end context 'without api version' do it 'returns OP_QUERY command' do expect( subject.handshake_command(document) ).to be_a(Mongo::Protocol::Query) end end end end
Version data entries
5 entries across 5 versions & 1 rubygems