public void CreateInitialLegacyHello_should_return_legacy_hello_with_speculativeAuthenticate( [Values("default", "SCRAM-SHA-256", "SCRAM-SHA-1")] string authenticatorType, [Values(false, true)] bool async) { var credentials = new UsernamePasswordCredential( source: "Pathfinder", username: "******", password: "******"); var authenticator = CreateAuthenticator(authenticatorType, credentials); var connectionSettings = new ConnectionSettings(new[] { new AuthenticatorFactory(() => authenticator) }); var helloDocument = _subject.CreateInitialHelloCommand(new[] { authenticator }); helloDocument.Should().Contain("speculativeAuthenticate"); var speculativeAuthenticateDocument = helloDocument["speculativeAuthenticate"].AsBsonDocument; speculativeAuthenticateDocument.Should().Contain("mechanism"); var expectedMechanism = new BsonString( authenticatorType == "default" ? "SCRAM-SHA-256" : authenticatorType); speculativeAuthenticateDocument["mechanism"].Should().Be(expectedMechanism); speculativeAuthenticateDocument["db"].Should().Be(new BsonString(credentials.Source)); }
public void CreateInitialHelloCommand_with_server_api_should_return_hello_with_speculativeAuthenticate( [Values("default", "SCRAM-SHA-256", "SCRAM-SHA-1")] string authenticatorType, [Values(false, true)] bool async) { var credentials = new UsernamePasswordCredential( source: "Pathfinder", username: "******", password: "******"); var authenticator = CreateAuthenticator(authenticatorType, credentials); var subject = new ConnectionInitializer("test", new[] { new CompressorConfiguration(CompressorType.Zlib) }, serverApi: new ServerApi(ServerApiVersion.V1)); var helloDocument = subject.CreateInitialHelloCommand(new[] { authenticator }, false); helloDocument.Should().Contain("hello"); helloDocument.Should().Contain("speculativeAuthenticate"); var speculativeAuthenticateDocument = helloDocument["speculativeAuthenticate"].AsBsonDocument; speculativeAuthenticateDocument.Should().Contain("mechanism"); var expectedMechanism = new BsonString( authenticatorType == "default" ? "SCRAM-SHA-256" : authenticatorType); speculativeAuthenticateDocument["mechanism"].Should().Be(expectedMechanism); speculativeAuthenticateDocument["db"].Should().Be(new BsonString(credentials.Source)); }