private BsonDocument CreateInitialHelloCommand(IReadOnlyList <IAuthenticator> authenticators, bool loadBalanced = false) { var command = HelloHelper.CreateCommand(_serverApi, loadBalanced: loadBalanced); HelloHelper.AddClientDocumentToCommand(command, _clientDocument); HelloHelper.AddCompressorsToCommand(command, _compressors); return(HelloHelper.CustomizeCommand(command, authenticators)); }
private BsonDocument CreateInitialHelloCommand(IReadOnlyList <IAuthenticator> authenticators) { var command = HelloHelper.CreateCommand(); HelloHelper.AddClientDocumentToCommand(command, _clientDocument); HelloHelper.AddCompressorsToCommand(command, _compressors); return(HelloHelper.CustomizeCommand(command, authenticators)); }
public void AddCompressorsToCommand_with_compressors_should_return_expected_result( [Values( new CompressorType[] { }, new [] { CompressorType.Zlib }, new [] { CompressorType.Snappy }, new [] { CompressorType.Zlib, CompressorType.Snappy }, new [] { CompressorType.ZStandard, CompressorType.Snappy })] CompressorType[] compressorsParameters) { var command = HelloHelper.CreateCommand(); var compressors = compressorsParameters .Select(c => new CompressorConfiguration(c)) .ToArray(); var result = HelloHelper.AddCompressorsToCommand(command, compressors); var expectedCompressions = string.Join(",", compressorsParameters.Select(c => $"'{CompressorTypeMapper.ToServerName(c)}'")); result.Should().Be(BsonDocument.Parse($"{{ isMaster : 1, compression: [{expectedCompressions}] }}")); }