Skip to content

Commit 2063c20

Browse files
committed
Revise error messages for autoEncryption and ClientEncryption options
1 parent 66fc493 commit 2063c20

File tree

4 files changed

+22
-22
lines changed

4 files changed

+22
-22
lines changed

src/MongoDB/ClientEncryption.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ static mongoc_client_encryption_opts_t* phongo_clientencryption_opts_from_zval(z
214214
zval* key_vault_client = php_array_fetch(options, "keyVaultClient");
215215

216216
if (Z_TYPE_P(key_vault_client) != IS_OBJECT || !instanceof_function(Z_OBJCE_P(key_vault_client), php_phongo_manager_ce)) {
217-
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"keyVaultClient\" encryption option to be %s, %s given", ZSTR_VAL(php_phongo_manager_ce->name), PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(key_vault_client));
217+
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"keyVaultClient\" option to be %s, %s given", ZSTR_VAL(php_phongo_manager_ce->name), PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(key_vault_client));
218218
goto cleanup;
219219
}
220220

@@ -235,7 +235,7 @@ static mongoc_client_encryption_opts_t* phongo_clientencryption_opts_from_zval(z
235235
keyvault_namespace = php_array_fetchc_string(options, "keyVaultNamespace", &plen, &pfree);
236236

237237
if (!phongo_split_namespace(keyvault_namespace, &db_name, &coll_name)) {
238-
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"keyVaultNamespace\" encryption option to contain a full collection name");
238+
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"keyVaultNamespace\" option to contain a full collection namespace");
239239

240240
if (pfree) {
241241
efree(keyvault_namespace);
@@ -258,7 +258,7 @@ static mongoc_client_encryption_opts_t* phongo_clientencryption_opts_from_zval(z
258258
bson_t bson_providers = BSON_INITIALIZER;
259259

260260
if (Z_TYPE_P(kms_providers) != IS_ARRAY && Z_TYPE_P(kms_providers) != IS_OBJECT) {
261-
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"kmsProviders\" encryption option to be an array or object");
261+
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"kmsProviders\" option to be an array or object, %s given", PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(kms_providers));
262262
goto cleanup;
263263
}
264264

@@ -276,7 +276,7 @@ static mongoc_client_encryption_opts_t* phongo_clientencryption_opts_from_zval(z
276276
bson_t bson_options = BSON_INITIALIZER;
277277

278278
if (Z_TYPE_P(tls_options) != IS_ARRAY && Z_TYPE_P(tls_options) != IS_OBJECT) {
279-
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"tlsOptions\" encryption option to be an array or object");
279+
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"tlsOptions\" option to be an array or object, %s given", PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(tls_options));
280280
goto cleanup;
281281
}
282282

src/phongo_client.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1291,7 +1291,7 @@ static bool phongo_manager_set_auto_encryption_opts(php_phongo_manager_t* manage
12911291
bson_t bson_map = BSON_INITIALIZER;
12921292

12931293
if (Z_TYPE_P(enc_fields_map) != IS_OBJECT && Z_TYPE_P(enc_fields_map) != IS_ARRAY) {
1294-
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"encryptedFieldsMap\" encryption option to be an array or object");
1294+
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"encryptedFieldsMap\" autoEncryption option to be an array or object, %s given", PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(enc_fields_map));
12951295
goto cleanup;
12961296
}
12971297

@@ -1313,7 +1313,7 @@ static bool phongo_manager_set_auto_encryption_opts(php_phongo_manager_t* manage
13131313
zval* key_vault_client = php_array_fetch(zAutoEncryptionOpts, "keyVaultClient");
13141314

13151315
if (Z_TYPE_P(key_vault_client) != IS_OBJECT || !instanceof_function(Z_OBJCE_P(key_vault_client), php_phongo_manager_ce)) {
1316-
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"keyVaultClient\" encryption option to be %s, %s given", ZSTR_VAL(php_phongo_manager_ce->name), PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(key_vault_client));
1316+
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"keyVaultClient\" autoEncryption option to be %s, %s given", ZSTR_VAL(php_phongo_manager_ce->name), PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(key_vault_client));
13171317
goto cleanup;
13181318
}
13191319

@@ -1343,7 +1343,7 @@ static bool phongo_manager_set_auto_encryption_opts(php_phongo_manager_t* manage
13431343
key_vault_ns = php_array_fetch_string(zAutoEncryptionOpts, "keyVaultNamespace", &plen, &pfree);
13441344

13451345
if (!phongo_split_namespace(key_vault_ns, &db_name, &coll_name)) {
1346-
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"keyVaultNamespace\" encryption option to contain a full collection name");
1346+
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"keyVaultNamespace\" autoEncryption option to contain a full collection namespace");
13471347

13481348
if (pfree) {
13491349
efree(key_vault_ns);
@@ -1367,7 +1367,7 @@ static bool phongo_manager_set_auto_encryption_opts(php_phongo_manager_t* manage
13671367
bson_t bson_providers = BSON_INITIALIZER;
13681368

13691369
if (Z_TYPE_P(kms_providers) != IS_OBJECT && Z_TYPE_P(kms_providers) != IS_ARRAY) {
1370-
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"kmsProviders\" encryption option to be an array or object");
1370+
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"kmsProviders\" autoEncryption option to be an array or object, %s given", PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(kms_providers));
13711371
goto cleanup;
13721372
}
13731373

@@ -1386,7 +1386,7 @@ static bool phongo_manager_set_auto_encryption_opts(php_phongo_manager_t* manage
13861386
bson_t bson_map = BSON_INITIALIZER;
13871387

13881388
if (Z_TYPE_P(schema_map) != IS_OBJECT && Z_TYPE_P(schema_map) != IS_ARRAY) {
1389-
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"schemaMap\" encryption option to be an array or object");
1389+
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"schemaMap\" autoEncryption option to be an array or object, %s given", PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(schema_map));
13901390
goto cleanup;
13911391
}
13921392

@@ -1405,7 +1405,7 @@ static bool phongo_manager_set_auto_encryption_opts(php_phongo_manager_t* manage
14051405
bson_t bson_options = BSON_INITIALIZER;
14061406

14071407
if (Z_TYPE_P(tls_options) != IS_OBJECT && Z_TYPE_P(tls_options) != IS_ARRAY) {
1408-
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"tlsOptions\" encryption option to be an array or object");
1408+
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"tlsOptions\" autoEncryption option to be an array or object, %s given", PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(tls_options));
14091409
goto cleanup;
14101410
}
14111411

@@ -1424,7 +1424,7 @@ static bool phongo_manager_set_auto_encryption_opts(php_phongo_manager_t* manage
14241424
bson_t bson_options = BSON_INITIALIZER;
14251425

14261426
if (Z_TYPE_P(extra_options) != IS_OBJECT && Z_TYPE_P(extra_options) != IS_ARRAY) {
1427-
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"extraOptions\" encryption option to be an array or object");
1427+
phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"extraOptions\" autoEncryption option to be an array or object, %s given", PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(extra_options));
14281428
goto cleanup;
14291429
}
14301430

tests/manager/manager-createClientEncryption-error-002.phpt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ foreach ($tests as $test) {
3131
<?php exit(0); ?>
3232
--EXPECT--
3333
OK: Got MongoDB\Driver\Exception\InvalidArgumentException
34-
Expected "keyVaultClient" encryption option to be MongoDB\Driver\Manager, string given
34+
Expected "keyVaultClient" option to be MongoDB\Driver\Manager, string given
3535

3636
OK: Got MongoDB\Driver\Exception\InvalidArgumentException
37-
Expected "keyVaultNamespace" encryption option to contain a full collection name
37+
Expected "keyVaultNamespace" option to contain a full collection namespace
3838

3939
OK: Got MongoDB\Driver\Exception\InvalidArgumentException
40-
Expected "kmsProviders" encryption option to be an array or object
40+
Expected "kmsProviders" option to be an array or object, string given
4141

4242
OK: Got MongoDB\Driver\Exception\InvalidArgumentException
43-
Expected "tlsOptions" encryption option to be an array or object
43+
Expected "tlsOptions" option to be an array or object, string given
4444

4545
===DONE===

tests/manager/manager-ctor-auto_encryption-error-003.phpt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,24 +37,24 @@ OK: Got MongoDB\Driver\Exception\InvalidArgumentException
3737
Expected "autoEncryption" driver option to be array, string given
3838

3939
OK: Got MongoDB\Driver\Exception\InvalidArgumentException
40-
Expected "encryptedFieldsMap" encryption option to be an array or object
40+
Expected "encryptedFieldsMap" autoEncryption option to be an array or object, string given
4141

4242
OK: Got MongoDB\Driver\Exception\InvalidArgumentException
43-
Expected "keyVaultClient" encryption option to be MongoDB\Driver\Manager, string given
43+
Expected "keyVaultClient" autoEncryption option to be MongoDB\Driver\Manager, string given
4444

4545
OK: Got MongoDB\Driver\Exception\InvalidArgumentException
46-
Expected "keyVaultNamespace" encryption option to contain a full collection name
46+
Expected "keyVaultNamespace" autoEncryption option to contain a full collection namespace
4747

4848
OK: Got MongoDB\Driver\Exception\InvalidArgumentException
49-
Expected "kmsProviders" encryption option to be an array or object
49+
Expected "kmsProviders" autoEncryption option to be an array or object, string given
5050

5151
OK: Got MongoDB\Driver\Exception\InvalidArgumentException
52-
Expected "schemaMap" encryption option to be an array or object
52+
Expected "schemaMap" autoEncryption option to be an array or object, string given
5353

5454
OK: Got MongoDB\Driver\Exception\InvalidArgumentException
55-
Expected "tlsOptions" encryption option to be an array or object
55+
Expected "tlsOptions" autoEncryption option to be an array or object, string given
5656

5757
OK: Got MongoDB\Driver\Exception\InvalidArgumentException
58-
Expected "extraOptions" encryption option to be an array or object
58+
Expected "extraOptions" autoEncryption option to be an array or object, string given
5959

6060
===DONE===

0 commit comments

Comments
 (0)