Skip to content

Commit 5df367d

Browse files
committed
JAVA-1887: Forcing acknowledgment of writes in some tests, so that other subsequent tests are not affected.
1 parent 07052cc commit 5df367d

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

driver-core/src/test/functional/com/mongodb/connection/WriteProtocolCommandEventSpecification.groovy

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,14 @@ import com.mongodb.connection.netty.NettyStreamFactory
2929
import com.mongodb.event.CommandFailedEvent
3030
import com.mongodb.event.CommandStartedEvent
3131
import com.mongodb.event.CommandSucceededEvent
32+
import com.mongodb.internal.validator.NoOpFieldNameValidator
3233
import org.bson.BsonArray
3334
import org.bson.BsonBinary
3435
import org.bson.BsonBoolean
3536
import org.bson.BsonDocument
3637
import org.bson.BsonInt32
3738
import org.bson.BsonString
39+
import org.bson.codecs.BsonDocumentCodec
3840
import spock.lang.IgnoreIf
3941
import spock.lang.Shared
4042

@@ -84,6 +86,10 @@ class WriteProtocolCommandEventSpecification extends OperationFunctionalSpecific
8486
[new BsonDocument('_id', new BsonInt32(1))]))),
8587
new CommandSucceededEvent(1, connection.getDescription(), 'insert',
8688
new BsonDocument('ok', new BsonInt32(1)), 0)])
89+
cleanup:
90+
// force acknowledgement
91+
new CommandProtocol(getDatabaseName(), new BsonDocument('drop', new BsonString(getCollectionName())),
92+
new NoOpFieldNameValidator(), new BsonDocumentCodec()).execute(connection)
8793
}
8894

8995
@IgnoreIf({ !serverVersionAtLeast([2, 4, 0]) })
@@ -123,6 +129,10 @@ class WriteProtocolCommandEventSpecification extends OperationFunctionalSpecific
123129
.append('documents', new BsonArray([documentFour]))),
124130
new CommandSucceededEvent(1, connection.getDescription(), 'insert',
125131
new BsonDocument('ok', new BsonInt32(1)), 0)])
132+
cleanup:
133+
// force acknowledgement
134+
new CommandProtocol(getDatabaseName(), new BsonDocument('drop', new BsonString(getCollectionName())),
135+
new NoOpFieldNameValidator(), new BsonDocumentCodec()).execute(connection)
126136
}
127137

128138
def 'should deliver started and completed command events when there is a write error'() {
@@ -214,7 +224,11 @@ class WriteProtocolCommandEventSpecification extends OperationFunctionalSpecific
214224
.append('upsert', BsonBoolean.TRUE)]))),
215225
new CommandSucceededEvent(1, connection.getDescription(), 'update',
216226
new BsonDocument('ok', new BsonInt32(1)), 0)])
217-
}
227+
228+
cleanup:
229+
// force acknowledgement
230+
new CommandProtocol(getDatabaseName(), new BsonDocument('drop', new BsonString(getCollectionName())),
231+
new NoOpFieldNameValidator(), new BsonDocumentCodec()).execute(connection)}
218232

219233
def 'should deliver started and completed command events for a single unacknowleded delete'() {
220234
given:

driver-core/src/test/functional/com/mongodb/connection/WriteProtocolSpecification.groovy

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,12 @@ import com.mongodb.DuplicateKeyException
2222
import com.mongodb.OperationFunctionalSpecification
2323
import com.mongodb.bulk.InsertRequest
2424
import com.mongodb.connection.netty.NettyStreamFactory
25+
import com.mongodb.internal.validator.NoOpFieldNameValidator
2526
import org.bson.BsonBinary
2627
import org.bson.BsonDocument
2728
import org.bson.BsonInt32
29+
import org.bson.BsonString
30+
import org.bson.codecs.BsonDocumentCodec
2831
import spock.lang.Shared
2932

3033
import static com.mongodb.ClusterFixture.getCredentialList
@@ -66,9 +69,14 @@ class WriteProtocolSpecification extends OperationFunctionalSpecification {
6669

6770
then:
6871
getCollectionHelper().count() == 1
72+
73+
cleanup:
74+
// force acknowledgement
75+
new CommandProtocol(getDatabaseName(), new BsonDocument('drop', new BsonString(getCollectionName())),
76+
new NoOpFieldNameValidator(), new BsonDocumentCodec()).execute(connection)
6977
}
7078

71-
def 'should report write errors on unacknowledged inserts'() {
79+
def 'should report write errors on acknowledged inserts'() {
7280
given:
7381
def documentOne = new BsonDocument('_id', new BsonInt32(1))
7482
def documentTwo = new BsonDocument('_id', new BsonInt32(2))
@@ -108,6 +116,11 @@ class WriteProtocolSpecification extends OperationFunctionalSpecification {
108116

109117
then:
110118
getCollectionHelper().count() == 1
119+
120+
cleanup:
121+
// force acknowledgement
122+
new CommandProtocol(getDatabaseName(), new BsonDocument('drop', new BsonString(getCollectionName())),
123+
new NoOpFieldNameValidator(), new BsonDocumentCodec()).execute(connection)
111124
}
112125

113126
def 'should report write errors on split acknowledged inserts'() {
@@ -130,6 +143,5 @@ class WriteProtocolSpecification extends OperationFunctionalSpecification {
130143
then:
131144
thrown(DuplicateKeyException)
132145
getCollectionHelper().count() == 1
133-
134146
}
135147
}

0 commit comments

Comments
 (0)