Skip to content

Commit 9b19e93

Browse files
committed
Add earlier check for failure in RetryableWritesTest
JAVA-3038
1 parent 2f1a4c7 commit 9b19e93

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

driver-async/src/test/functional/com/mongodb/async/client/RetryableWritesTest.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
import static com.mongodb.ClusterFixture.serverVersionLessThan;
5454
import static com.mongodb.async.client.Fixture.getMongoClientBuilderFromConnectionString;
5555
import static org.junit.Assert.assertEquals;
56+
import static org.junit.Assert.fail;
5657
import static org.junit.Assume.assumeFalse;
5758
import static org.junit.Assume.assumeTrue;
5859

@@ -153,24 +154,29 @@ public void shouldPassAllOutcomes() {
153154

154155
BsonDocument result = new BsonDocument();
155156
boolean wasException = false;
157+
Exception raisedException = null;
156158
try {
157159
result = helper.getOperationResults(operation);
158160
} catch (Exception e) {
159161
wasException = true;
160-
}
161-
162-
if (outcome.containsKey("collection")) {
163-
FutureResultCallback<List<BsonDocument>> futureResultCallback = new FutureResultCallback<List<BsonDocument>>();
164-
collection.withDocumentClass(BsonDocument.class).find().into(new ArrayList<BsonDocument>(), futureResultCallback);
165-
assertEquals(outcome.getDocument("collection").getArray("data").getValues(), futureResult(futureResultCallback));
162+
raisedException = e;
166163
}
167164

168165
if (outcome.getBoolean("error", BsonBoolean.FALSE).getValue()) {
169166
assertEquals(outcome.containsKey("error"), wasException);
167+
} else if (wasException) {
168+
fail("Unexpected exception: " + raisedException);
170169
} else {
171170
BsonDocument fixedExpectedResult = outcome.getDocument("result", new BsonDocument());
172171
assertEquals(fixedExpectedResult, result.getDocument("result", new BsonDocument()));
173172
}
173+
174+
if (outcome.containsKey("collection")) {
175+
FutureResultCallback<List<BsonDocument>> futureResultCallback = new FutureResultCallback<List<BsonDocument>>();
176+
collection.withDocumentClass(BsonDocument.class).find().into(new ArrayList<BsonDocument>(), futureResultCallback);
177+
assertEquals(outcome.getDocument("collection").getArray("data").getValues(), futureResult(futureResultCallback));
178+
}
179+
174180
}
175181

176182
@Parameterized.Parameters(name = "{1}")

0 commit comments

Comments
 (0)