Skip to content

Commit 5308859

Browse files
otelbot[bot]trask
andauthored
Review fixes for mongo-4.0:javaagent (#18212)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
1 parent 53071e5 commit 5308859

2 files changed

Lines changed: 42 additions & 48 deletions

File tree

instrumentation/mongo/mongo-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/Mongo4ReactiveClientTest.java

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.bson.BsonDocument;
3030
import org.bson.BsonString;
3131
import org.bson.Document;
32-
import org.junit.jupiter.api.AfterAll;
3332
import org.junit.jupiter.api.BeforeAll;
3433
import org.junit.jupiter.api.extension.RegisterExtension;
3534
import org.reactivestreams.Subscriber;
@@ -47,13 +46,7 @@ class Mongo4ReactiveClientTest extends AbstractMongoClientTest<MongoCollection<D
4746
@BeforeAll
4847
void setup() {
4948
client = MongoClients.create("mongodb://" + host + ":" + port);
50-
}
51-
52-
@AfterAll
53-
void cleanup() {
54-
if (client != null) {
55-
client.close();
56-
}
49+
cleanup.deferAfterAll(client);
5750
}
5851

5952
@Override
@@ -62,15 +55,16 @@ protected InstrumentationExtension testing() {
6255
}
6356

6457
@Override
65-
public void createCollection(String dbName, String collectionName) throws InterruptedException {
58+
protected void createCollection(String dbName, String collectionName)
59+
throws InterruptedException {
6660
MongoDatabase db = client.getDatabase(dbName);
6761
CountDownLatch latch = new CountDownLatch(1);
6862
db.createCollection(collectionName).subscribe(toSubscriber(o -> latch.countDown()));
6963
latch.await(30, SECONDS);
7064
}
7165

7266
@Override
73-
public void createCollectionNoDescription(String dbName, String collectionName)
67+
protected void createCollectionNoDescription(String dbName, String collectionName)
7468
throws InterruptedException {
7569
MongoClient tmpClient = MongoClients.create("mongodb://" + host + ":" + port);
7670
cleanup.deferCleanup(tmpClient);
@@ -81,12 +75,13 @@ public void createCollectionNoDescription(String dbName, String collectionName)
8175
}
8276

8377
@Override
84-
public void createCollectionWithAlreadyBuiltClientOptions(String dbName, String collectionName) {
78+
protected void createCollectionWithAlreadyBuiltClientOptions(
79+
String dbName, String collectionName) {
8580
abort("not tested on 4.0");
8681
}
8782

8883
@Override
89-
public void createCollectionCallingBuildTwice(String dbName, String collectionName)
84+
protected void createCollectionCallingBuildTwice(String dbName, String collectionName)
9085
throws InterruptedException {
9186
MongoClientSettings.Builder settings =
9287
MongoClientSettings.builder()
@@ -102,7 +97,7 @@ public void createCollectionCallingBuildTwice(String dbName, String collectionNa
10297
}
10398

10499
@Override
105-
public long getCollection(String dbName, String collectionName)
100+
protected long getCollection(String dbName, String collectionName)
106101
throws ExecutionException, InterruptedException, TimeoutException {
107102
MongoDatabase db = client.getDatabase(dbName);
108103
CompletableFuture<Long> count = new CompletableFuture<>();
@@ -113,7 +108,7 @@ public long getCollection(String dbName, String collectionName)
113108
}
114109

115110
@Override
116-
public MongoCollection<Document> setupInsert(String dbName, String collectionName)
111+
protected MongoCollection<Document> setupInsert(String dbName, String collectionName)
117112
throws InterruptedException {
118113
MongoCollection<Document> collection =
119114
testing()
@@ -132,7 +127,7 @@ public MongoCollection<Document> setupInsert(String dbName, String collectionNam
132127
}
133128

134129
@Override
135-
public long insert(MongoCollection<Document> collection) throws Exception {
130+
protected long insert(MongoCollection<Document> collection) throws Exception {
136131
CompletableFuture<Long> count = new CompletableFuture<>();
137132
collection
138133
.insertOne(new Document("password", "SECRET"))
@@ -146,7 +141,7 @@ public long insert(MongoCollection<Document> collection) throws Exception {
146141
}
147142

148143
@Override
149-
public MongoCollection<Document> setupUpdate(String dbName, String collectionName)
144+
protected MongoCollection<Document> setupUpdate(String dbName, String collectionName)
150145
throws InterruptedException {
151146
MongoCollection<Document> collection =
152147
testing()
@@ -170,7 +165,7 @@ public MongoCollection<Document> setupUpdate(String dbName, String collectionNam
170165
}
171166

172167
@Override
173-
public long update(MongoCollection<Document> collection) throws Exception {
168+
protected long update(MongoCollection<Document> collection) throws Exception {
174169
CompletableFuture<UpdateResult> result = new CompletableFuture<>();
175170
CompletableFuture<Long> count = new CompletableFuture<>();
176171
collection
@@ -189,7 +184,7 @@ public long update(MongoCollection<Document> collection) throws Exception {
189184
}
190185

191186
@Override
192-
public MongoCollection<Document> setupDelete(String dbName, String collectionName)
187+
protected MongoCollection<Document> setupDelete(String dbName, String collectionName)
193188
throws InterruptedException {
194189
MongoCollection<Document> collection =
195190
testing()
@@ -213,7 +208,7 @@ public MongoCollection<Document> setupDelete(String dbName, String collectionNam
213208
}
214209

215210
@Override
216-
public long delete(MongoCollection<Document> collection)
211+
protected long delete(MongoCollection<Document> collection)
217212
throws ExecutionException, InterruptedException, TimeoutException {
218213
CompletableFuture<DeleteResult> result = new CompletableFuture<>();
219214
CompletableFuture<Long> count = new CompletableFuture<>();
@@ -231,17 +226,17 @@ public long delete(MongoCollection<Document> collection)
231226
}
232227

233228
@Override
234-
public MongoCollection<Document> setupGetMore(String dbName, String collectionName) {
229+
protected MongoCollection<Document> setupGetMore(String dbName, String collectionName) {
235230
return abort("not tested on reactive");
236231
}
237232

238233
@Override
239-
public void getMore(MongoCollection<Document> collection) {
234+
protected void getMore(MongoCollection<Document> collection) {
240235
abort("not tested on reactive");
241236
}
242237

243238
@Override
244-
public void error(String dbName, String collectionName) throws Throwable {
239+
protected void error(String dbName, String collectionName) throws Throwable {
245240
MongoCollection<Document> collection =
246241
testing()
247242
.runWithSpan(

instrumentation/mongo/mongo-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/mongo/v4_0/MongoClientTest.java

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
import com.mongodb.client.result.DeleteResult;
1919
import com.mongodb.client.result.UpdateResult;
2020
import io.opentelemetry.instrumentation.mongo.testing.AbstractMongoClientTest;
21+
import io.opentelemetry.instrumentation.testing.internal.AutoCleanupExtension;
2122
import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension;
2223
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
2324
import java.util.ArrayList;
2425
import org.bson.BsonDocument;
2526
import org.bson.BsonString;
2627
import org.bson.Document;
27-
import org.junit.jupiter.api.AfterAll;
2828
import org.junit.jupiter.api.BeforeAll;
2929
import org.junit.jupiter.api.extension.RegisterExtension;
3030

@@ -33,18 +33,14 @@ class MongoClientTest extends AbstractMongoClientTest<MongoCollection<Document>>
3333
@RegisterExtension
3434
static final InstrumentationExtension testing = AgentInstrumentationExtension.create();
3535

36+
@RegisterExtension static final AutoCleanupExtension cleanup = AutoCleanupExtension.create();
37+
3638
private MongoClient client;
3739

3840
@BeforeAll
3941
void setup() {
4042
client = MongoClients.create("mongodb://" + host + ":" + port);
41-
}
42-
43-
@AfterAll
44-
void cleanup() {
45-
if (client != null) {
46-
client.close();
47-
}
43+
cleanup.deferAfterAll(client);
4844
}
4945

5046
@Override
@@ -53,41 +49,44 @@ protected InstrumentationExtension testing() {
5349
}
5450

5551
@Override
56-
public void createCollection(String dbName, String collectionName) {
52+
protected void createCollection(String dbName, String collectionName) {
5753
MongoDatabase db = client.getDatabase(dbName);
5854
db.createCollection(collectionName);
5955
}
6056

6157
@Override
62-
public void createCollectionNoDescription(String dbName, String collectionName) {
63-
MongoDatabase db = MongoClients.create("mongodb://" + host + ":" + port).getDatabase(dbName);
64-
db.createCollection(collectionName);
58+
protected void createCollectionNoDescription(String dbName, String collectionName) {
59+
try (MongoClient mongoClient = MongoClients.create("mongodb://" + host + ":" + port)) {
60+
mongoClient.getDatabase(dbName).createCollection(collectionName);
61+
}
6562
}
6663

6764
@Override
68-
public void createCollectionWithAlreadyBuiltClientOptions(String dbName, String collectionName) {
65+
protected void createCollectionWithAlreadyBuiltClientOptions(
66+
String dbName, String collectionName) {
6967
abort("not tested on 4.0");
7068
}
7169

7270
@Override
73-
public void createCollectionCallingBuildTwice(String dbName, String collectionName) {
71+
protected void createCollectionCallingBuildTwice(String dbName, String collectionName) {
7472
MongoClientSettings.Builder settings =
7573
MongoClientSettings.builder()
7674
.applyToClusterSettings(
7775
builder -> builder.hosts(singletonList(new ServerAddress(host, port))));
7876
settings.build();
79-
MongoDatabase db = MongoClients.create(settings.build()).getDatabase(dbName);
80-
db.createCollection(collectionName);
77+
try (MongoClient mongoClient = MongoClients.create(settings.build())) {
78+
mongoClient.getDatabase(dbName).createCollection(collectionName);
79+
}
8180
}
8281

8382
@Override
84-
public long getCollection(String dbName, String collectionName) {
83+
protected long getCollection(String dbName, String collectionName) {
8584
MongoDatabase db = client.getDatabase(dbName);
8685
return db.getCollection(collectionName).estimatedDocumentCount();
8786
}
8887

8988
@Override
90-
public MongoCollection<Document> setupInsert(String dbName, String collectionName) {
89+
protected MongoCollection<Document> setupInsert(String dbName, String collectionName) {
9190
MongoCollection<Document> collection =
9291
testing()
9392
.runWithSpan(
@@ -102,13 +101,13 @@ public MongoCollection<Document> setupInsert(String dbName, String collectionNam
102101
}
103102

104103
@Override
105-
public long insert(MongoCollection<Document> collection) {
104+
protected long insert(MongoCollection<Document> collection) {
106105
collection.insertOne(new Document("password", "SECRET"));
107106
return collection.estimatedDocumentCount();
108107
}
109108

110109
@Override
111-
public MongoCollection<Document> setupUpdate(String dbName, String collectionName) {
110+
protected MongoCollection<Document> setupUpdate(String dbName, String collectionName) {
112111
MongoCollection<Document> collection =
113112
testing()
114113
.runWithSpan(
@@ -125,7 +124,7 @@ public MongoCollection<Document> setupUpdate(String dbName, String collectionNam
125124
}
126125

127126
@Override
128-
public long update(MongoCollection<Document> collection) {
127+
protected long update(MongoCollection<Document> collection) {
129128
UpdateResult result =
130129
collection.updateOne(
131130
new BsonDocument("password", new BsonString("OLDPW")),
@@ -135,7 +134,7 @@ public long update(MongoCollection<Document> collection) {
135134
}
136135

137136
@Override
138-
public MongoCollection<Document> setupDelete(String dbName, String collectionName) {
137+
protected MongoCollection<Document> setupDelete(String dbName, String collectionName) {
139138
MongoCollection<Document> collection =
140139
testing()
141140
.runWithSpan(
@@ -152,15 +151,15 @@ public MongoCollection<Document> setupDelete(String dbName, String collectionNam
152151
}
153152

154153
@Override
155-
public long delete(MongoCollection<Document> collection) {
154+
protected long delete(MongoCollection<Document> collection) {
156155
DeleteResult result =
157156
collection.deleteOne(new BsonDocument("password", new BsonString("SECRET")));
158157
collection.estimatedDocumentCount();
159158
return result.getDeletedCount();
160159
}
161160

162161
@Override
163-
public MongoCollection<Document> setupGetMore(String dbName, String collectionName) {
162+
protected MongoCollection<Document> setupGetMore(String dbName, String collectionName) {
164163
MongoCollection<Document> collection =
165164
testing()
166165
.runWithSpan(
@@ -178,7 +177,7 @@ public MongoCollection<Document> setupGetMore(String dbName, String collectionNa
178177
}
179178

180179
@Override
181-
public void getMore(MongoCollection<Document> collection) {
180+
protected void getMore(MongoCollection<Document> collection) {
182181
collection
183182
.find()
184183
.filter(new Document("_id", new Document("$gte", 0)))
@@ -187,7 +186,7 @@ public void getMore(MongoCollection<Document> collection) {
187186
}
188187

189188
@Override
190-
public void error(String dbName, String collectionName) {
189+
protected void error(String dbName, String collectionName) {
191190
MongoCollection<Document> collection =
192191
testing()
193192
.runWithSpan(

0 commit comments

Comments
 (0)