Skip to content

Commit 2ae496c

Browse files
committed
Use write concern majority in client side encryption tests
JAVA-3464
1 parent 568505a commit 2ae496c

9 files changed

+24
-7
lines changed

driver-async/src/test/functional/com/mongodb/async/client/ClientSideEncryptionBsonSizeLimitsSpecification.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.mongodb.AutoEncryptionSettings
2020
import com.mongodb.ClientEncryptionSettings
2121
import com.mongodb.MongoNamespace
2222
import com.mongodb.MongoWriteException
23+
import com.mongodb.WriteConcern
2324
import com.mongodb.async.FutureResultCallback
2425
import com.mongodb.async.client.vault.ClientEncryption
2526
import com.mongodb.async.client.vault.ClientEncryptions
@@ -60,7 +61,8 @@ class ClientSideEncryptionBsonSizeLimitsSpecification extends FunctionalSpecific
6061
Fixture.drop(autoEncryptingCollectionNamespace)
6162

6263
new CollectionHelper<>(new BsonDocumentCodec(), keyVaultNamespace).insertDocuments(
63-
getTestDocument('/client-side-encryption-limits/limits-key.json'))
64+
[getTestDocument('/client-side-encryption-limits/limits-key.json')],
65+
WriteConcern.MAJORITY)
6466

6567
def providerProperties =
6668
['local': ['key': Base64.getDecoder().decode('Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN'

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.mongodb.ClientEncryptionSettings;
2121
import com.mongodb.MongoClientSettings;
2222
import com.mongodb.MongoException;
23+
import com.mongodb.WriteConcern;
2324
import com.mongodb.async.FutureResultCallback;
2425
import com.mongodb.async.client.vault.ClientEncryption;
2526
import com.mongodb.async.client.vault.ClientEncryptions;
@@ -101,7 +102,8 @@ public void setUp() throws IOException, URISyntaxException {
101102

102103
// Step 3: Drop and create admin.datakeys
103104
MongoDatabase adminDatabase = client.getDatabase("admin");
104-
MongoCollection<BsonDocument> dataKeysCollection = adminDatabase.getCollection("datakeys", BsonDocument.class);
105+
MongoCollection<BsonDocument> dataKeysCollection = adminDatabase.getCollection("datakeys", BsonDocument.class)
106+
.withWriteConcern(WriteConcern.MAJORITY);
105107

106108
voidCallback = new FutureResultCallback<Void>();
107109
dataKeysCollection.drop(voidCallback);

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.mongodb.MongoClientSettings;
2222
import com.mongodb.MongoCredential;
2323
import com.mongodb.MongoSecurityException;
24+
import com.mongodb.WriteConcern;
2425
import com.mongodb.async.FutureResultCallback;
2526
import com.mongodb.async.client.vault.ClientEncryption;
2627
import com.mongodb.async.client.vault.ClientEncryptions;
@@ -74,7 +75,8 @@ public void setUp() throws IOException, URISyntaxException {
7475
/* Step 1: get unencrypted client and recreate keys collection */
7576
client = getMongoClient();
7677
MongoDatabase admin = client.getDatabase("admin");
77-
MongoCollection<BsonDocument> datakeys = admin.getCollection("datakeys", BsonDocument.class);
78+
MongoCollection<BsonDocument> datakeys = admin.getCollection("datakeys", BsonDocument.class)
79+
.withWriteConcern(WriteConcern.MAJORITY);
7880
FutureResultCallback<Void> voidCallback = new FutureResultCallback<Void>();
7981
datakeys.drop(voidCallback);
8082
voidCallback.get();

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.mongodb.MongoCommandException;
2121
import com.mongodb.MongoNamespace;
2222
import com.mongodb.MongoWriteConcernException;
23+
import com.mongodb.WriteConcern;
2324
import com.mongodb.async.FutureResultCallback;
2425
import com.mongodb.client.model.CreateCollectionOptions;
2526
import com.mongodb.client.model.ValidationOptions;
@@ -156,7 +157,8 @@ public void setUp() {
156157
}
157158

158159
/* Insert data into the "admin.datakeys" key vault. */
159-
collection = getMongoClient().getDatabase("admin").getCollection("datakeys", BsonDocument.class);
160+
collection = getMongoClient().getDatabase("admin").getCollection("datakeys", BsonDocument.class)
161+
.withWriteConcern(WriteConcern.MAJORITY);
160162
callback = new FutureResultCallback<Void>();
161163
collection.drop(callback);
162164
callback.get(30, TimeUnit.SECONDS);

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.mongodb.MongoCommandException;
2121
import com.mongodb.MongoNamespace;
2222
import com.mongodb.MongoWriteConcernException;
23+
import com.mongodb.WriteConcern;
2324
import com.mongodb.client.model.CreateCollectionOptions;
2425
import com.mongodb.client.model.ValidationOptions;
2526
import com.mongodb.client.test.CollectionHelper;
@@ -147,7 +148,8 @@ public void setUp() {
147148

148149
/* Insert data into the "admin.datakeys" key vault. */
149150
BsonArray data = specDocument.getArray("key_vault_data", new BsonArray());
150-
collection = getMongoClient().getDatabase("admin").getCollection("datakeys", BsonDocument.class);
151+
collection = getMongoClient().getDatabase("admin").getCollection("datakeys", BsonDocument.class)
152+
.withWriteConcern(WriteConcern.MAJORITY);
151153
collection.drop();
152154
if (!data.isEmpty()) {
153155
documents = new ArrayList<BsonDocument>();

driver-sync/src/test/functional/com/mongodb/client/ClientSideEncryptionBsonSizeLimitsSpecification.groovy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.mongodb.AutoEncryptionSettings
2020
import com.mongodb.ClientEncryptionSettings
2121
import com.mongodb.MongoNamespace
2222
import com.mongodb.MongoWriteException
23+
import com.mongodb.WriteConcern
2324
import com.mongodb.client.vault.ClientEncryption
2425
import com.mongodb.client.vault.ClientEncryptions
2526
import com.mongodb.internal.connection.TestCommandListener
@@ -45,6 +46,7 @@ class ClientSideEncryptionBsonSizeLimitsSpecification extends FunctionalSpecific
4546
collectionName)
4647
private final MongoCollection dataKeyCollection = getMongoClient()
4748
.getDatabase(keyVaultNamespace.databaseName).getCollection(keyVaultNamespace.collectionName, BsonDocument)
49+
.withWriteConcern(WriteConcern.MAJORITY)
4850
private final MongoCollection<BsonDocument> dataCollection = getMongoClient()
4951
.getDatabase(autoEncryptingCollectionNamespace.databaseName).getCollection(autoEncryptingCollectionNamespace.collectionName,
5052
BsonDocument)

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.mongodb.ClientEncryptionSettings;
2121
import com.mongodb.MongoClientSettings;
2222
import com.mongodb.MongoException;
23+
import com.mongodb.WriteConcern;
2324
import com.mongodb.client.model.vault.EncryptOptions;
2425
import com.mongodb.client.vault.ClientEncryption;
2526
import com.mongodb.client.vault.ClientEncryptions;
@@ -94,7 +95,8 @@ public void setUp() throws IOException, URISyntaxException {
9495

9596
// Step 3: Drop and create admin.datakeys
9697
MongoDatabase adminDatabase = client.getDatabase("admin");
97-
MongoCollection<BsonDocument> dataKeysCollection = adminDatabase.getCollection("datakeys", BsonDocument.class);
98+
MongoCollection<BsonDocument> dataKeysCollection = adminDatabase.getCollection("datakeys", BsonDocument.class)
99+
.withWriteConcern(WriteConcern.MAJORITY);
98100
dataKeysCollection.drop();
99101
dataKeysCollection.insertOne(bsonDocumentFromPath("corpus-key-aws.json"));
100102
dataKeysCollection.insertOne(bsonDocumentFromPath("corpus-key-local.json"));

driver-sync/src/test/functional/com/mongodb/client/ClientSideEncryptionExternalKeyVaultSpecification.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ class ClientSideEncryptionExternalKeyVaultSpecification extends FunctionalSpecif
4848
'ClientSideEncryptionProseTestSpecification')
4949
private final MongoCollection dataKeyCollection = getMongoClient()
5050
.getDatabase(keyVaultNamespace.databaseName).getCollection(keyVaultNamespace.collectionName, BsonDocument)
51+
.withWriteConcern(WriteConcern.MAJORITY)
5152
private final MongoCollection<BsonDocument> dataCollection = getMongoClient()
5253
.getDatabase(autoEncryptingCollectionNamespace.databaseName).getCollection(autoEncryptingCollectionNamespace.collectionName,
5354
BsonDocument)

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.mongodb.MongoClientSettings;
2222
import com.mongodb.MongoCredential;
2323
import com.mongodb.MongoSecurityException;
24+
import com.mongodb.WriteConcern;
2425
import com.mongodb.client.model.vault.EncryptOptions;
2526
import com.mongodb.client.vault.ClientEncryption;
2627
import com.mongodb.client.vault.ClientEncryptions;
@@ -73,7 +74,8 @@ public void setUp() throws IOException, URISyntaxException {
7374
/* Step 1: get unencrypted client and recreate keys collection */
7475
client = getMongoClient();
7576
MongoDatabase admin = client.getDatabase("admin");
76-
MongoCollection<BsonDocument> datakeys = admin.getCollection("datakeys", BsonDocument.class);
77+
MongoCollection<BsonDocument> datakeys = admin.getCollection("datakeys", BsonDocument.class)
78+
.withWriteConcern(WriteConcern.MAJORITY);
7779
datakeys.drop();
7880
datakeys.insertOne(bsonDocumentFromPath("external-key.json"));
7981

0 commit comments

Comments
 (0)