|
53 | 53 | import static com.mongodb.ClusterFixture.serverVersionLessThan;
|
54 | 54 | import static com.mongodb.async.client.Fixture.getMongoClientBuilderFromConnectionString;
|
55 | 55 | import static org.junit.Assert.assertEquals;
|
| 56 | +import static org.junit.Assert.fail; |
56 | 57 | import static org.junit.Assume.assumeFalse;
|
57 | 58 | import static org.junit.Assume.assumeTrue;
|
58 | 59 |
|
@@ -153,24 +154,29 @@ public void shouldPassAllOutcomes() {
|
153 | 154 |
|
154 | 155 | BsonDocument result = new BsonDocument();
|
155 | 156 | boolean wasException = false;
|
| 157 | + Exception raisedException = null; |
156 | 158 | try {
|
157 | 159 | result = helper.getOperationResults(operation);
|
158 | 160 | } catch (Exception e) {
|
159 | 161 | 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; |
166 | 163 | }
|
167 | 164 |
|
168 | 165 | if (outcome.getBoolean("error", BsonBoolean.FALSE).getValue()) {
|
169 | 166 | assertEquals(outcome.containsKey("error"), wasException);
|
| 167 | + } else if (wasException) { |
| 168 | + fail("Unexpected exception: " + raisedException); |
170 | 169 | } else {
|
171 | 170 | BsonDocument fixedExpectedResult = outcome.getDocument("result", new BsonDocument());
|
172 | 171 | assertEquals(fixedExpectedResult, result.getDocument("result", new BsonDocument()));
|
173 | 172 | }
|
| 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 | + |
174 | 180 | }
|
175 | 181 |
|
176 | 182 | @Parameterized.Parameters(name = "{1}")
|
|
0 commit comments