Skip to content

Commit 889d5c8

Browse files
committed
Add prose tests.
JAVA-5854
1 parent 9753f28 commit 889d5c8

File tree

13 files changed

+285
-20
lines changed

13 files changed

+285
-20
lines changed

buildSrc/src/main/kotlin/conventions/testing-base.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,7 @@ testlogger {
105105
showFailedStandardStreams = true
106106
logLevel = LogLevel.LIFECYCLE
107107
}
108+
109+
dependencies {
110+
testImplementation(libs.assertj)
111+
}

driver-core/src/main/com/mongodb/internal/connection/InternalStreamConnectionFactory.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ class InternalStreamConnectionFactory implements InternalConnectionFactory {
3333
private final ClusterConnectionMode clusterConnectionMode;
3434
private final boolean isMonitoringConnection;
3535
private final StreamFactory streamFactory;
36-
//TODO UPDATE
3736
private final ClientMetadata clientMetadata;
3837
private final List<MongoCompressor> compressorList;
3938
private final LoggerSettings loggerSettings;

driver-kotlin-coroutine/src/integrationTest/kotlin/com/mongodb/kotlin/client/coroutine/syncadapter/SyncMongoClient.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ internal class SyncMongoClient(override val wrapped: MongoClient) : SyncMongoClu
2525

2626
override fun getClusterDescription(): ClusterDescription = wrapped.getClusterDescription()
2727

28-
override fun updateClientMetadata(mongoDriverInformation: MongoDriverInformation) {
29-
// TODO
28+
override fun updateMetadata(mongoDriverInformation: MongoDriverInformation) {
29+
throw UnsupportedOperationException("TODO-JAVA-5871")
3030
}
3131
}

driver-kotlin-sync/src/integrationTest/kotlin/com/mongodb/kotlin/client/syncadapter/SyncMongoClient.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ internal class SyncMongoClient(override val wrapped: MongoClient) : SyncMongoClu
2424
override fun close(): Unit = wrapped.close()
2525

2626
override fun getClusterDescription(): ClusterDescription = wrapped.clusterDescription
27-
override fun updateClientMetadata(mongoDriverInformation: MongoDriverInformation) {
28-
TODO("Not yet implemented")
27+
override fun updateMetadata(mongoDriverInformation: MongoDriverInformation) {
28+
throw UnsupportedOperationException("TODO-JAVA-5871")
2929
}
3030
}

driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/MongoClient.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.mongodb.reactivestreams.client;
1818

19+
import com.mongodb.MongoDriverInformation;
1920
import com.mongodb.annotations.Immutable;
2021
import com.mongodb.connection.ClusterDescription;
2122
import com.mongodb.connection.ClusterSettings;
@@ -58,4 +59,7 @@ public interface MongoClient extends MongoCluster, Closeable {
5859
* @since 4.1
5960
*/
6061
ClusterDescription getClusterDescription();
62+
63+
64+
void updateMetadata(MongoDriverInformation mongoDriverInformation);
6165
}

driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/MongoClientImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,4 +325,9 @@ public MongoDatabase getDatabase(final String name) {
325325
public ClusterDescription getClusterDescription() {
326326
return getCluster().getCurrentDescription();
327327
}
328+
329+
@Override
330+
public void updateMetadata(final MongoDriverInformation mongoDriverInformation) {
331+
getCluster().getClientMetadata().append(mongoDriverInformation);
332+
}
328333
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* Copyright 2008-present MongoDB, Inc.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.mongodb.reactivestreams.client;
18+
19+
import com.mongodb.MongoClientSettings;
20+
import com.mongodb.MongoDriverInformation;
21+
import com.mongodb.client.AbstractClientMetadataProseTest;
22+
import com.mongodb.client.MongoClient;
23+
import com.mongodb.lang.Nullable;
24+
import com.mongodb.reactivestreams.client.syncadapter.SyncMongoClient;
25+
26+
/**
27+
* See <a href="https://github.com/mongodb/specifications/blob/master/source/mongodb-handshake/handshake.md#test-plan">spec</a>
28+
*/
29+
class ClientMetadataProseTest extends AbstractClientMetadataProseTest {
30+
31+
protected MongoClient createMongoClient(@Nullable final MongoDriverInformation mongoDriverInformation, final MongoClientSettings mongoClientSettings) {
32+
return new SyncMongoClient(MongoClients.create(mongoClientSettings, mongoDriverInformation));
33+
}
34+
}

driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/syncadapter/SyncMongoClient.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -313,8 +313,7 @@ public ClusterDescription getClusterDescription() {
313313
}
314314

315315
@Override
316-
public void updateClientMetadata(final MongoDriverInformation mongoDriverInformation) {
317-
//TODO
316+
public void updateMetadata(final MongoDriverInformation mongoDriverInformation) {
317+
wrapped.updateMetadata(mongoDriverInformation);
318318
}
319-
320319
}
Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,15 @@
11
package org.mongodb.scala.syncadapter
22

3-
import com.mongodb.ClientSessionOptions
4-
import com.mongodb.client.{ ClientSession, MongoClient => JMongoClient, MongoDatabase => JMongoDatabase }
5-
import org.bson.Document
6-
import org.bson.conversions.Bson
3+
import com.mongodb.MongoDriverInformation
4+
import com.mongodb.client.{MongoClient => JMongoClient}
75
import org.mongodb.scala.MongoClient
8-
import org.mongodb.scala.bson.DefaultHelper.DefaultsTo
9-
10-
import scala.collection.JavaConverters._
11-
import scala.concurrent.Await
12-
import scala.reflect.ClassTag
136

147
case class SyncMongoClient(wrapped: MongoClient) extends SyncMongoCluster(wrapped) with JMongoClient {
158

169
override def close(): Unit = wrapped.close()
1710

1811
override def getClusterDescription = throw new UnsupportedOperationException
1912

13+
override def updateMetadata(mongoDriverInformation: MongoDriverInformation): Unit =
14+
throw new UnsupportedOperationException("TODO-JAVA-5871")
2015
}

driver-sync/src/main/com/mongodb/client/MongoClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,5 +63,5 @@ public interface MongoClient extends MongoCluster, Closeable {
6363
*/
6464
ClusterDescription getClusterDescription();
6565

66-
void updateClientMetadata(MongoDriverInformation mongoDriverInformation);
66+
void updateMetadata(MongoDriverInformation mongoDriverInformation);
6767
}

0 commit comments

Comments
 (0)