Skip to content

Commit a07f301

Browse files
committed
1 parent 9a02f81 commit a07f301

File tree

4 files changed

+49
-10
lines changed

4 files changed

+49
-10
lines changed

driver-core/src/test/resources/unified-test-format/command-logging/unacknowledged-write.json

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"description": "command-logging",
3-
"schemaVersion": "1.13",
2+
"description": "unacknowledged-write",
3+
"schemaVersion": "1.16",
44
"createEntities": [
55
{
66
"client": {
@@ -53,11 +53,27 @@
5353
"_id": 2
5454
}
5555
}
56+
},
57+
{
58+
"name": "find",
59+
"object": "collection",
60+
"arguments": {
61+
"filter": {}
62+
},
63+
"expectResult": [
64+
{
65+
"_id": 1
66+
},
67+
{
68+
"_id": 2
69+
}
70+
]
5671
}
5772
],
5873
"expectLogMessages": [
5974
{
6075
"client": "client",
76+
"ignoreExtraMessages": true,
6177
"messages": [
6278
{
6379
"level": "debug",
@@ -132,5 +148,3 @@
132148
}
133149
]
134150
}
135-
136-

driver-core/src/test/resources/unified-test-format/command-monitoring/unacknowledgedBulkWrite.json

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"description": "unacknowledgedBulkWrite",
3-
"schemaVersion": "1.0",
3+
"schemaVersion": "1.7",
44
"createEntities": [
55
{
66
"client": {
@@ -64,11 +64,29 @@
6464
],
6565
"ordered": false
6666
}
67+
},
68+
{
69+
"name": "find",
70+
"object": "collection",
71+
"arguments": {
72+
"filter": {}
73+
},
74+
"expectResult": [
75+
{
76+
"_id": 1,
77+
"x": 11
78+
},
79+
{
80+
"_id": "unorderedBulkWriteInsertW0",
81+
"x": 44
82+
}
83+
]
6784
}
6885
],
6986
"expectEvents": [
7087
{
7188
"client": "client",
89+
"ignoreExtraEvents": true,
7290
"events": [
7391
{
7492
"commandStartedEvent": {

driver-sync/src/test/functional/com/mongodb/client/unified/LogMatcher.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.util.List;
3636

3737
import static org.junit.Assert.assertEquals;
38+
import static org.junit.Assert.assertTrue;
3839

3940
final class LogMatcher {
4041
private final ValueMatcher valueMatcher;
@@ -46,11 +47,16 @@ final class LogMatcher {
4647
this.context = context;
4748
}
4849

49-
void assertLogMessageEquality(final String client, final BsonArray expectedMessages, final List<LogMessage> actualMessages,
50-
final Iterable<Tweak> tweaks) {
50+
void assertLogMessageEquality(final String client, final boolean ignoreExtraMessages, final BsonArray expectedMessages,
51+
final List<LogMessage> actualMessages, final Iterable<Tweak> tweaks) {
5152
context.push(ContextElement.ofLogMessages(client, expectedMessages, actualMessages));
5253

53-
assertEquals(context.getMessage("Number of log messages must be the same"), expectedMessages.size(), actualMessages.size());
54+
if (ignoreExtraMessages) {
55+
assertTrue(context.getMessage("Number of messages must be greater than or equal to the expected number of messages"),
56+
actualMessages.size() >= expectedMessages.size());
57+
} else {
58+
assertEquals(context.getMessage("Number of log messages must be the same"), expectedMessages.size(), actualMessages.size());
59+
}
5460

5561
for (int i = 0; i < expectedMessages.size(); i++) {
5662
BsonDocument expectedMessage = expectedMessages.get(i).asDocument().clone();

driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -301,11 +301,12 @@ private void compareLogMessages(final UnifiedTestContext rootContext, final Bson
301301
final Iterable<LogMatcher.Tweak> tweaks) {
302302
for (BsonValue cur : definition.getArray("expectLogMessages")) {
303303
BsonDocument curLogMessagesForClient = cur.asDocument();
304+
boolean ignoreExtraMessages = curLogMessagesForClient.getBoolean("ignoreExtraMessages", BsonBoolean.FALSE).getValue();
304305
String clientId = curLogMessagesForClient.getString("client").getValue();
305306
TestLoggingInterceptor loggingInterceptor =
306307
entities.getClientLoggingInterceptor(clientId);
307-
rootContext.getLogMatcher().assertLogMessageEquality(clientId, curLogMessagesForClient.getArray("messages"),
308-
loggingInterceptor.getMessages(), tweaks);
308+
rootContext.getLogMatcher().assertLogMessageEquality(clientId, ignoreExtraMessages,
309+
curLogMessagesForClient.getArray("messages"), loggingInterceptor.getMessages(), tweaks);
309310
}
310311
}
311312

0 commit comments

Comments
 (0)