diff --git a/.evergreen/config.yml b/.evergreen/config.yml index a3bf73ad8..89c4f6de8 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -386,7 +386,7 @@ functions: working_dir: "src" script: | ${PREPARE_SHELL} - TESTS=${TESTS} SSL=${SSL} MONGODB_URI="${MONGODB_URI}${APPEND_URI}" sh ${PROJECT_DIRECTORY}/.evergreen/run-tests.sh + API_VERSION=${API_VERSION} TESTS=${TESTS} SSL=${SSL} MONGODB_URI="${MONGODB_URI}${APPEND_URI}" sh ${PROJECT_DIRECTORY}/.evergreen/run-tests.sh "cleanup": - command: shell.exec @@ -585,6 +585,19 @@ tasks: vars: TESTS: "tests/atlas.phpt" + - name: "test-requireApiVersion" + tags: ["versioned_api"] + commands: + - func: "compile driver" + - func: "bootstrap mongo-orchestration" + vars: + TOPOLOGY: "server" + AUTH: "auth" + REQUIRE_API_VERSION: "yes" + - func: "run tests" + vars: + API_VERSION: "1" + - name: "ocsp-test_1-rsa-delegate" tags: ["ocsp"] commands: @@ -1180,3 +1193,9 @@ buildvariants: display_name: "OCSP tests - ${versions}" tasks: - name: ".ocsp" + +- matrix_name: "test-requireApiVersion" + matrix_spec: { "os-php7": "debian92-test", "php-versions": "7.3", "versions": "latest" } + display_name: "Versioned API - ${versions}" + tasks: + - name: "test-requireApiVersion" diff --git a/.evergreen/run-tests.sh b/.evergreen/run-tests.sh index 8e618bffe..100cea400 100755 --- a/.evergreen/run-tests.sh +++ b/.evergreen/run-tests.sh @@ -11,6 +11,7 @@ AUTH=${AUTH:-noauth} SSL=${SSL:-nossl} MONGODB_URI=${MONGODB_URI:-} TESTS=${TESTS:-} +API_VERSION=${API_VERSION:-} OS=$(uname -s | tr '[:upper:]' '[:lower:]') [ -z "$MARCH" ] && MARCH=$(uname -m | tr '[:upper:]' '[:lower:]') @@ -26,7 +27,7 @@ echo "Running $AUTH tests, connecting to $MONGODB_URI" # Run the tests, and store the results in a junit result file case "$OS" in *) - TEST_PHP_JUNIT="${PROJECT_DIRECTORY}/test-results.xml" TEST_PHP_ARGS="-q -x --show-diff -g FAIL,XFAIL,BORK,WARN,LEAK,SKIP" make test TESTS=$TESTS + API_VERSION="${API_VERSION}" TEST_PHP_JUNIT="${PROJECT_DIRECTORY}/test-results.xml" TEST_PHP_ARGS="-q -x --show-diff -g FAIL,XFAIL,BORK,WARN,LEAK,SKIP" make test TESTS=$TESTS ;; esac diff --git a/config.m4 b/config.m4 index 419fcebe3..f18229f59 100644 --- a/config.m4 +++ b/config.m4 @@ -143,6 +143,7 @@ if test "$PHP_MONGODB" != "no"; then src/MongoDB/ReadConcern.c \ src/MongoDB/ReadPreference.c \ src/MongoDB/Server.c \ + src/MongoDB/ServerApi.c \ src/MongoDB/Session.c \ src/MongoDB/WriteConcern.c \ src/MongoDB/WriteConcernError.c \ diff --git a/config.w32 b/config.w32 index 0e24e8fef..64db183df 100644 --- a/config.w32 +++ b/config.w32 @@ -120,7 +120,7 @@ if (PHP_MONGODB != "no") { EXTENSION("mongodb", "php_phongo.c phongo_compat.c", null, PHP_MONGODB_CFLAGS); MONGODB_ADD_SOURCES("/src", "bson.c bson-encode.c"); MONGODB_ADD_SOURCES("/src/BSON", "Binary.c BinaryInterface.c DBPointer.c Decimal128.c Decimal128Interface.c Int64.c Javascript.c JavascriptInterface.c MaxKey.c MaxKeyInterface.c MinKey.c MinKeyInterface.c ObjectId.c ObjectIdInterface.c Persistable.c Regex.c RegexInterface.c Serializable.c Symbol.c Timestamp.c TimestampInterface.c Type.c Undefined.c Unserializable.c UTCDateTime.c UTCDateTimeInterface.c functions.c"); - MONGODB_ADD_SOURCES("/src/MongoDB", "BulkWrite.c ClientEncryption.c Command.c Cursor.c CursorId.c CursorInterface.c Manager.c Query.c ReadConcern.c ReadPreference.c Server.c Session.c WriteConcern.c WriteConcernError.c WriteError.c WriteResult.c"); + MONGODB_ADD_SOURCES("/src/MongoDB", "BulkWrite.c ClientEncryption.c Command.c Cursor.c CursorId.c CursorInterface.c Manager.c Query.c ReadConcern.c ReadPreference.c Server.c ServerApi.c Session.c WriteConcern.c WriteConcernError.c WriteError.c WriteResult.c"); MONGODB_ADD_SOURCES("/src/MongoDB/Exception", "AuthenticationException.c BulkWriteException.c CommandException.c ConnectionException.c ConnectionTimeoutException.c EncryptionException.c Exception.c ExecutionTimeoutException.c InvalidArgumentException.c LogicException.c RuntimeException.c ServerException.c SSLConnectionException.c UnexpectedValueException.c WriteException.c"); MONGODB_ADD_SOURCES("/src/MongoDB/Monitoring", "CommandFailedEvent.c CommandStartedEvent.c CommandSubscriber.c CommandSucceededEvent.c Subscriber.c functions.c"); MONGODB_ADD_SOURCES("/src/libmongoc/src/common", PHP_MONGODB_COMMON_SOURCES); diff --git a/phongo_compat.h b/phongo_compat.h index 3ded7f3be..723cc76e2 100644 --- a/phongo_compat.h +++ b/phongo_compat.h @@ -169,6 +169,55 @@ } while (0) #endif /* PHP_VERSION_ID < 70300 */ +/* Compatibility macros to override error handling logic */ +#define PHONGO_PARSE_PARAMETERS_START(min_num_args, max_num_args) \ + do { \ + zend_error_handling error_handling; \ + zend_replace_error_handling( \ + EH_THROW, \ + phongo_exception_from_phongo_domain(PHONGO_ERROR_INVALID_ARGUMENT), \ + &error_handling); \ + ZEND_PARSE_PARAMETERS_START(min_num_args, max_num_args) + +#define PHONGO_PARSE_PARAMETERS_END() \ + ZEND_PARSE_PARAMETERS_END_EX( \ + zend_restore_error_handling(&error_handling); \ + return ); \ + zend_restore_error_handling(&error_handling); \ + } \ + while (0) + +#ifndef ZEND_PARSE_PARAMETERS_NONE +#define PHONGO_PARSE_PARAMETERS_NONE() \ + do { \ + zend_error_handling error_handling; \ + zend_replace_error_handling( \ + EH_THROW, \ + phongo_exception_from_phongo_domain(PHONGO_ERROR_INVALID_ARGUMENT), \ + &error_handling); \ + if (zend_parse_parameters_none() == FAILURE) { \ + zend_restore_error_handling(&error_handling); \ + return; \ + } \ + zend_restore_error_handling(&error_handling); \ + } while (0) +#else +#define PHONGO_PARSE_PARAMETERS_NONE() \ + do { \ + zend_error_handling error_handling; \ + zend_replace_error_handling( \ + EH_THROW, \ + phongo_exception_from_phongo_domain(PHONGO_ERROR_INVALID_ARGUMENT), \ + &error_handling); \ + if (UNEXPECTED(ZEND_NUM_ARGS() != 0)) { \ + zend_wrong_parameters_none_error(); \ + zend_restore_error_handling(&error_handling); \ + return; \ + } \ + zend_restore_error_handling(&error_handling); \ + } while (0) +#endif + void phongo_add_exception_prop(const char* prop, int prop_len, zval* value); zend_bool php_phongo_zend_hash_apply_protection_begin(HashTable* ht); zend_bool php_phongo_zend_hash_apply_protection_end(HashTable* ht); diff --git a/php_phongo.c b/php_phongo.c index d55b23603..f2030d7ba 100644 --- a/php_phongo.c +++ b/php_phongo.c @@ -2833,6 +2833,33 @@ static mongoc_client_t* php_phongo_find_persistent_client(const char* hash, size return NULL; } +static bool phongo_manager_set_serverapi_opts(php_phongo_manager_t* manager, zval* driverOptions) /* {{{ */ +{ + zval* zServerApi; + php_phongo_serverapi_t* server_api; + bson_error_t error = { 0 }; + + if (!driverOptions || !php_array_existsc(driverOptions, "serverApi")) { + return true; + } + + zServerApi = php_array_fetch(driverOptions, "serverApi"); + + if (Z_TYPE_P(zServerApi) != IS_OBJECT || !instanceof_function(Z_OBJCE_P(zServerApi), php_phongo_serverapi_ce)) { + phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Expected \"serverApi\" driver option to be %s, %s given", ZSTR_VAL(php_phongo_serverapi_ce->name), PHONGO_ZVAL_CLASS_OR_TYPE_NAME_P(zServerApi)); + return false; + } + + server_api = Z_SERVERAPI_OBJ_P(zServerApi); + + if (!mongoc_client_set_server_api(manager->client, server_api->server_api, &error)) { + phongo_throw_exception_from_bson_error_t(&error); + return false; + } + + return true; +} /* }}} */ + #ifdef MONGOC_ENABLE_CLIENT_SIDE_ENCRYPTION static bool phongo_manager_set_auto_encryption_opts(php_phongo_manager_t* manager, zval* driverOptions) /* {{{ */ { @@ -3453,6 +3480,11 @@ void phongo_manager_init(php_phongo_manager_t* manager, const char* uri_string, goto cleanup; } + if (!phongo_manager_set_serverapi_opts(manager, driverOptions)) { + /* Exception should already have been thrown */ + goto cleanup; + } + php_phongo_set_monitoring_callbacks(manager->client); MONGOC_DEBUG("Created client with hash: %s", manager->client_hash); @@ -3893,6 +3925,7 @@ PHP_MINIT_FUNCTION(mongodb) php_phongo_readconcern_init_ce(INIT_FUNC_ARGS_PASSTHRU); php_phongo_readpreference_init_ce(INIT_FUNC_ARGS_PASSTHRU); php_phongo_server_init_ce(INIT_FUNC_ARGS_PASSTHRU); + php_phongo_serverapi_init_ce(INIT_FUNC_ARGS_PASSTHRU); php_phongo_session_init_ce(INIT_FUNC_ARGS_PASSTHRU); php_phongo_writeconcern_init_ce(INIT_FUNC_ARGS_PASSTHRU); php_phongo_writeconcernerror_init_ce(INIT_FUNC_ARGS_PASSTHRU); diff --git a/php_phongo_classes.h b/php_phongo_classes.h index ee8b3cefb..66c4aaa66 100644 --- a/php_phongo_classes.h +++ b/php_phongo_classes.h @@ -63,6 +63,10 @@ static inline php_phongo_server_t* php_server_fetch_object(zend_object* obj) { return (php_phongo_server_t*) ((char*) obj - XtOffsetOf(php_phongo_server_t, std)); } +static inline php_phongo_serverapi_t* php_serverapi_fetch_object(zend_object* obj) +{ + return (php_phongo_serverapi_t*) ((char*) obj - XtOffsetOf(php_phongo_serverapi_t, std)); +} static inline php_phongo_session_t* php_session_fetch_object(zend_object* obj) { return (php_phongo_session_t*) ((char*) obj - XtOffsetOf(php_phongo_session_t, std)); @@ -157,6 +161,7 @@ static inline php_phongo_commandsucceededevent_t* php_commandsucceededevent_fetc #define Z_READCONCERN_OBJ_P(zv) (php_readconcern_fetch_object(Z_OBJ_P(zv))) #define Z_READPREFERENCE_OBJ_P(zv) (php_readpreference_fetch_object(Z_OBJ_P(zv))) #define Z_SERVER_OBJ_P(zv) (php_server_fetch_object(Z_OBJ_P(zv))) +#define Z_SERVERAPI_OBJ_P(zv) (php_serverapi_fetch_object(Z_OBJ_P(zv))) #define Z_SESSION_OBJ_P(zv) (php_session_fetch_object(Z_OBJ_P(zv))) #define Z_BULKWRITE_OBJ_P(zv) (php_bulkwrite_fetch_object(Z_OBJ_P(zv))) #define Z_WRITECONCERN_OBJ_P(zv) (php_writeconcern_fetch_object(Z_OBJ_P(zv))) @@ -189,6 +194,7 @@ static inline php_phongo_commandsucceededevent_t* php_commandsucceededevent_fetc #define Z_OBJ_READCONCERN(zo) (php_readconcern_fetch_object(zo)) #define Z_OBJ_READPREFERENCE(zo) (php_readpreference_fetch_object(zo)) #define Z_OBJ_SERVER(zo) (php_server_fetch_object(zo)) +#define Z_OBJ_SERVERAPI(zo) (php_serverapi_fetch_object(zo)) #define Z_OBJ_SESSION(zo) (php_session_fetch_object(zo)) #define Z_OBJ_BULKWRITE(zo) (php_bulkwrite_fetch_object(zo)) #define Z_OBJ_WRITECONCERN(zo) (php_writeconcern_fetch_object(zo)) @@ -221,6 +227,7 @@ extern zend_class_entry* php_phongo_query_ce; extern zend_class_entry* php_phongo_readconcern_ce; extern zend_class_entry* php_phongo_readpreference_ce; extern zend_class_entry* php_phongo_server_ce; +extern zend_class_entry* php_phongo_serverapi_ce; extern zend_class_entry* php_phongo_session_ce; extern zend_class_entry* php_phongo_bulkwrite_ce; extern zend_class_entry* php_phongo_writeconcern_ce; @@ -318,6 +325,7 @@ extern void php_phongo_query_init_ce(INIT_FUNC_ARGS); extern void php_phongo_readconcern_init_ce(INIT_FUNC_ARGS); extern void php_phongo_readpreference_init_ce(INIT_FUNC_ARGS); extern void php_phongo_server_init_ce(INIT_FUNC_ARGS); +extern void php_phongo_serverapi_init_ce(INIT_FUNC_ARGS); extern void php_phongo_session_init_ce(INIT_FUNC_ARGS); extern void php_phongo_writeconcern_init_ce(INIT_FUNC_ARGS); extern void php_phongo_writeconcernerror_init_ce(INIT_FUNC_ARGS); diff --git a/php_phongo_structs.h b/php_phongo_structs.h index 5004a472e..6027de8eb 100644 --- a/php_phongo_structs.h +++ b/php_phongo_structs.h @@ -105,6 +105,12 @@ typedef struct { zend_object std; } php_phongo_server_t; +typedef struct { + mongoc_server_api_t* server_api; + HashTable* properties; + zend_object std; +} php_phongo_serverapi_t; + typedef struct { mongoc_client_session_t* client_session; zval manager; diff --git a/scripts/convert-bson-corpus-tests.php b/scripts/convert-bson-corpus-tests.php index ed7f5e4bc..56a5784d8 100644 --- a/scripts/convert-bson-corpus-tests.php +++ b/scripts/convert-bson-corpus-tests.php @@ -1,6 +1,6 @@ 'PHP encodes integers as 32-bit if range allows', @@ -288,7 +288,7 @@ function renderPhpt(array $params, array $expectedFailures, array $for64bitOnly) --FILE-- +#include +#include +#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "phongo_compat.h" +#include "php_phongo.h" + +zend_class_entry* php_phongo_serverapi_ce; + +static bool php_phongo_serverapi_create_libmongoc_object(mongoc_server_api_t** server_api, zend_string* version, bool strict_set, bool strict, bool deprecation_errors_set, bool deprecation_errors) /* {{{ */ +{ + mongoc_server_api_version_t server_api_version; + + if (!mongoc_server_api_version_from_string(ZSTR_VAL(version), &server_api_version)) { + phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "Server API version \"%s\" is not supported in this driver version", ZSTR_VAL(version)); + return false; + } + + if (*server_api) { + phongo_throw_exception(PHONGO_ERROR_LOGIC, "Server API object already initialized. Please file a bug report as this should not happen."); + return false; + } + + *server_api = mongoc_server_api_new(server_api_version); + + if (strict_set) { + mongoc_server_api_strict(*server_api, strict); + } + + if (deprecation_errors_set) { + mongoc_server_api_deprecation_errors(*server_api, deprecation_errors); + } + + return true; +} /* }}} */ + +/* Initialize the object from a HashTable and return whether it was successful. + * An exception will be thrown on error. */ +static bool php_phongo_serverapi_init_from_hash(php_phongo_serverapi_t* intern, HashTable* props) /* {{{ */ +{ + zval* version; + zval* strict; + zval* deprecation_errors; + + version = zend_hash_str_find(props, ZEND_STRL("version")); + if (!version || Z_TYPE_P(version) != IS_STRING) { + // Exception + phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "%s initialization requires \"version\" field to be string", ZSTR_VAL(php_phongo_serverapi_ce->name)); + return false; + } + + if ((strict = zend_hash_str_find(props, ZEND_STRL("strict"))) && !ZVAL_IS_NULL(strict)) { + if (Z_TYPE_P(strict) != IS_TRUE && Z_TYPE_P(strict) != IS_FALSE) { + phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "%s initialization requires \"strict\" field to be bool or null", ZSTR_VAL(php_phongo_serverapi_ce->name)); + return false; + } + } + + if ((deprecation_errors = zend_hash_str_find(props, ZEND_STRL("deprecationErrors"))) && !ZVAL_IS_NULL(deprecation_errors)) { + if (Z_TYPE_P(deprecation_errors) != IS_TRUE && Z_TYPE_P(deprecation_errors) != IS_FALSE) { + phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT, "%s initialization requires \"deprecationErrors\" field to be bool or null", ZSTR_VAL(php_phongo_serverapi_ce->name)); + return false; + } + } + + return php_phongo_serverapi_create_libmongoc_object( + &intern->server_api, + Z_STR_P(version), + strict && !ZVAL_IS_NULL(strict), + strict && zval_is_true(strict), + deprecation_errors && !ZVAL_IS_NULL(deprecation_errors), + deprecation_errors && zval_is_true(deprecation_errors)); +} /* }}} */ + +/* {{{ proto void MongoDB\Driver\ServerApi::__construct(string $version, [?bool $strict], [?bool $deprecationErrors]) + Constructs a new ServerApi object */ +static PHP_METHOD(ServerApi, __construct) +{ + php_phongo_serverapi_t* intern; + zend_string* version; + zend_bool strict = 0; + zend_bool strict_null = 1; + zend_bool deprecation_errors = 0; + zend_bool deprecation_errors_null = 1; + + intern = Z_SERVERAPI_OBJ_P(getThis()); + + PHONGO_PARSE_PARAMETERS_START(1, 3) + Z_PARAM_STR(version) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL_EX(strict, strict_null, 1, 0) + Z_PARAM_BOOL_EX(deprecation_errors, deprecation_errors_null, 1, 0) + PHONGO_PARSE_PARAMETERS_END(); + + // Will throw on failure + php_phongo_serverapi_create_libmongoc_object( + &intern->server_api, + version, + (bool) !strict_null, + (bool) strict, + (bool) !deprecation_errors_null, + (bool) deprecation_errors); +} /* }}} */ + +/* {{{ proto void MongoDB\BSON\ServerApi::__set_state(array $properties) +*/ +static PHP_METHOD(ServerApi, __set_state) +{ + php_phongo_serverapi_t* intern; + HashTable* props; + zval* array; + + PHONGO_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(array) + PHONGO_PARSE_PARAMETERS_END(); + + object_init_ex(return_value, php_phongo_serverapi_ce); + + intern = Z_SERVERAPI_OBJ_P(return_value); + props = Z_ARRVAL_P(array); + + php_phongo_serverapi_init_from_hash(intern, props); +} /* }}} */ + +static HashTable* php_phongo_serverapi_get_properties_hash(phongo_compat_object_handler_type* object, bool is_debug, bool include_null) /* {{{ */ +{ + php_phongo_serverapi_t* intern; + HashTable* props; + zval version, strict, deprecation_errors; + bool is_set; + + intern = Z_OBJ_SERVERAPI(PHONGO_COMPAT_GET_OBJ(object)); + + PHONGO_GET_PROPERTY_HASH_INIT_PROPS(is_debug, intern, props, 1); + + ZVAL_STRING(&version, mongoc_server_api_version_to_string(mongoc_server_api_get_version(intern->server_api))); + zend_hash_str_add(props, "version", sizeof("version") - 1, &version); + + is_set = mongoc_optional_is_set(mongoc_server_api_get_strict(intern->server_api)); + if (is_set) { + ZVAL_BOOL(&strict, mongoc_optional_value(mongoc_server_api_get_strict(intern->server_api))); + } else { + ZVAL_NULL(&strict); + } + + if (include_null || is_set) { + zend_hash_str_add(props, "strict", sizeof("strict") - 1, &strict); + } + + is_set = mongoc_optional_is_set(mongoc_server_api_get_deprecation_errors(intern->server_api)); + if (is_set) { + ZVAL_BOOL(&deprecation_errors, mongoc_optional_value(mongoc_server_api_get_deprecation_errors(intern->server_api))); + } else { + ZVAL_NULL(&deprecation_errors); + } + + if (include_null || is_set) { + zend_hash_str_add(props, "deprecationErrors", sizeof("deprecationErrors") - 1, &deprecation_errors); + } + + return props; +} /* }}} */ + +/* {{{ proto array MongoDB\Driver\ServerApi::bsonSerialize() +*/ +static PHP_METHOD(ServerApi, bsonSerialize) +{ + PHONGO_PARSE_PARAMETERS_NONE(); + + ZVAL_ARR(return_value, php_phongo_serverapi_get_properties_hash(PHONGO_COMPAT_OBJ_P(getThis()), true, false)); + convert_to_object(return_value); +} /* }}} */ + +/* {{{ proto string MongoDB\Driver\ServerApi::serialize() +*/ +static PHP_METHOD(ServerApi, serialize) +{ + php_phongo_serverapi_t* intern; + zval retval; + php_serialize_data_t var_hash; + smart_str buf = { 0 }; + + intern = Z_SERVERAPI_OBJ_P(getThis()); + + PHONGO_PARSE_PARAMETERS_NONE(); + + array_init_size(&retval, 3); + + ADD_ASSOC_STRING(&retval, "version", mongoc_server_api_version_to_string(mongoc_server_api_get_version(intern->server_api))); + + if (mongoc_optional_is_set(mongoc_server_api_get_strict(intern->server_api))) { + ADD_ASSOC_BOOL_EX(&retval, "strict", mongoc_optional_value(mongoc_server_api_get_strict(intern->server_api))); + } else { + ADD_ASSOC_NULL_EX(&retval, "strict"); + } + + if (mongoc_optional_is_set(mongoc_server_api_get_deprecation_errors(intern->server_api))) { + ADD_ASSOC_BOOL_EX(&retval, "deprecationErrors", mongoc_optional_value(mongoc_server_api_get_deprecation_errors(intern->server_api))); + } else { + ADD_ASSOC_NULL_EX(&retval, "deprecationErrors"); + } + + PHP_VAR_SERIALIZE_INIT(var_hash); + php_var_serialize(&buf, &retval, &var_hash); + smart_str_0(&buf); + PHP_VAR_SERIALIZE_DESTROY(var_hash); + + PHONGO_RETVAL_SMART_STR(buf); + + smart_str_free(&buf); + zval_ptr_dtor(&retval); +} /* }}} */ + +/* {{{ proto void MongoDB\Driver\ServerApi::unserialize(string $serialized) +*/ +static PHP_METHOD(ServerApi, unserialize) +{ + php_phongo_serverapi_t* intern; + char* serialized; + size_t serialized_len; + zval props; + php_unserialize_data_t var_hash; + + intern = Z_SERVERAPI_OBJ_P(getThis()); + + PHONGO_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STRING(serialized, serialized_len) + PHONGO_PARSE_PARAMETERS_END(); + + if (!serialized_len) { + return; + } + + PHP_VAR_UNSERIALIZE_INIT(var_hash); + if (!php_var_unserialize(&props, (const unsigned char**) &serialized, (unsigned char*) serialized + serialized_len, &var_hash)) { + zval_ptr_dtor(&props); + phongo_throw_exception(PHONGO_ERROR_UNEXPECTED_VALUE, "%s unserialization failed", ZSTR_VAL(php_phongo_serverapi_ce->name)); + + PHP_VAR_UNSERIALIZE_DESTROY(var_hash); + return; + } + PHP_VAR_UNSERIALIZE_DESTROY(var_hash); + + php_phongo_serverapi_init_from_hash(intern, HASH_OF(&props)); + zval_ptr_dtor(&props); +} /* }}} */ + +/* {{{ MongoDB\Driver\ServerApi function entries */ +ZEND_BEGIN_ARG_INFO_EX(ai_ServerApi___construct, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, version, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, strict, _IS_BOOL, 1) + ZEND_ARG_TYPE_INFO(0, deprecationErrors, _IS_BOOL, 1) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(ai_ServerApi___set_state, 0, 0, 1) + ZEND_ARG_ARRAY_INFO(0, properties, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(ai_ServerApi_unserialize, 0, 0, 1) +#if PHP_VERSION_ID >= 80000 + ZEND_ARG_TYPE_INFO(0, serialized, IS_STRING, 0) +#else + ZEND_ARG_INFO(0, serialized) +#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(ai_ServerApi_void, 0, 0, 0) +ZEND_END_ARG_INFO() + +static zend_function_entry php_phongo_serverapi_me[] = { + /* clang-format off */ + PHP_ME(ServerApi, __construct, ai_ServerApi___construct, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL) + PHP_ME(ServerApi, __set_state, ai_ServerApi___set_state, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) + PHP_ME(ServerApi, bsonSerialize, ai_ServerApi_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL) + PHP_ME(ServerApi, serialize, ai_ServerApi_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL) + PHP_ME(ServerApi, unserialize, ai_ServerApi_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL) + PHP_FE_END + /* clang-format on */ +}; +/* }}} */ + +/* {{{ MongoDB\Driver\ServerApi object handlers */ +static zend_object_handlers php_phongo_handler_serverapi; + +static void php_phongo_serverapi_free_object(zend_object* object) /* {{{ */ +{ + php_phongo_serverapi_t* intern = Z_OBJ_SERVERAPI(object); + + zend_object_std_dtor(&intern->std); + + if (intern->properties) { + zend_hash_destroy(intern->properties); + FREE_HASHTABLE(intern->properties); + } + + if (intern->server_api) { + mongoc_server_api_destroy(intern->server_api); + } +} + +static zend_object* php_phongo_serverapi_create_object(zend_class_entry* class_type) /* {{{ */ +{ + php_phongo_serverapi_t* intern = NULL; + + intern = PHONGO_ALLOC_OBJECT_T(php_phongo_serverapi_t, class_type); + + zend_object_std_init(&intern->std, class_type); + object_properties_init(&intern->std, class_type); + + intern->std.handlers = &php_phongo_handler_serverapi; + + return &intern->std; +} /* }}} */ + +static HashTable* php_phongo_serverapi_get_debug_info(phongo_compat_object_handler_type* object, int* is_temp) /* {{{ */ +{ + *is_temp = 1; + return php_phongo_serverapi_get_properties_hash(object, true, true); +} /* }}} */ + +static HashTable* php_phongo_serverapi_get_properties(phongo_compat_object_handler_type* object) /* {{{ */ +{ + return php_phongo_serverapi_get_properties_hash(object, false, true); +} /* }}} */ + +void php_phongo_serverapi_init_ce(INIT_FUNC_ARGS) /* {{{ */ +{ + zend_class_entry ce; + + INIT_NS_CLASS_ENTRY(ce, "MongoDB\\Driver", "ServerApi", php_phongo_serverapi_me); + php_phongo_serverapi_ce = zend_register_internal_class(&ce); + php_phongo_serverapi_ce->create_object = php_phongo_serverapi_create_object; + PHONGO_CE_FINAL(php_phongo_serverapi_ce); + + zend_class_implements(php_phongo_serverapi_ce, 1, php_phongo_serializable_ce); + zend_class_implements(php_phongo_serverapi_ce, 1, zend_ce_serializable); + + memcpy(&php_phongo_handler_serverapi, phongo_get_std_object_handlers(), sizeof(zend_object_handlers)); + php_phongo_handler_serverapi.get_debug_info = php_phongo_serverapi_get_debug_info; + php_phongo_handler_serverapi.get_properties = php_phongo_serverapi_get_properties; + php_phongo_handler_serverapi.free_obj = php_phongo_serverapi_free_object; + php_phongo_handler_serverapi.offset = XtOffsetOf(php_phongo_serverapi_t, std); + + zend_declare_class_constant_stringl(php_phongo_serverapi_ce, ZEND_STRL("V1"), ZEND_STRL("1")); +} /* }}} */ + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ diff --git a/tests/apm/bug0950-001.phpt b/tests/apm/bug0950-001.phpt index 06762a4b1..4ee8c10d3 100644 --- a/tests/apm/bug0950-001.phpt +++ b/tests/apm/bug0950-001.phpt @@ -8,7 +8,7 @@ PHPC-950: Segfault killing cursor after subscriber HashTable is destroyed (no su insert(['_id' => 1]); diff --git a/tests/apm/bug0950-002.phpt b/tests/apm/bug0950-002.phpt index 9550d3860..51381ab3a 100644 --- a/tests/apm/bug0950-002.phpt +++ b/tests/apm/bug0950-002.phpt @@ -30,7 +30,7 @@ class MySubscriber implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['_id' => 1]); diff --git a/tests/apm/monitoring-addSubscriber-001.phpt b/tests/apm/monitoring-addSubscriber-001.phpt index a6774d881..f4f9cc26d 100644 --- a/tests/apm/monitoring-addSubscriber-001.phpt +++ b/tests/apm/monitoring-addSubscriber-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Monitoring\addSubscriber(): Adding one subscriber new MongoDB\BSON\Binary('gargleblaster', 24)]; $json = json_encode($doc); diff --git a/tests/bson/bson-binary-serialization_error-001.phpt b/tests/bson/bson-binary-serialization_error-001.phpt index 9a8c5af37..0024d7401 100644 --- a/tests/bson/bson-binary-serialization_error-001.phpt +++ b/tests/bson/bson-binary-serialization_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Binary unserialization requires "data" string and "type" integer fi --FILE-- 'foobar']); diff --git a/tests/bson/bson-binary-set_state_error-002.phpt b/tests/bson/bson-binary-set_state_error-002.phpt index 363708606..78b5786c7 100644 --- a/tests/bson/bson-binary-set_state_error-002.phpt +++ b/tests/bson/bson-binary-set_state_error-002.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Binary::__set_state() requires unsigned 8-bit integer for type --FILE-- 'foobar', 'type' => -1]); diff --git a/tests/bson/bson-binary-set_state_error-003.phpt b/tests/bson/bson-binary-set_state_error-003.phpt index a2d15ede1..738ceea1e 100644 --- a/tests/bson/bson-binary-set_state_error-003.phpt +++ b/tests/bson/bson-binary-set_state_error-003.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Binary::__set_state() requires 16-byte data length for UUID types --FILE-- '0123456789abcde', 'type' => MongoDB\BSON\Binary::TYPE_OLD_UUID]); diff --git a/tests/bson/bson-binary_error-001.phpt b/tests/bson/bson-binary_error-001.phpt index c44224f48..9588d6e60 100644 --- a/tests/bson/bson-binary_error-001.phpt +++ b/tests/bson/bson-binary_error-001.phpt @@ -6,7 +6,7 @@ MongoDB\BSON\Binary argument count errors --FILE-- new MongoDB\BSON\Decimal128('12389719287312')]; $json = json_encode($doc); diff --git a/tests/bson/bson-decimal128-serialization_error-001.phpt b/tests/bson/bson-decimal128-serialization_error-001.phpt index 1926631c0..b404cfc3d 100644 --- a/tests/bson/bson-decimal128-serialization_error-001.phpt +++ b/tests/bson/bson-decimal128-serialization_error-001.phpt @@ -5,7 +5,7 @@ MongoDB\BSON\Decimal128 unserialization requires "dec" string field --FILE-- 0]); diff --git a/tests/bson/bson-decimal128-set_state_error-002.phpt b/tests/bson/bson-decimal128-set_state_error-002.phpt index eff97d742..3d6500c3c 100644 --- a/tests/bson/bson-decimal128-set_state_error-002.phpt +++ b/tests/bson/bson-decimal128-set_state_error-002.phpt @@ -5,7 +5,7 @@ MongoDB\BSON\Decimal128::__set_state() requires valid decimal string --FILE-- 'INVALID']); diff --git a/tests/bson/bson-decimal128_error-001.phpt b/tests/bson/bson-decimal128_error-001.phpt index 27370de72..08a70cac5 100644 --- a/tests/bson/bson-decimal128_error-001.phpt +++ b/tests/bson/bson-decimal128_error-001.phpt @@ -7,7 +7,7 @@ MongoDB\BSON\Decimal128 requires valid decimal string --FILE-- "world"), diff --git a/tests/bson/bson-decode-002.phpt b/tests/bson/bson-decode-002.phpt index f2ec5c4a6..c1c06001c 100644 --- a/tests/bson/bson-decode-002.phpt +++ b/tests/bson/bson-decode-002.phpt @@ -3,7 +3,7 @@ BSON encoding: Encoding object/arrays data into user specificied classes --FILE-- "world"), diff --git a/tests/bson/bson-encode-002.phpt b/tests/bson/bson-encode-002.phpt index d0bdbae79..0171f5c3b 100644 --- a/tests/bson/bson-encode-002.phpt +++ b/tests/bson/bson-encode-002.phpt @@ -3,7 +3,7 @@ BSON encoding: Encoding objects into BSON representation --FILE-- array(), diff --git a/tests/bson/bson-fromJSON-001.phpt b/tests/bson/bson-fromJSON-001.phpt index 173519c17..bdd0b118c 100644 --- a/tests/bson/bson-fromJSON-001.phpt +++ b/tests/bson/bson-fromJSON-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\fromJSON(): Decoding JSON --FILE-- 1], diff --git a/tests/bson/bson-fromPHP-006.phpt b/tests/bson/bson-fromPHP-006.phpt index 51044271e..17c83992a 100644 --- a/tests/bson/bson-fromPHP-006.phpt +++ b/tests/bson/bson-fromPHP-006.phpt @@ -3,7 +3,7 @@ BSON\fromPHP(): PHP documents with null bytes in field name --FILE-- "bob", diff --git a/tests/bson/bson-int64-001.phpt b/tests/bson/bson-int64-001.phpt index ee15d41f1..b617177f5 100644 --- a/tests/bson/bson-int64-001.phpt +++ b/tests/bson/bson-int64-001.phpt @@ -5,7 +5,7 @@ MongoDB\BSON\Int64 roundtripped through BSON on 32-bit platforms --FILE-- unserialize('C:18:"MongoDB\BSON\Int64":47:{a:1:{s:7:"integer";s:19:"9223372036854775807";}}')], diff --git a/tests/bson/bson-int64-clone-001.phpt b/tests/bson/bson-int64-clone-001.phpt index 5a6fe4911..5b045d494 100644 --- a/tests/bson/bson-int64-clone-001.phpt +++ b/tests/bson/bson-int64-clone-001.phpt @@ -5,7 +5,7 @@ MongoDB\BSON\Int64 can be cloned --FILE-- foo = 'bar'; diff --git a/tests/bson/bson-int64-jsonserialize-002.phpt b/tests/bson/bson-int64-jsonserialize-002.phpt index da21a0abb..706520d5f 100644 --- a/tests/bson/bson-int64-jsonserialize-002.phpt +++ b/tests/bson/bson-int64-jsonserialize-002.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Int64::jsonSerialize() with json_encode() --FILE-- unserialize('C:18:"MongoDB\BSON\Int64":47:{a:1:{s:7:"integer";s:19:"9223372036854775807";}}')], diff --git a/tests/bson/bson-int64-serialization_error-001.phpt b/tests/bson/bson-int64-serialization_error-001.phpt index 87f74d9b9..8abaf51d5 100644 --- a/tests/bson/bson-int64-serialization_error-001.phpt +++ b/tests/bson/bson-int64-serialization_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Int64 unserialization requires "int" string field --FILE-- 42)); diff --git a/tests/bson/bson-javascript-clone-001.phpt b/tests/bson/bson-javascript-clone-001.phpt index beea31cde..3709a2873 100644 --- a/tests/bson/bson-javascript-clone-001.phpt +++ b/tests/bson/bson-javascript-clone-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Javascript can be cloned --FILE-- 42]); $javascript->foo = 'bar'; diff --git a/tests/bson/bson-javascript-jsonserialize-003.phpt b/tests/bson/bson-javascript-jsonserialize-003.phpt index 184376793..b1c6018ac 100644 --- a/tests/bson/bson-javascript-jsonserialize-003.phpt +++ b/tests/bson/bson-javascript-jsonserialize-003.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Javascript::jsonSerialize() with json_encode() (without scope) --FILE-- new MongoDB\BSON\Javascript('function foo(bar) { return bar; }')]; $json = json_encode($doc); diff --git a/tests/bson/bson-javascript-jsonserialize-004.phpt b/tests/bson/bson-javascript-jsonserialize-004.phpt index 2cf28bc4e..b42a9beff 100644 --- a/tests/bson/bson-javascript-jsonserialize-004.phpt +++ b/tests/bson/bson-javascript-jsonserialize-004.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Javascript::jsonSerialize() with json_encode() (with scope) --FILE-- new MongoDB\BSON\Javascript('function foo(bar) { return bar; }', ['foo' => 42])]; $json = json_encode($doc); diff --git a/tests/bson/bson-javascript-serialization_error-001.phpt b/tests/bson/bson-javascript-serialization_error-001.phpt index b839963c6..c91b585bd 100644 --- a/tests/bson/bson-javascript-serialization_error-001.phpt +++ b/tests/bson/bson-javascript-serialization_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Javascript unserialization requires "code" string field --FILE-- 0]); diff --git a/tests/bson/bson-javascript-set_state_error-002.phpt b/tests/bson/bson-javascript-set_state_error-002.phpt index 3a9aa25b9..6a7af002b 100644 --- a/tests/bson/bson-javascript-set_state_error-002.phpt +++ b/tests/bson/bson-javascript-set_state_error-002.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Javascript::__set_state() expects optional scope to be array or obj --FILE-- 'function foo() {}', 'scope' => 'INVALID']); diff --git a/tests/bson/bson-javascript-set_state_error-003.phpt b/tests/bson/bson-javascript-set_state_error-003.phpt index 27a3c6b7c..037704d51 100644 --- a/tests/bson/bson-javascript-set_state_error-003.phpt +++ b/tests/bson/bson-javascript-set_state_error-003.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Javascript::__set_state() does not allow code to contain null bytes --FILE-- "function foo() { return '\0'; }"]); diff --git a/tests/bson/bson-javascript_error-001.phpt b/tests/bson/bson-javascript_error-001.phpt index 9cf0317c3..d87784831 100644 --- a/tests/bson/bson-javascript_error-001.phpt +++ b/tests/bson/bson-javascript_error-001.phpt @@ -6,7 +6,7 @@ MongoDB\BSON\Javascript argument count errors --FILE-- foo = 'bar'; diff --git a/tests/bson/bson-maxkey-jsonserialize-002.phpt b/tests/bson/bson-maxkey-jsonserialize-002.phpt index ed85eb22d..7487daa2c 100644 --- a/tests/bson/bson-maxkey-jsonserialize-002.phpt +++ b/tests/bson/bson-maxkey-jsonserialize-002.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\MaxKey::jsonSerialize() with json_encode() --FILE-- new MongoDB\BSON\MaxKey]; $json = json_encode($doc); diff --git a/tests/bson/bson-minkey-001.phpt b/tests/bson/bson-minkey-001.phpt index fde437d63..48170226d 100644 --- a/tests/bson/bson-minkey-001.phpt +++ b/tests/bson/bson-minkey-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\MinKey #001 --FILE-- foo = 'bar'; diff --git a/tests/bson/bson-minkey-jsonserialize-002.phpt b/tests/bson/bson-minkey-jsonserialize-002.phpt index c6258b883..0c73fbc1f 100644 --- a/tests/bson/bson-minkey-jsonserialize-002.phpt +++ b/tests/bson/bson-minkey-jsonserialize-002.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\MinKey::jsonSerialize() with json_encode() --FILE-- new MongoDB\BSON\MinKey]; $json = json_encode($doc); diff --git a/tests/bson/bson-objectid-001.phpt b/tests/bson/bson-objectid-001.phpt index 822b7162f..087cab435 100644 --- a/tests/bson/bson-objectid-001.phpt +++ b/tests/bson/bson-objectid-001.phpt @@ -6,7 +6,7 @@ MongoDB\BSON\ObjectId #001 --FILE-- foo = 'bar'; diff --git a/tests/bson/bson-objectid-jsonserialize-002.phpt b/tests/bson/bson-objectid-jsonserialize-002.phpt index 91504cdc7..eaa174d95 100644 --- a/tests/bson/bson-objectid-jsonserialize-002.phpt +++ b/tests/bson/bson-objectid-jsonserialize-002.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\ObjectId::jsonSerialize() with json_encode() --FILE-- new MongoDB\BSON\ObjectId('5820ca4bef62d52d9924d0d8')]; $json = json_encode($doc); diff --git a/tests/bson/bson-objectid-serialization_error-001.phpt b/tests/bson/bson-objectid-serialization_error-001.phpt index e1154300c..5d138bc0c 100644 --- a/tests/bson/bson-objectid-serialization_error-001.phpt +++ b/tests/bson/bson-objectid-serialization_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\ObjectId unserialization requires "oid" string field --FILE-- 0]); diff --git a/tests/bson/bson-objectid-set_state_error-002.phpt b/tests/bson/bson-objectid-set_state_error-002.phpt index 57c195b45..4b112ed7c 100644 --- a/tests/bson/bson-objectid-set_state_error-002.phpt +++ b/tests/bson/bson-objectid-set_state_error-002.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\ObjectId::__set_state() requires valid hex string --FILE-- '0123456789abcdefghijklmn']); diff --git a/tests/bson/bson-objectid-tostring_error-001.phpt b/tests/bson/bson-objectid-tostring_error-001.phpt index 66c53fbf4..0a33fa488 100644 --- a/tests/bson/bson-objectid-tostring_error-001.phpt +++ b/tests/bson/bson-objectid-tostring_error-001.phpt @@ -6,7 +6,7 @@ MongoDB\BSON\ObjectId raises warning on invalid arguments --FILE-- getPattern()); diff --git a/tests/bson/bson-regex-003.phpt b/tests/bson/bson-regex-003.phpt index 0bbe57323..2e5d00e9b 100644 --- a/tests/bson/bson-regex-003.phpt +++ b/tests/bson/bson-regex-003.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Regex with flags omitted --FILE-- getPattern()); diff --git a/tests/bson/bson-regex-clone-001.phpt b/tests/bson/bson-regex-clone-001.phpt index 2c11a361f..dc3a7fa72 100644 --- a/tests/bson/bson-regex-clone-001.phpt +++ b/tests/bson/bson-regex-clone-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Regex can be cloned --FILE-- foo = 'bar'; diff --git a/tests/bson/bson-regex-jsonserialize-003.phpt b/tests/bson/bson-regex-jsonserialize-003.phpt index 281e7cbd2..5ecc29567 100644 --- a/tests/bson/bson-regex-jsonserialize-003.phpt +++ b/tests/bson/bson-regex-jsonserialize-003.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Regex::jsonSerialize() with json_encode() (without flags) --FILE-- new MongoDB\BSON\Regex('pattern')]; $json = json_encode($doc); diff --git a/tests/bson/bson-regex-jsonserialize-004.phpt b/tests/bson/bson-regex-jsonserialize-004.phpt index 988d58004..1ed38c7d8 100644 --- a/tests/bson/bson-regex-jsonserialize-004.phpt +++ b/tests/bson/bson-regex-jsonserialize-004.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Regex::jsonSerialize() with json_encode() (with flags) --FILE-- new MongoDB\BSON\Regex('pattern', 'i')]; $json = json_encode($doc); diff --git a/tests/bson/bson-regex-serialization_error-001.phpt b/tests/bson/bson-regex-serialization_error-001.phpt index cd932c5fe..33f951ad3 100644 --- a/tests/bson/bson-regex-serialization_error-001.phpt +++ b/tests/bson/bson-regex-serialization_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Regex unserialization requires "pattern" and "flags" string fields --FILE-- 'regexp']); diff --git a/tests/bson/bson-regex-set_state_error-002.phpt b/tests/bson/bson-regex-set_state_error-002.phpt index c789b72b9..b72a5f236 100644 --- a/tests/bson/bson-regex-set_state_error-002.phpt +++ b/tests/bson/bson-regex-set_state_error-002.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Regex::__set_state() does not allow pattern or flags to contain nul --FILE-- "regexp\0", 'flags' => 'i']); diff --git a/tests/bson/bson-regex_error-001.phpt b/tests/bson/bson-regex_error-001.phpt index 95ea57094..42599e01a 100644 --- a/tests/bson/bson-regex_error-001.phpt +++ b/tests/bson/bson-regex_error-001.phpt @@ -6,7 +6,7 @@ MongoDB\BSON\Regex argument count errors --FILE-- foo = 'bar'; diff --git a/tests/bson/bson-timestamp-jsonserialize-002.phpt b/tests/bson/bson-timestamp-jsonserialize-002.phpt index d6454d0b0..b68b56c12 100644 --- a/tests/bson/bson-timestamp-jsonserialize-002.phpt +++ b/tests/bson/bson-timestamp-jsonserialize-002.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Timestamp::jsonSerialize() with json_encode() --FILE-- new MongoDB\BSON\Timestamp('1234', '5678')]; $json = json_encode($doc); diff --git a/tests/bson/bson-timestamp-serialization_error-001.phpt b/tests/bson/bson-timestamp-serialization_error-001.phpt index fc915f165..34e7383a1 100644 --- a/tests/bson/bson-timestamp-serialization_error-001.phpt +++ b/tests/bson/bson-timestamp-serialization_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Timestamp unserialization requires "increment" and "timestamp" inte --FILE-- 1234]); diff --git a/tests/bson/bson-timestamp-set_state_error-002.phpt b/tests/bson/bson-timestamp-set_state_error-002.phpt index fe74bbcfd..2e8e2b571 100644 --- a/tests/bson/bson-timestamp-set_state_error-002.phpt +++ b/tests/bson/bson-timestamp-set_state_error-002.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Timestamp::__set_state() requires positive unsigned 32-bit integers --FILE-- -1, 'timestamp' => 5678]); diff --git a/tests/bson/bson-timestamp-set_state_error-003.phpt b/tests/bson/bson-timestamp-set_state_error-003.phpt index 30caf33f0..3fcb1745c 100644 --- a/tests/bson/bson-timestamp-set_state_error-003.phpt +++ b/tests/bson/bson-timestamp-set_state_error-003.phpt @@ -5,7 +5,7 @@ MongoDB\BSON\Timestamp::__set_state() requires 64-bit integers to be positive un --FILE-- 4294967296, 'timestamp' => 5678]); diff --git a/tests/bson/bson-timestamp-set_state_error-004.phpt b/tests/bson/bson-timestamp-set_state_error-004.phpt index 6d5aedc61..a66ec9668 100644 --- a/tests/bson/bson-timestamp-set_state_error-004.phpt +++ b/tests/bson/bson-timestamp-set_state_error-004.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\Timestamp::__set_state() requires strings to parse as 64-bit intege --FILE-- '1.23', 'timestamp' => '5678']); diff --git a/tests/bson/bson-timestamp_error-001.phpt b/tests/bson/bson-timestamp_error-001.phpt index c6a8eb09a..c132ddc4e 100644 --- a/tests/bson/bson-timestamp_error-001.phpt +++ b/tests/bson/bson-timestamp_error-001.phpt @@ -6,7 +6,7 @@ MongoDB\BSON\Timestamp argument count errors --FILE-- new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ], diff --git a/tests/bson/bson-toCanonicalJSON_error-001.phpt b/tests/bson/bson-toCanonicalJSON_error-001.phpt index da72692a8..23eecd65b 100644 --- a/tests/bson/bson-toCanonicalJSON_error-001.phpt +++ b/tests/bson/bson-toCanonicalJSON_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\toCanonicalExtendedJSON(): BSON decoding exceptions --FILE-- new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ], diff --git a/tests/bson/bson-toJSON_error-001.phpt b/tests/bson/bson-toJSON_error-001.phpt index 8ac04ea63..b340a06a0 100644 --- a/tests/bson/bson-toJSON_error-001.phpt +++ b/tests/bson/bson-toJSON_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\toJSON(): BSON decoding exceptions --FILE-- ['INVALID!' => 'bar'] ])), diff --git a/tests/bson/bson-toPHP_error-006.phpt b/tests/bson/bson-toPHP_error-006.phpt index 912e1ac9d..1ede90b97 100644 --- a/tests/bson/bson-toPHP_error-006.phpt +++ b/tests/bson/bson-toPHP_error-006.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\toPHP(): BSON decoding exception with unknown BSON type --FILE-- ["cruel" => "world"]]); $bson[15] = chr(0x42); diff --git a/tests/bson/bson-toRelaxedJSON-001.phpt b/tests/bson/bson-toRelaxedJSON-001.phpt index 3fd8ba8d7..955cd692e 100644 --- a/tests/bson/bson-toRelaxedJSON-001.phpt +++ b/tests/bson/bson-toRelaxedJSON-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\toRelaxedExtendedJSON(): Encoding JSON --FILE-- new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ], diff --git a/tests/bson/bson-toRelaxedJSON_error-001.phpt b/tests/bson/bson-toRelaxedJSON_error-001.phpt index adb3cfbd7..6541219f6 100644 --- a/tests/bson/bson-toRelaxedJSON_error-001.phpt +++ b/tests/bson/bson-toRelaxedJSON_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\toRelaxedExtendedJSON(): BSON decoding exceptions --FILE-- STDERR); diff --git a/tests/bson/bson-utcdatetime-001.phpt b/tests/bson/bson-utcdatetime-001.phpt index eb32c18a4..d285dd258 100644 --- a/tests/bson/bson-utcdatetime-001.phpt +++ b/tests/bson/bson-utcdatetime-001.phpt @@ -9,7 +9,7 @@ MongoDB\BSON\UTCDateTime #001 require_once __DIR__ . "/../utils/basic.inc"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $utcdatetime = new MongoDB\BSON\UTCDateTime("1416445411987"); diff --git a/tests/bson/bson-utcdatetime-003.phpt b/tests/bson/bson-utcdatetime-003.phpt index a2aa2e9ee..acf53857b 100644 --- a/tests/bson/bson-utcdatetime-003.phpt +++ b/tests/bson/bson-utcdatetime-003.phpt @@ -5,7 +5,7 @@ MongoDB\BSON\UTCDateTime construction from 64-bit integer --FILE-- new MongoDB\BSON\UTCDateTime(new DateTime('2016-10-11 13:34:26.817 UTC'))]; $json = json_encode($doc); diff --git a/tests/bson/bson-utcdatetime-serialization_error-001.phpt b/tests/bson/bson-utcdatetime-serialization_error-001.phpt index 9d84a666e..e4ea8b7fb 100644 --- a/tests/bson/bson-utcdatetime-serialization_error-001.phpt +++ b/tests/bson/bson-utcdatetime-serialization_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\UTCDateTime unserialization requires "milliseconds" integer or nume --FILE-- 1.0]); diff --git a/tests/bson/bson-utcdatetime-set_state_error-002.phpt b/tests/bson/bson-utcdatetime-set_state_error-002.phpt index 172a281cb..15c4c9377 100644 --- a/tests/bson/bson-utcdatetime-set_state_error-002.phpt +++ b/tests/bson/bson-utcdatetime-set_state_error-002.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\UTCDateTime::__set_state() requires "milliseconds" string to parse --FILE-- '1234.5678']); diff --git a/tests/bson/bson-utcdatetime_error-001.phpt b/tests/bson/bson-utcdatetime_error-001.phpt index 580980f85..54534fbf6 100644 --- a/tests/bson/bson-utcdatetime_error-001.phpt +++ b/tests/bson/bson-utcdatetime_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\BSON\UTCDateTime requires object argument to implement DateTimeInterface --FILE-- &$embedded]; diff --git a/tests/bson/bug0531-001.phpt b/tests/bson/bug0531-001.phpt index 9902798c8..2a1cccb53 100644 --- a/tests/bson/bug0531-001.phpt +++ b/tests/bson/bug0531-001.phpt @@ -3,7 +3,7 @@ PHPC-531: Segfault due to double free by corrupt BSON visitor (top-level) --FILE-- "world"]); $bson[4] = 1; diff --git a/tests/bson/bug0544.phpt b/tests/bson/bug0544.phpt index a2d1d47b4..d707b899b 100644 --- a/tests/bson/bug0544.phpt +++ b/tests/bson/bug0544.phpt @@ -5,7 +5,7 @@ PHPC-544: Consult SIZEOF_ZEND_LONG for 64-bit integer support --FILE-- -2147483648], diff --git a/tests/bson/bug0592.phpt b/tests/bson/bug0592.phpt index 5fd8e711e..7dc22d787 100644 --- a/tests/bson/bug0592.phpt +++ b/tests/bson/bug0592.phpt @@ -5,7 +5,7 @@ PHPC-592: Property name corrupted when unserializing 64-bit integer on 32-bit pl --FILE-- toDateTime(); diff --git a/tests/bson/bug0672.phpt b/tests/bson/bug0672.phpt index b6312b4a8..5cb5eed84 100644 --- a/tests/bson/bug0672.phpt +++ b/tests/bson/bug0672.phpt @@ -3,7 +3,7 @@ PHPC-672: ObjectId constructor should not modify string argument's memory --FILE-- insert(array('_id' => 1, 'bson_array' => array(1, 2, 3), 'bson_object' => array("string" => "keys", "for" => "ever"))); diff --git a/tests/bson/typemap-002.phpt b/tests/bson/typemap-002.phpt index 305384cf4..7f5004eeb 100644 --- a/tests/bson/typemap-002.phpt +++ b/tests/bson/typemap-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Cursor::setTypeMap(): Setting using type "object" require_once __DIR__ . "/../utils/basic.inc"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(array('_id' => 1, 'bson_array' => array(1, 2, 3), 'bson_object' => array("string" => "keys", "for" => "ever"))); diff --git a/tests/bson/typemap-003.phpt b/tests/bson/typemap-003.phpt index 78299c45b..ef40cc04d 100644 --- a/tests/bson/typemap-003.phpt +++ b/tests/bson/typemap-003.phpt @@ -21,7 +21,7 @@ class MyProperties extends MyArrayObject { } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $document1 = [ '_id' => 1, diff --git a/tests/bson/typemap-004.phpt b/tests/bson/typemap-004.phpt index 6f0ed47b8..2e09d38f6 100644 --- a/tests/bson/typemap-004.phpt +++ b/tests/bson/typemap-004.phpt @@ -17,7 +17,7 @@ class MyArrayObject extends ArrayObject implements MongoDB\BSON\Unserializable } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $document = [ '_id' => 1, diff --git a/tests/bson/typemap-005.phpt b/tests/bson/typemap-005.phpt index ac18718a8..99adf25b7 100644 --- a/tests/bson/typemap-005.phpt +++ b/tests/bson/typemap-005.phpt @@ -17,7 +17,7 @@ class MyArrayObject extends ArrayObject implements MongoDB\BSON\Unserializable } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $document = [ '_id' => 1, diff --git a/tests/bson/typemap-006.phpt b/tests/bson/typemap-006.phpt index fb1700066..fc1caccf3 100644 --- a/tests/bson/typemap-006.phpt +++ b/tests/bson/typemap-006.phpt @@ -25,7 +25,7 @@ class MyWildcardArrayObject extends ArrayObject implements MongoDB\BSON\Unserial } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $document = [ '_id' => 1, diff --git a/tests/bson/typemap-007.phpt b/tests/bson/typemap-007.phpt index a595bb767..fa05567db 100644 --- a/tests/bson/typemap-007.phpt +++ b/tests/bson/typemap-007.phpt @@ -19,7 +19,7 @@ class MyArrayObject extends ArrayObject implements MongoDB\BSON\Unserializable class MyWildcardArrayObject extends MyArrayObject {}; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $document = [ '_id' => 1, diff --git a/tests/bulk/bulkwrite-debug-002.phpt b/tests/bulk/bulkwrite-debug-002.phpt index d309fc000..26c230d4a 100644 --- a/tests/bulk/bulkwrite-debug-002.phpt +++ b/tests/bulk/bulkwrite-debug-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\BulkWrite debug output after execution insert(['x' => 1]); diff --git a/tests/bulk/bulkwrite-delete_error-001.phpt b/tests/bulk/bulkwrite-delete_error-001.phpt index f802e217a..9ae9c0402 100644 --- a/tests/bulk/bulkwrite-delete_error-001.phpt +++ b/tests/bulk/bulkwrite-delete_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\BulkWrite::delete() with invalid options --FILE-- delete(['_id' => 1], ['hint' => '_id_']); diff --git a/tests/bulk/bulkwrite-insert-001.phpt b/tests/bulk/bulkwrite-insert-001.phpt index 4d7e50987..1d9bcfbdb 100644 --- a/tests/bulk/bulkwrite-insert-001.phpt +++ b/tests/bulk/bulkwrite-insert-001.phpt @@ -34,7 +34,7 @@ class MyClass implements MongoDB\BSON\Persistable } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(new MyClass('foo', new MyClass('bar', new MyClass('baz')))); diff --git a/tests/bulk/bulkwrite-insert-004.phpt b/tests/bulk/bulkwrite-insert-004.phpt index f1b9fe119..ded802ee0 100644 --- a/tests/bulk/bulkwrite-insert-004.phpt +++ b/tests/bulk/bulkwrite-insert-004.phpt @@ -39,7 +39,7 @@ $documents = [ ['_id' => new MyPersistableId('bar')], ]; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); diff --git a/tests/bulk/bulkwrite-insert_error-001.phpt b/tests/bulk/bulkwrite-insert_error-001.phpt index a98ca226a..1ac42a2f6 100644 --- a/tests/bulk/bulkwrite-insert_error-001.phpt +++ b/tests/bulk/bulkwrite-insert_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\BulkWrite::insert() with invalid insert document --FILE-- insert(['x' => 1]); diff --git a/tests/bulk/bulkwrite-update_error-001.phpt b/tests/bulk/bulkwrite-update_error-001.phpt index 278bb5077..1404faddc 100644 --- a/tests/bulk/bulkwrite-update_error-001.phpt +++ b/tests/bulk/bulkwrite-update_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\BulkWrite::update() with invalid replacement document --FILE-- update(['_id' => 1], ['$set' => ['x' => 11]], ['hint' => '_id_']); diff --git a/tests/bulk/bulkwrite_error-002.phpt b/tests/bulk/bulkwrite_error-002.phpt index d494379b9..223efff56 100644 --- a/tests/bulk/bulkwrite_error-002.phpt +++ b/tests/bulk/bulkwrite_error-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\BulkWrite cannot be executed multiple times insert(['x' => 1]); diff --git a/tests/bulk/write-0001.phpt b/tests/bulk/write-0001.phpt index f626d58dd..142b5c5a4 100644 --- a/tests/bulk/write-0001.phpt +++ b/tests/bulk/write-0001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\BulkWrite: #001 Variety Bulk "Hannes", "country" => "USA", "gender" => "male"); $hayley = array("name" => "Bayley", "country" => "USA", "gender" => "female"); diff --git a/tests/causal-consistency/causal-consistency-001.phpt b/tests/causal-consistency/causal-consistency-001.phpt index 5a766cc3d..07a827f5d 100644 --- a/tests/causal-consistency/causal-consistency-001.phpt +++ b/tests/causal-consistency/causal-consistency-001.phpt @@ -9,7 +9,7 @@ Causal consistency: new session has no operation time startSession(); echo "Initial operation time:\n"; diff --git a/tests/causal-consistency/causal-consistency-002.phpt b/tests/causal-consistency/causal-consistency-002.phpt index 3f69e6a10..5ca0fae51 100644 --- a/tests/causal-consistency/causal-consistency-002.phpt +++ b/tests/causal-consistency/causal-consistency-002.phpt @@ -12,7 +12,7 @@ require_once __DIR__ . "/../utils/observer.php"; (new CommandObserver)->observe( function() { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $query = new MongoDB\Driver\Query([]); diff --git a/tests/causal-consistency/causal-consistency-003.phpt b/tests/causal-consistency/causal-consistency-003.phpt index dddbbb62f..5f80ecca1 100644 --- a/tests/causal-consistency/causal-consistency-003.phpt +++ b/tests/causal-consistency/causal-consistency-003.phpt @@ -20,7 +20,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $bulk = new MongoDB\Driver\BulkWrite; @@ -38,7 +38,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $command = new MongoDB\Driver\Command(['ping' => 1]); @@ -55,7 +55,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $query = new MongoDB\Driver\Query([]); diff --git a/tests/causal-consistency/causal-consistency-004.phpt b/tests/causal-consistency/causal-consistency-004.phpt index 5745e3971..a40fe0bbd 100644 --- a/tests/causal-consistency/causal-consistency-004.phpt +++ b/tests/causal-consistency/causal-consistency-004.phpt @@ -20,7 +20,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $bulk = new MongoDB\Driver\BulkWrite; @@ -42,7 +42,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $command = new MongoDB\Driver\Command([ @@ -71,7 +71,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $query = new MongoDB\Driver\Query(['$unsupportedOperator' => 1]); diff --git a/tests/causal-consistency/causal-consistency-005.phpt b/tests/causal-consistency/causal-consistency-005.phpt index 63d5f86d7..d55d7b634 100644 --- a/tests/causal-consistency/causal-consistency-005.phpt +++ b/tests/causal-consistency/causal-consistency-005.phpt @@ -20,7 +20,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $query = new MongoDB\Driver\Query([]); @@ -36,7 +36,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $bulk = new MongoDB\Driver\BulkWrite; diff --git a/tests/causal-consistency/causal-consistency-006.phpt b/tests/causal-consistency/causal-consistency-006.phpt index 7c11fcb5d..6323aeafb 100644 --- a/tests/causal-consistency/causal-consistency-006.phpt +++ b/tests/causal-consistency/causal-consistency-006.phpt @@ -20,7 +20,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $query = new MongoDB\Driver\Query(['$unsupportedOperator' => 1]); @@ -46,7 +46,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $bulk = new MongoDB\Driver\BulkWrite; diff --git a/tests/causal-consistency/causal-consistency-007.phpt b/tests/causal-consistency/causal-consistency-007.phpt index 6ed85f66f..eb354173c 100644 --- a/tests/causal-consistency/causal-consistency-007.phpt +++ b/tests/causal-consistency/causal-consistency-007.phpt @@ -12,7 +12,7 @@ require_once __DIR__ . "/../utils/observer.php"; (new CommandObserver)->observe( function() { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(['causalConsistency' => false]); $query = new MongoDB\Driver\Query([]); diff --git a/tests/causal-consistency/causal-consistency-008.phpt b/tests/causal-consistency/causal-consistency-008.phpt index 3e78ff8a8..6543f7e5a 100644 --- a/tests/causal-consistency/causal-consistency-008.phpt +++ b/tests/causal-consistency/causal-consistency-008.phpt @@ -12,7 +12,7 @@ require_once __DIR__ . "/../utils/observer.php"; (new CommandObserver)->observe( function() { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $query = new MongoDB\Driver\Query([]); diff --git a/tests/causal-consistency/causal-consistency-009.phpt b/tests/causal-consistency/causal-consistency-009.phpt index 93232fad8..550cafba0 100644 --- a/tests/causal-consistency/causal-consistency-009.phpt +++ b/tests/causal-consistency/causal-consistency-009.phpt @@ -12,7 +12,7 @@ require_once __DIR__ . "/../utils/observer.php"; (new CommandObserver)->observe( function() { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $readConcern = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY); diff --git a/tests/causal-consistency/causal-consistency-010.phpt b/tests/causal-consistency/causal-consistency-010.phpt index c43963004..10571915c 100644 --- a/tests/causal-consistency/causal-consistency-010.phpt +++ b/tests/causal-consistency/causal-consistency-010.phpt @@ -10,7 +10,7 @@ Causal consistency: unacknowledged write does not update operationTime startSession(); echo "Initial operation time:\n"; diff --git a/tests/causal-consistency/causal-consistency-011.phpt b/tests/causal-consistency/causal-consistency-011.phpt index 1753b7baa..a3f7992f8 100644 --- a/tests/causal-consistency/causal-consistency-011.phpt +++ b/tests/causal-consistency/causal-consistency-011.phpt @@ -13,7 +13,7 @@ require_once __DIR__ . "/../utils/observer.php"; (new CommandObserver)->observe( function() { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $query = new MongoDB\Driver\Query([]); diff --git a/tests/causal-consistency/causal-consistency-012.phpt b/tests/causal-consistency/causal-consistency-012.phpt index 432bae501..08c8e737f 100644 --- a/tests/causal-consistency/causal-consistency-012.phpt +++ b/tests/causal-consistency/causal-consistency-012.phpt @@ -12,7 +12,7 @@ require_once __DIR__ . "/../utils/observer.php"; (new CommandObserver)->observe( function() { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $query = new MongoDB\Driver\Query([]); diff --git a/tests/clientEncryption/clientEncryption-createDataKey-001.phpt b/tests/clientEncryption/clientEncryption-createDataKey-001.phpt index 70a0447cd..485fb76bc 100644 --- a/tests/clientEncryption/clientEncryption-createDataKey-001.phpt +++ b/tests/clientEncryption/clientEncryption-createDataKey-001.phpt @@ -10,7 +10,7 @@ require_once __DIR__ . "/../utils/basic.inc"; $key = base64_decode('Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk'); -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $clientEncryption = $manager->createClientEncryption(['keyVaultNamespace' => 'default.keys', 'kmsProviders' => ['local' => ['key' => new MongoDB\BSON\Binary($key, 0)]]]); var_dump($clientEncryption->createDataKey('local')); diff --git a/tests/clientEncryption/clientEncryption-createDataKey_error-001.phpt b/tests/clientEncryption/clientEncryption-createDataKey_error-001.phpt index 19cbd5879..282d37071 100644 --- a/tests/clientEncryption/clientEncryption-createDataKey_error-001.phpt +++ b/tests/clientEncryption/clientEncryption-createDataKey_error-001.phpt @@ -16,7 +16,7 @@ $tests = [ ['keyAltNames' => ['foo' => []]], ]; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $clientEncryption = $manager->createClientEncryption(['keyVaultNamespace' => 'default.keys', 'kmsProviders' => ['local' => ['key' => new MongoDB\BSON\Binary($key, 0)]]]); foreach ($tests as $opts) { diff --git a/tests/clientEncryption/clientEncryption-decrypt-001.phpt b/tests/clientEncryption/clientEncryption-decrypt-001.phpt index 49ddc47a0..fc1f50dbc 100644 --- a/tests/clientEncryption/clientEncryption-decrypt-001.phpt +++ b/tests/clientEncryption/clientEncryption-decrypt-001.phpt @@ -12,7 +12,7 @@ require_once __DIR__ . "/../utils/basic.inc"; $key = base64_decode('Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk'); -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $clientEncryption = $manager->createClientEncryption(['keyVaultNamespace' => 'default.keys', 'kmsProviders' => ['local' => ['key' => new MongoDB\BSON\Binary($key, 0)]]]); $key = $clientEncryption->createDataKey('local'); diff --git a/tests/clientEncryption/clientEncryption-encrypt-001.phpt b/tests/clientEncryption/clientEncryption-encrypt-001.phpt index 72c9cdee0..e582876a0 100644 --- a/tests/clientEncryption/clientEncryption-encrypt-001.phpt +++ b/tests/clientEncryption/clientEncryption-encrypt-001.phpt @@ -12,7 +12,7 @@ require_once __DIR__ . "/../utils/basic.inc"; $key = base64_decode('Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk'); -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $clientEncryption = $manager->createClientEncryption(['keyVaultNamespace' => 'default.keys', 'kmsProviders' => ['local' => ['key' => new MongoDB\BSON\Binary($key, 0)]]]); $key = $clientEncryption->createDataKey('local'); diff --git a/tests/command/command-ctor-001.phpt b/tests/command/command-ctor-001.phpt index eb400f8f2..24929f4d7 100644 --- a/tests/command/command-ctor-001.phpt +++ b/tests/command/command-ctor-001.phpt @@ -34,7 +34,7 @@ class MyClass implements MongoDB\BSON\Persistable } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $document = new MyClass('foo', new MyClass('bar', new MyClass('baz'))); diff --git a/tests/command/cursor-batchsize-001.phpt b/tests/command/cursor-batchsize-001.phpt index b2f615182..bd72cf1a1 100644 --- a/tests/command/cursor-batchsize-001.phpt +++ b/tests/command/cursor-batchsize-001.phpt @@ -14,7 +14,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber { MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $bulkWrite = new MongoDB\Driver\BulkWrite; diff --git a/tests/command/cursor-batchsize-002.phpt b/tests/command/cursor-batchsize-002.phpt index 4624d0727..c76437fb9 100644 --- a/tests/command/cursor-batchsize-002.phpt +++ b/tests/command/cursor-batchsize-002.phpt @@ -14,7 +14,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber { MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $bulkWrite = new MongoDB\Driver\BulkWrite; diff --git a/tests/command/cursor-tailable-001.phpt b/tests/command/cursor-tailable-001.phpt index d2b5ce31e..7a205b32c 100644 --- a/tests/command/cursor-tailable-001.phpt +++ b/tests/command/cursor-tailable-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Command tailable cursor iteration with maxAwaitTimeMS option --FILE-- executeCommand(DATABASE_NAME, new MongoDB\Driver\Command([ 'create' => COLLECTION_NAME, diff --git a/tests/command/findAndModify-001.phpt b/tests/command/findAndModify-001.phpt index 67858c178..65669dec3 100644 --- a/tests/command/findAndModify-001.phpt +++ b/tests/command/findAndModify-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Command with findAndModify and arrayFilters SSL_DIR . '/ca.pem', ]; -$manager = new MongoDB\Driver\Manager(URI, [], $driverOptions); +$manager = create_test_manager(URI, [], $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); unset($manager, $cursor); -$manager = new MongoDB\Driver\Manager(URI, [], $driverOptions); +$manager = create_test_manager(URI, [], $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); diff --git a/tests/connect/bug1015.phpt b/tests/connect/bug1015.phpt index 35fac11c9..49c1214d7 100644 --- a/tests/connect/bug1015.phpt +++ b/tests/connect/bug1015.phpt @@ -16,7 +16,7 @@ PHPC-1015: Initial DNS Seedlist test */ require_once __DIR__ . "/../utils/basic.inc"; -$m = new MongoDB\Driver\Manager("mongodb+srv://test1.test.build.10gen.cc/"); +$m = create_test_manager("mongodb+srv://test1.test.build.10gen.cc/"); $s = $m->selectServer( new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_NEAREST ) ); $servers = $m->getServers(); diff --git a/tests/connect/bug1045.phpt b/tests/connect/bug1045.phpt index 345dd101c..5078b48ec 100644 --- a/tests/connect/bug1045.phpt +++ b/tests/connect/bug1045.phpt @@ -10,7 +10,7 @@ require_once __DIR__ . "/../utils/basic.inc"; echo throws(function() { // URI may or may not support auth, but that is not necessary for the test - new MongoDB\Driver\Manager('mongodb://127.0.0.1/', ['authMechanism' => 'SCRAM-SHA-1']); + create_test_manager('mongodb://127.0.0.1/', ['authMechanism' => 'SCRAM-SHA-1']); }, 'MongoDB\Driver\Exception\InvalidArgumentException'), "\n"; ?> diff --git a/tests/connect/compression_error-001.phpt b/tests/connect/compression_error-001.phpt index d18dc70ef..e9d1f0313 100644 --- a/tests/connect/compression_error-001.phpt +++ b/tests/connect/compression_error-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager: Connecting with unsupported compressor require_once __DIR__ . "/../utils/basic.inc"; ini_set('mongodb.debug', 'stdout'); -$manager = new MongoDB\Driver\Manager(URI, [ 'compressors' => 'zli'] ); +$manager = create_test_manager(URI, [ 'compressors' => 'zli'] ); ini_set('mongodb.debug', null); ?> ===DONE=== diff --git a/tests/connect/compression_error-002.phpt b/tests/connect/compression_error-002.phpt index f3d8bccac..0e8acb8f6 100644 --- a/tests/connect/compression_error-002.phpt +++ b/tests/connect/compression_error-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager: Connecting with invalid compressor values require_once __DIR__ . "/../utils/basic.inc"; echo throws(function() { - $manager = new MongoDB\Driver\Manager(URI, [ 'compressors' => "foo\xFEbar"] ); + $manager = create_test_manager(URI, [ 'compressors' => "foo\xFEbar"] ); }, 'MongoDB\Driver\Exception\UnexpectedValueException'), "\n"; ?> ===DONE=== diff --git a/tests/connect/replicaset-seedlist-001.phpt b/tests/connect/replicaset-seedlist-001.phpt index 2bf6ac356..cd0b5fc0c 100644 --- a/tests/connect/replicaset-seedlist-001.phpt +++ b/tests/connect/replicaset-seedlist-001.phpt @@ -20,7 +20,7 @@ if (array_key_exists('user', $url) && array_key_exists('pass', $url)) { $dsn = 'mongodb://' . $info['me']; } -$manager = new MongoDB\Driver\Manager($dsn, ['replicaSet' => $info['setName']]); +$manager = create_test_manager($dsn, ['replicaSet' => $info['setName']]); // load fixtures for test $bulk = new \MongoDB\Driver\BulkWrite(); diff --git a/tests/connect/replicaset-seedlist-002.phpt b/tests/connect/replicaset-seedlist-002.phpt index 5d69cf252..bc48902b5 100644 --- a/tests/connect/replicaset-seedlist-002.phpt +++ b/tests/connect/replicaset-seedlist-002.phpt @@ -21,7 +21,7 @@ if (array_key_exists('user', $url) && array_key_exists('pass', $url)) { $dsn = 'mongodb://' . $info['arbiters'][0]; } -$manager = new MongoDB\Driver\Manager($dsn, ['replicaSet' => $info['setName']]); +$manager = create_test_manager($dsn, ['replicaSet' => $info['setName']]); // load fixtures for test $bulk = new \MongoDB\Driver\BulkWrite(); diff --git a/tests/connect/standalone-auth-001.phpt b/tests/connect/standalone-auth-001.phpt index e68e25b5a..f3102a5af 100644 --- a/tests/connect/standalone-auth-001.phpt +++ b/tests/connect/standalone-auth-001.phpt @@ -9,7 +9,7 @@ Connect to MongoDB with using default auth mechanism insert(array("my" => "value")); diff --git a/tests/connect/standalone-plain-0001.phpt b/tests/connect/standalone-plain-0001.phpt index 911875d97..1f975dcb0 100644 --- a/tests/connect/standalone-plain-0001.phpt +++ b/tests/connect/standalone-plain-0001.phpt @@ -16,7 +16,7 @@ $database = "admin"; $parsed = parse_url(URI); $dsn = sprintf("mongodb://%s:%s@%s:%d/%s", $username, $password, $parsed["host"], $parsed["port"], $database); -$adminmanager = new MongoDB\Driver\Manager($dsn); +$adminmanager = create_test_manager($dsn); $cmd = array( "createUser" => "bugs", @@ -37,7 +37,7 @@ $password = "password"; $database = '$external'; $dsn = sprintf("mongodb://%s:%s@%s:%d/?authSource=%s&authMechanism=PLAIN", $username, $password, $parsed["host"], $parsed["port"], $database); -$manager = new MongoDB\Driver\Manager($dsn); +$manager = create_test_manager($dsn); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(array("very" => "important")); diff --git a/tests/connect/standalone-plain-0002.phpt b/tests/connect/standalone-plain-0002.phpt index 8e8eaac1b..0d52f4332 100644 --- a/tests/connect/standalone-plain-0002.phpt +++ b/tests/connect/standalone-plain-0002.phpt @@ -16,7 +16,7 @@ $database = "admin"; $parsed = parse_url(URI); $dsn = sprintf("mongodb://%s:%s@%s:%d/%s", $username, $password, $parsed["host"], $parsed["port"], $database); -$adminmanager = new MongoDB\Driver\Manager($dsn); +$adminmanager = create_test_manager($dsn); $cmd = array( "createUser" => "bugs", @@ -37,7 +37,7 @@ $password = "wrong-password"; $database = '$external'; $dsn = sprintf("mongodb://%s:%s@%s:%d/?authSource=%s&authMechanism=PLAIN", $username, $password, $parsed["host"], $parsed["port"], $database); -$manager = new MongoDB\Driver\Manager($dsn); +$manager = create_test_manager($dsn); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(array("very" => "important")); diff --git a/tests/connect/standalone-ssl-no_verify-001.phpt b/tests/connect/standalone-ssl-no_verify-001.phpt index 8a2b35c2a..a10293f30 100644 --- a/tests/connect/standalone-ssl-no_verify-001.phpt +++ b/tests/connect/standalone-ssl-no_verify-001.phpt @@ -13,7 +13,7 @@ $driverOptions = [ "weak_cert_validation" => true, ]; -$manager = new MongoDB\Driver\Manager(URI, [], $driverOptions); +$manager = create_test_manager(URI, [], $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); diff --git a/tests/connect/standalone-ssl-no_verify-002.phpt b/tests/connect/standalone-ssl-no_verify-002.phpt index 8a078f8c3..91fe1d6c2 100644 --- a/tests/connect/standalone-ssl-no_verify-002.phpt +++ b/tests/connect/standalone-ssl-no_verify-002.phpt @@ -17,7 +17,7 @@ $driverOptions = [ ]), ]; -$manager = new MongoDB\Driver\Manager(URI, [], $driverOptions); +$manager = create_test_manager(URI, [], $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); diff --git a/tests/connect/standalone-ssl-verify_cert-001.phpt b/tests/connect/standalone-ssl-verify_cert-001.phpt index 6e46c9e6d..f785692fc 100644 --- a/tests/connect/standalone-ssl-verify_cert-001.phpt +++ b/tests/connect/standalone-ssl-verify_cert-001.phpt @@ -16,7 +16,7 @@ $driverOptions = [ 'ca_file' => SSL_DIR . '/ca.pem', ]; -$manager = new MongoDB\Driver\Manager(URI, [], $driverOptions); +$manager = create_test_manager(URI, [], $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); diff --git a/tests/connect/standalone-ssl-verify_cert-002.phpt b/tests/connect/standalone-ssl-verify_cert-002.phpt index 1e53b71a0..3ee67f3cc 100644 --- a/tests/connect/standalone-ssl-verify_cert-002.phpt +++ b/tests/connect/standalone-ssl-verify_cert-002.phpt @@ -20,7 +20,7 @@ $driverOptions = [ ]), ]; -$manager = new MongoDB\Driver\Manager(URI, [], $driverOptions); +$manager = create_test_manager(URI, [], $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); diff --git a/tests/connect/standalone-ssl-verify_cert-error-001.phpt b/tests/connect/standalone-ssl-verify_cert-error-001.phpt index 3c9807df5..5e5a0caea 100644 --- a/tests/connect/standalone-ssl-verify_cert-error-001.phpt +++ b/tests/connect/standalone-ssl-verify_cert-error-001.phpt @@ -15,7 +15,7 @@ $driverOptions = [ ]; echo throws(function() use ($driverOptions) { - $manager = new MongoDB\Driver\Manager(URI, [], $driverOptions); + $manager = create_test_manager(URI, [], $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); }, 'MongoDB\Driver\Exception\ConnectionTimeoutException', 'executeCommand'), "\n"; diff --git a/tests/connect/standalone-ssl-verify_cert-error-002.phpt b/tests/connect/standalone-ssl-verify_cert-error-002.phpt index 4411925a7..925edd933 100644 --- a/tests/connect/standalone-ssl-verify_cert-error-002.phpt +++ b/tests/connect/standalone-ssl-verify_cert-error-002.phpt @@ -19,7 +19,7 @@ $driverOptions = [ ]; echo throws(function() use ($driverOptions) { - $manager = new MongoDB\Driver\Manager(URI, [], $driverOptions); + $manager = create_test_manager(URI, [], $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); }, 'MongoDB\Driver\Exception\ConnectionTimeoutException', 'executeCommand'), "\n"; diff --git a/tests/connect/standalone-x509-auth-001.phpt b/tests/connect/standalone-x509-auth-001.phpt index 39b448c7e..d42a13c17 100644 --- a/tests/connect/standalone-x509-auth-001.phpt +++ b/tests/connect/standalone-x509-auth-001.phpt @@ -18,7 +18,7 @@ $driverOptions = [ 'pem_file' => SSL_DIR . '/client.pem', ]; -$manager = new MongoDB\Driver\Manager(URI, [], $driverOptions); +$manager = create_test_manager(URI, [], $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); diff --git a/tests/connect/standalone-x509-auth-002.phpt b/tests/connect/standalone-x509-auth-002.phpt index 1b7307840..04951590e 100644 --- a/tests/connect/standalone-x509-auth-002.phpt +++ b/tests/connect/standalone-x509-auth-002.phpt @@ -22,7 +22,7 @@ $driverOptions = [ ]), ]; -$manager = new MongoDB\Driver\Manager(URI, [], $driverOptions); +$manager = create_test_manager(URI, [], $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); diff --git a/tests/connect/standalone-x509-error-0001.phpt b/tests/connect/standalone-x509-error-0001.phpt index 819eba191..bf40f8fd4 100644 --- a/tests/connect/standalone-x509-error-0001.phpt +++ b/tests/connect/standalone-x509-error-0001.phpt @@ -26,7 +26,7 @@ $dsn = sprintf('mongodb://username@%s:%d/?ssl=true&authMechanism=MONGODB-X509', // Both should fail with auth failure, without reusing the previous stream for ($i = 0; $i < 2; $i++) { echo throws(function() use ($dsn, $driverOptions) { - $manager = new MongoDB\Driver\Manager($dsn, [], $driverOptions); + $manager = create_test_manager($dsn, [], $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); }, 'MongoDB\Driver\Exception\AuthenticationException', 'executeCommand'), "\n"; diff --git a/tests/connect/standalone-x509-extract_username-001.phpt b/tests/connect/standalone-x509-extract_username-001.phpt index c674922bd..33338a2c8 100644 --- a/tests/connect/standalone-x509-extract_username-001.phpt +++ b/tests/connect/standalone-x509-extract_username-001.phpt @@ -25,7 +25,7 @@ $uriOptions = ['authMechanism' => 'MONGODB-X509', 'ssl' => true]; $parsed = parse_url(URI); $uri = sprintf('mongodb://%s:%d', $parsed['host'], $parsed['port']); -$manager = new MongoDB\Driver\Manager($uri, $uriOptions, $driverOptions); +$manager = create_test_manager($uri, $uriOptions, $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); diff --git a/tests/connect/standalone-x509-extract_username-002.phpt b/tests/connect/standalone-x509-extract_username-002.phpt index 253fda891..88e7427ba 100644 --- a/tests/connect/standalone-x509-extract_username-002.phpt +++ b/tests/connect/standalone-x509-extract_username-002.phpt @@ -29,7 +29,7 @@ $uriOptions = ['authMechanism' => 'MONGODB-X509', 'ssl' => true]; $parsed = parse_url(URI); $uri = sprintf('mongodb://%s:%d', $parsed['host'], $parsed['port']); -$manager = new MongoDB\Driver\Manager($uri, $uriOptions, $driverOptions); +$manager = create_test_manager($uri, $uriOptions, $driverOptions); $cursor = $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); var_dump($cursor->toArray()[0]); diff --git a/tests/cursor/bug0671-001.phpt b/tests/cursor/bug0671-001.phpt index 77e709896..d191a3baa 100644 --- a/tests/cursor/bug0671-001.phpt +++ b/tests/cursor/bug0671-001.phpt @@ -8,7 +8,7 @@ PHPC-671: Segfault if Manager is already freed when destructing live Cursor insert(['_id' => 1]); diff --git a/tests/cursor/bug0732-001.phpt b/tests/cursor/bug0732-001.phpt index 0e9bac708..5831215be 100644 --- a/tests/cursor/bug0732-001.phpt +++ b/tests/cursor/bug0732-001.phpt @@ -15,7 +15,7 @@ function wrapCursor(MongoDB\Driver\Cursor $cursor) } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['_id' => 1]); diff --git a/tests/cursor/bug0849-001.phpt b/tests/cursor/bug0849-001.phpt index d32110782..baea0435c 100644 --- a/tests/cursor/bug0849-001.phpt +++ b/tests/cursor/bug0849-001.phpt @@ -8,7 +8,7 @@ PHPC-849: Cursor::setTypeMap() leaks current element if called during iteration insert(['_id' => 1]); diff --git a/tests/cursor/bug0924-001.phpt b/tests/cursor/bug0924-001.phpt index b2dcac995..0e3793450 100644 --- a/tests/cursor/bug0924-001.phpt +++ b/tests/cursor/bug0924-001.phpt @@ -29,7 +29,7 @@ class MyDocument implements MongoDB\BSON\Serializable, MongoDB\BSON\Unserializab } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(new MyDocument('a')); diff --git a/tests/cursor/bug0924-002.phpt b/tests/cursor/bug0924-002.phpt index b96b24fad..c28c94443 100644 --- a/tests/cursor/bug0924-002.phpt +++ b/tests/cursor/bug0924-002.phpt @@ -29,7 +29,7 @@ class MyDocument implements MongoDB\BSON\Persistable } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(new MyDocument('a')); diff --git a/tests/cursor/bug1050-001.phpt b/tests/cursor/bug1050-001.phpt index d6f261f89..52e2390ad 100644 --- a/tests/cursor/bug1050-001.phpt +++ b/tests/cursor/bug1050-001.phpt @@ -35,7 +35,7 @@ class CommandLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $cmd = new MongoDB\Driver\Command( [ diff --git a/tests/cursor/bug1050-002.phpt b/tests/cursor/bug1050-002.phpt index d55c24557..096e7412d 100644 --- a/tests/cursor/bug1050-002.phpt +++ b/tests/cursor/bug1050-002.phpt @@ -43,7 +43,7 @@ class CommandLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $cmd = new MongoDB\Driver\Command( [ diff --git a/tests/cursor/bug1151-001.phpt b/tests/cursor/bug1151-001.phpt index 3fe26b623..ab21dcb40 100644 --- a/tests/cursor/bug1151-001.phpt +++ b/tests/cursor/bug1151-001.phpt @@ -10,7 +10,7 @@ PHPC-1151: Segfault if session unset before first getMore (find) insert(['_id' => 1]); diff --git a/tests/cursor/bug1151-002.phpt b/tests/cursor/bug1151-002.phpt index f794fcfe8..58474b81c 100644 --- a/tests/cursor/bug1151-002.phpt +++ b/tests/cursor/bug1151-002.phpt @@ -10,7 +10,7 @@ PHPC-1151: Segfault if session unset before first getMore (aggregate) insert(['_id' => 1]); diff --git a/tests/cursor/bug1151-003.phpt b/tests/cursor/bug1151-003.phpt index 880bc8eb2..c5793c7f0 100644 --- a/tests/cursor/bug1151-003.phpt +++ b/tests/cursor/bug1151-003.phpt @@ -10,7 +10,7 @@ PHPC-1151: Segfault if session unset before cursor is killed (find) insert(['_id' => 1]); diff --git a/tests/cursor/bug1151-004.phpt b/tests/cursor/bug1151-004.phpt index ac7eb1dac..d0c733f4b 100644 --- a/tests/cursor/bug1151-004.phpt +++ b/tests/cursor/bug1151-004.phpt @@ -10,7 +10,7 @@ PHPC-1151: Segfault if session unset before cursor is killed (aggregate) insert(['_id' => 1]); diff --git a/tests/cursor/bug1152-001.phpt b/tests/cursor/bug1152-001.phpt index b7b387631..7b54ea2d5 100644 --- a/tests/cursor/bug1152-001.phpt +++ b/tests/cursor/bug1152-001.phpt @@ -17,7 +17,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber public function executeCommand() { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite; $bulk->insert(['_id' => 1]); diff --git a/tests/cursor/bug1152-002.phpt b/tests/cursor/bug1152-002.phpt index 5474e23ee..13f1f6ddf 100644 --- a/tests/cursor/bug1152-002.phpt +++ b/tests/cursor/bug1152-002.phpt @@ -17,7 +17,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber public function executeCommand() { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite; $bulk->insert(['_id' => 1]); diff --git a/tests/cursor/bug1162-001.phpt b/tests/cursor/bug1162-001.phpt index 7c96c285d..259cd816e 100644 --- a/tests/cursor/bug1162-001.phpt +++ b/tests/cursor/bug1162-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Cursor segfault dumping cursor while iterating with IteratorItera insert(['_id' => 1]); diff --git a/tests/cursor/bug1274-001.phpt b/tests/cursor/bug1274-001.phpt index d4ca0bf11..9f3f3e132 100644 --- a/tests/cursor/bug1274-001.phpt +++ b/tests/cursor/bug1274-001.phpt @@ -41,7 +41,7 @@ class CommandLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['x' => 1]); diff --git a/tests/cursor/bug1274-002.phpt b/tests/cursor/bug1274-002.phpt index bc7ebbcc9..2dcd5a5be 100644 --- a/tests/cursor/bug1274-002.phpt +++ b/tests/cursor/bug1274-002.phpt @@ -43,7 +43,7 @@ class CommandLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['x' => 1]); diff --git a/tests/cursor/bug1274-003.phpt b/tests/cursor/bug1274-003.phpt index ff16486a4..65518c5ed 100644 --- a/tests/cursor/bug1274-003.phpt +++ b/tests/cursor/bug1274-003.phpt @@ -41,7 +41,7 @@ class CommandLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['x' => 1]); diff --git a/tests/cursor/bug1274-004.phpt b/tests/cursor/bug1274-004.phpt index 3ea7e5048..f600dbff7 100644 --- a/tests/cursor/bug1274-004.phpt +++ b/tests/cursor/bug1274-004.phpt @@ -41,7 +41,7 @@ class CommandLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['x' => 1]); diff --git a/tests/cursor/bug1274-005.phpt b/tests/cursor/bug1274-005.phpt index a778b103d..cd9134773 100644 --- a/tests/cursor/bug1274-005.phpt +++ b/tests/cursor/bug1274-005.phpt @@ -43,7 +43,7 @@ class CommandLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['x' => 1]); diff --git a/tests/cursor/bug1274-006.phpt b/tests/cursor/bug1274-006.phpt index c5d876ea2..2e0edd10c 100644 --- a/tests/cursor/bug1274-006.phpt +++ b/tests/cursor/bug1274-006.phpt @@ -41,7 +41,7 @@ class CommandLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['x' => 1]); diff --git a/tests/cursor/bug1419-001.phpt b/tests/cursor/bug1419-001.phpt index 5c0c0753b..a22f781f8 100644 --- a/tests/cursor/bug1419-001.phpt +++ b/tests/cursor/bug1419-001.phpt @@ -10,7 +10,7 @@ PHPC-1419: error labels from getMore are not exposed selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/cursor/bug1529-001.phpt b/tests/cursor/bug1529-001.phpt index ea1d982bc..c390a8a87 100644 --- a/tests/cursor/bug1529-001.phpt +++ b/tests/cursor/bug1529-001.phpt @@ -43,14 +43,14 @@ class CommandLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$keyVaultClient = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$keyVaultClient = create_test_manager(URI, [], ['disableClientPersistence' => true]); $autoEncryptionOpts = [ 'keyVaultClient' => $keyVaultClient, 'keyVaultNamespace' => 'default.keys', 'kmsProviders' => ['local' => ['key' => new MongoDB\BSON\Binary(str_repeat('0', 96), 0)]], ]; -$manager = new MongoDB\Driver\Manager(URI, [], ['autoEncryption' => $autoEncryptionOpts, 'disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['autoEncryption' => $autoEncryptionOpts, 'disableClientPersistence' => true]); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['x' => 1]); diff --git a/tests/cursor/bug1713-001.phpt b/tests/cursor/bug1713-001.phpt index 38f1882cf..be46e7ba7 100644 --- a/tests/cursor/bug1713-001.phpt +++ b/tests/cursor/bug1713-001.phpt @@ -7,7 +7,7 @@ PHPC-1713: MongoDB\Driver\Cursor::current() does not return anything executeQuery(NS, new MongoDB\Driver\Query([])); diff --git a/tests/cursor/cursor-IteratorIterator-001.phpt b/tests/cursor/cursor-IteratorIterator-001.phpt index ec5d1c445..18c653aca 100644 --- a/tests/cursor/cursor-IteratorIterator-001.phpt +++ b/tests/cursor/cursor-IteratorIterator-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Cursor query result iteration through IteratorIterator insert(array('_id' => 1, 'x' => 1)); diff --git a/tests/cursor/cursor-IteratorIterator-002.phpt b/tests/cursor/cursor-IteratorIterator-002.phpt index e39bea3e2..76011718c 100644 --- a/tests/cursor/cursor-IteratorIterator-002.phpt +++ b/tests/cursor/cursor-IteratorIterator-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Cursor command result iteration through IteratorIterator insert(array('_id' => 1, 'x' => 1)); diff --git a/tests/cursor/cursor-IteratorIterator-003.phpt b/tests/cursor/cursor-IteratorIterator-003.phpt index e41073c4c..692dbf48e 100644 --- a/tests/cursor/cursor-IteratorIterator-003.phpt +++ b/tests/cursor/cursor-IteratorIterator-003.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Cursor iteration beyond last document (find command) insert(['_id' => 1]); diff --git a/tests/cursor/cursor-IteratorIterator-004.phpt b/tests/cursor/cursor-IteratorIterator-004.phpt index 462787c8e..b1fe9248d 100644 --- a/tests/cursor/cursor-IteratorIterator-004.phpt +++ b/tests/cursor/cursor-IteratorIterator-004.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Cursor iteration beyond last document (OP_QUERY) insert(['_id' => 1]); diff --git a/tests/cursor/cursor-NoRewindIterator-001.phpt b/tests/cursor/cursor-NoRewindIterator-001.phpt index c51f0207a..a706e4a24 100644 --- a/tests/cursor/cursor-NoRewindIterator-001.phpt +++ b/tests/cursor/cursor-NoRewindIterator-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Cursor query result iteration through NoRewindIterator insert(array('_id' => 1, 'x' => 1)); diff --git a/tests/cursor/cursor-destruct-001.phpt b/tests/cursor/cursor-destruct-001.phpt index f25a8f292..00f8be370 100644 --- a/tests/cursor/cursor-destruct-001.phpt +++ b/tests/cursor/cursor-destruct-001.phpt @@ -23,7 +23,7 @@ function getNumOpenCursors(MongoDB\Driver\Server $server) throw new RuntimeException('Could not find number of open cursors in serverStatus'); } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); // Select a specific server for future operations to avoid mongos switching in sharded clusters $server = $manager->selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/cursor/cursor-getmore-001.phpt b/tests/cursor/cursor-getmore-001.phpt index f3441ef5d..98e6ff26a 100644 --- a/tests/cursor/cursor-getmore-001.phpt +++ b/tests/cursor/cursor-getmore-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Cursor query result iteration with batchSize requiring getmore wi insert(['_id' => 1]); diff --git a/tests/cursor/cursor-isDead-002.phpt b/tests/cursor/cursor-isDead-002.phpt index 5651bb7b2..ba31e9afe 100644 --- a/tests/cursor/cursor-isDead-002.phpt +++ b/tests/cursor/cursor-isDead-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Cursor::isDead() with IteratorIterator (find command) insert(['_id' => 1]); diff --git a/tests/cursor/cursor-isDead-003.phpt b/tests/cursor/cursor-isDead-003.phpt index ae0fd2633..3fc8f0bd6 100644 --- a/tests/cursor/cursor-isDead-003.phpt +++ b/tests/cursor/cursor-isDead-003.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Cursor::isDead() with basic iteration (OP_QUERY) insert(['_id' => 1]); diff --git a/tests/cursor/cursor-isDead-004.phpt b/tests/cursor/cursor-isDead-004.phpt index db3e88656..f9375f4f2 100644 --- a/tests/cursor/cursor-isDead-004.phpt +++ b/tests/cursor/cursor-isDead-004.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Cursor::isDead() with IteratorIterator (OP_QUERY) insert(['_id' => 1]); diff --git a/tests/cursor/cursor-iterator-001.phpt b/tests/cursor/cursor-iterator-001.phpt index ef6ac601d..0d022e604 100644 --- a/tests/cursor/cursor-iterator-001.phpt +++ b/tests/cursor/cursor-iterator-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Cursor does not allow iterating multiple times (foreach) insert(array('_id' => 0)); diff --git a/tests/cursor/cursor-iterator_handlers-001.phpt b/tests/cursor/cursor-iterator_handlers-001.phpt index 2efb415cb..91059b8e5 100644 --- a/tests/cursor/cursor-iterator_handlers-001.phpt +++ b/tests/cursor/cursor-iterator_handlers-001.phpt @@ -28,7 +28,7 @@ class MyIteratorIterator extends IteratorIterator } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulkWrite = new MongoDB\Driver\BulkWrite; diff --git a/tests/cursor/cursor-rewind-001.phpt b/tests/cursor/cursor-rewind-001.phpt index 7e7f9fbca..ad93fa295 100644 --- a/tests/cursor/cursor-rewind-001.phpt +++ b/tests/cursor/cursor-rewind-001.phpt @@ -28,7 +28,7 @@ class MyIteratorIterator extends IteratorIterator } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulkWrite = new MongoDB\Driver\BulkWrite; diff --git a/tests/cursor/cursor-session-001.phpt b/tests/cursor/cursor-session-001.phpt index 8f6b925d2..8776d99ce 100644 --- a/tests/cursor/cursor-session-001.phpt +++ b/tests/cursor/cursor-session-001.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Cursor debug output for query cursor includes explicit session insert(['_id' => 1]); diff --git a/tests/cursor/cursor-session-002.phpt b/tests/cursor/cursor-session-002.phpt index e00268314..672b9234d 100644 --- a/tests/cursor/cursor-session-002.phpt +++ b/tests/cursor/cursor-session-002.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Cursor debug output for query cursor omits implicit session insert(['_id' => 1]); diff --git a/tests/cursor/cursor-session-003.phpt b/tests/cursor/cursor-session-003.phpt index 15e874483..7ae8e9cd0 100644 --- a/tests/cursor/cursor-session-003.phpt +++ b/tests/cursor/cursor-session-003.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Cursor debug output for command cursor includes explicit session insert(['_id' => 1]); diff --git a/tests/cursor/cursor-session-004.phpt b/tests/cursor/cursor-session-004.phpt index 4526ba17e..82afadf41 100644 --- a/tests/cursor/cursor-session-004.phpt +++ b/tests/cursor/cursor-session-004.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Cursor debug output for command cursor includes implicit session insert(['_id' => 1]); diff --git a/tests/cursor/cursor-setTypeMap_error-001.phpt b/tests/cursor/cursor-setTypeMap_error-001.phpt index 89a22f14e..a39026721 100644 --- a/tests/cursor/cursor-setTypeMap_error-001.phpt +++ b/tests/cursor/cursor-setTypeMap_error-001.phpt @@ -26,7 +26,7 @@ $classes = [ 'MongoDB\BSON\Unserializable', ]; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $cursor = $manager->executeQuery(NS, new MongoDB\Driver\Query([])); foreach ($types as $type) { diff --git a/tests/cursor/cursor-setTypeMap_error-002.phpt b/tests/cursor/cursor-setTypeMap_error-002.phpt index c374a336f..73e1c4f34 100644 --- a/tests/cursor/cursor-setTypeMap_error-002.phpt +++ b/tests/cursor/cursor-setTypeMap_error-002.phpt @@ -9,7 +9,7 @@ Cursor::setTypeMap() error does not alter current element require_once __DIR__ . "/../utils/basic.inc"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['_id' => 1]); diff --git a/tests/cursor/cursor-setTypeMap_error-003.phpt b/tests/cursor/cursor-setTypeMap_error-003.phpt index 45f7ada09..492d6bd8d 100644 --- a/tests/cursor/cursor-setTypeMap_error-003.phpt +++ b/tests/cursor/cursor-setTypeMap_error-003.phpt @@ -22,7 +22,7 @@ $fieldPaths = [ ['unserialize' => 'MongoDB\BSON\Unserializable'], ]; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $cursor = $manager->executeQuery(NS, new MongoDB\Driver\Query([])); foreach ($fieldPaths as $fieldPath) { diff --git a/tests/cursor/cursor-setTypeMap_error-004.phpt b/tests/cursor/cursor-setTypeMap_error-004.phpt index 842848fa3..e4511c406 100644 --- a/tests/cursor/cursor-setTypeMap_error-004.phpt +++ b/tests/cursor/cursor-setTypeMap_error-004.phpt @@ -25,7 +25,7 @@ $fieldPaths = [ ['foo..bar' => 'MyDocument'], ]; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $cursor = $manager->executeQuery(NS, new MongoDB\Driver\Query([])); foreach ($fieldPaths as $fieldPath) { diff --git a/tests/cursor/cursor-tailable-001.phpt b/tests/cursor/cursor-tailable-001.phpt index 2b4b71cd4..85b506ada 100644 --- a/tests/cursor/cursor-tailable-001.phpt +++ b/tests/cursor/cursor-tailable-001.phpt @@ -25,7 +25,7 @@ function insert(MongoDB\Driver\Manager $manager, $from, $to = null) printf("Inserted %d document(s): %s\n", $writeResult->getInsertedCount(), implode(', ', range($from, $to))); } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command([ 'create' => COLLECTION_NAME, diff --git a/tests/cursor/cursor-tailable-002.phpt b/tests/cursor/cursor-tailable-002.phpt index 236277ec0..9ad6ad7b8 100644 --- a/tests/cursor/cursor-tailable-002.phpt +++ b/tests/cursor/cursor-tailable-002.phpt @@ -26,7 +26,7 @@ function insert(MongoDB\Driver\Manager $manager, $from, $to = null) printf("Inserted %d document(s): %s\n", $writeResult->getInsertedCount(), implode(', ', range($from, $to))); } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command([ 'create' => COLLECTION_NAME, diff --git a/tests/cursor/cursor-tailable-003.phpt b/tests/cursor/cursor-tailable-003.phpt index 2412ffd6f..404f525b2 100644 --- a/tests/cursor/cursor-tailable-003.phpt +++ b/tests/cursor/cursor-tailable-003.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Cursor tailable iteration with awaitData and maxAwaitTimeMS optio executeCommand(DATABASE_NAME, new MongoDB\Driver\Command([ 'create' => COLLECTION_NAME, diff --git a/tests/cursor/cursor-tailable_error-001.phpt b/tests/cursor/cursor-tailable_error-001.phpt index 961e6bd2c..a8ae8d391 100644 --- a/tests/cursor/cursor-tailable_error-001.phpt +++ b/tests/cursor/cursor-tailable_error-001.phpt @@ -25,7 +25,7 @@ function insert(MongoDB\Driver\Manager $manager, $from, $to = null) printf("Inserted %d document(s): %s\n", $writeResult->getInsertedCount(), implode(', ', range($from, $to))); } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command([ 'create' => COLLECTION_NAME, diff --git a/tests/cursor/cursor-tailable_error-002.phpt b/tests/cursor/cursor-tailable_error-002.phpt index bb8323b25..c5ab1f86a 100644 --- a/tests/cursor/cursor-tailable_error-002.phpt +++ b/tests/cursor/cursor-tailable_error-002.phpt @@ -26,7 +26,7 @@ function insert(MongoDB\Driver\Manager $manager, $from, $to = null) printf("Inserted %d document(s): %s\n", $writeResult->getInsertedCount(), implode(', ', range($from, $to))); } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command([ 'create' => COLLECTION_NAME, diff --git a/tests/cursor/cursor-toArray-001.phpt b/tests/cursor/cursor-toArray-001.phpt index cb552cc1d..f3e7e1dbf 100644 --- a/tests/cursor/cursor-toArray-001.phpt +++ b/tests/cursor/cursor-toArray-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Cursor::toArray() insert(array('_id' => 1, 'x' => 1)); diff --git a/tests/cursor/cursor-toArray-002.phpt b/tests/cursor/cursor-toArray-002.phpt index c77bfad09..d867e22e9 100644 --- a/tests/cursor/cursor-toArray-002.phpt +++ b/tests/cursor/cursor-toArray-002.phpt @@ -17,7 +17,7 @@ class MyArrayObject extends ArrayObject implements MongoDB\BSON\Unserializable } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(array('_id' => 1, 'x' => array(1, 2, 3))); diff --git a/tests/cursor/cursorinterface-001.phpt b/tests/cursor/cursorinterface-001.phpt index 09e2271b5..b991320e8 100644 --- a/tests/cursor/cursorinterface-001.phpt +++ b/tests/cursor/cursorinterface-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\CursorInterface is implemented by MongoDB\Driver\Cursor insert(array('_id' => 1, 'x' => 1)); diff --git a/tests/cursorid/cursorid-001.phpt b/tests/cursorid/cursorid-001.phpt index dc450530b..e1643490e 100644 --- a/tests/cursorid/cursorid-001.phpt +++ b/tests/cursorid/cursorid-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\CursorID BSON serialization require_once __DIR__ . "/../utils/basic.inc"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['_id' => 1]); diff --git a/tests/cursorid/cursorid-002.phpt b/tests/cursorid/cursorid-002.phpt index 31e04a16e..7143a756f 100644 --- a/tests/cursorid/cursorid-002.phpt +++ b/tests/cursorid/cursorid-002.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\CursorID BSON serialization for killCursors command require_once __DIR__ . "/../utils/basic.inc"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); // Select a specific server for future operations to avoid mongos switching in sharded clusters $server = $manager->selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/exception/bulkwriteexception-haserrorlabel-002.phpt b/tests/exception/bulkwriteexception-haserrorlabel-002.phpt index e67928440..50af60496 100644 --- a/tests/exception/bulkwriteexception-haserrorlabel-002.phpt +++ b/tests/exception/bulkwriteexception-haserrorlabel-002.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Exception\BulkWriteException::hasErrorLabel() with writeConcernEr require_once __DIR__ . "/../utils/basic.inc"; // Disable retryWrites since we want to check for a RetryableWriteError error label -$manager = new MongoDB\Driver\Manager(URI, ['retryWrites' => false]); +$manager = create_test_manager(URI, ['retryWrites' => false]); // Select a specific server for future operations to avoid mongos switching in sharded clusters $server = $manager->selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/functional/cursor-001.phpt b/tests/functional/cursor-001.phpt index 4d08ce047..4c14b561e 100644 --- a/tests/functional/cursor-001.phpt +++ b/tests/functional/cursor-001.phpt @@ -8,7 +8,7 @@ Sorting single field, ascending, using the Cursor Iterator true, ], ]); - return new MongoDB\Driver\Manager(URI, [], ['context' => $context]); + return create_test_manager(URI, [], ['context' => $context]); }; $manager = $closure(); diff --git a/tests/manager/bug0912-001.phpt b/tests/manager/bug0912-001.phpt index 61566fc47..da617864b 100644 --- a/tests/manager/bug0912-001.phpt +++ b/tests/manager/bug0912-001.phpt @@ -21,14 +21,14 @@ function logMyURI(MongoDB\Driver\Manager $manager) $manager->executeBulkWrite(NS, $bulk); } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); logMyURI($manager); $parentPid = getmypid(); $childPid = pcntl_fork(); if ($childPid === 0) { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); logMyURI($manager); exit; } diff --git a/tests/manager/bug0913-001.phpt b/tests/manager/bug0913-001.phpt index b8bb3e577..62e1c9cc7 100644 --- a/tests/manager/bug0913-001.phpt +++ b/tests/manager/bug0913-001.phpt @@ -21,14 +21,14 @@ function logMyURI(MongoDB\Driver\Manager $manager) $manager->executeBulkWrite(NS, $bulk); } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); logMyURI($manager); $parentPid = getmypid(); $childPid = pcntl_fork(); if ($childPid === 0) { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); logMyURI($manager); /* Due to PHPC-912, we cannot allow the child process to terminate before diff --git a/tests/manager/bug1163-001.phpt b/tests/manager/bug1163-001.phpt index 1cb07e7cb..04b007f5d 100644 --- a/tests/manager/bug1163-001.phpt +++ b/tests/manager/bug1163-001.phpt @@ -13,7 +13,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber { public function run() { - $manager = new MongoDB\Driver\Manager(URI, ['w' => 0]); + $manager = create_test_manager(URI, ['w' => 0]); MongoDB\Driver\Monitoring\addSubscriber($this); diff --git a/tests/manager/bug1701-001.phpt b/tests/manager/bug1701-001.phpt index a7e147acb..2a841632b 100644 --- a/tests/manager/bug1701-001.phpt +++ b/tests/manager/bug1701-001.phpt @@ -7,7 +7,7 @@ require_once __DIR__ . "/../utils/basic.inc"; echo throws(function () { // Using a stream context without SSL options causes an exception in the constructor, triggering the potential leak - new MongoDB\Driver\Manager( + create_test_manager( null, ['username' => 'username', 'authMechanism' => 'GSSAPI', 'authMechanismProperties' => ['canonicalize_host_name' => true]], ['context' => stream_context_create([])] diff --git a/tests/manager/manager-createClientEncryption-error-001.phpt b/tests/manager/manager-createClientEncryption-error-001.phpt index e5eaab7f2..5927af927 100644 --- a/tests/manager/manager-createClientEncryption-error-001.phpt +++ b/tests/manager/manager-createClientEncryption-error-001.phpt @@ -6,10 +6,10 @@ MongoDB\Driver\Manager::createClientEncryption() fails if compiled without FLE --FILE-- createClientEncryption([]); }, MongoDB\Driver\Exception\RuntimeException::class), "\n"; diff --git a/tests/manager/manager-createClientEncryption-error-002.phpt b/tests/manager/manager-createClientEncryption-error-002.phpt index da5e89677..88c190894 100644 --- a/tests/manager/manager-createClientEncryption-error-002.phpt +++ b/tests/manager/manager-createClientEncryption-error-002.phpt @@ -6,7 +6,7 @@ MongoDB\Driver\Manager::createClientEncryption() with invalid option types --FILE-- 'string'], @@ -18,7 +18,7 @@ $tests = [ foreach ($tests as $test) { echo throws(function () use ($test) { - $manager = new MongoDB\Driver\Manager(); + $manager = create_test_manager(); $clientEncryption = $manager->createClientEncryption(['keyVaultNamespace' => 'default.keys'] + $test); }, MongoDB\Driver\Exception\InvalidArgumentException::class), "\n\n"; } diff --git a/tests/manager/manager-ctor-005.phpt b/tests/manager/manager-ctor-005.phpt index 89d8b96c2..ceba1bf36 100644 --- a/tests/manager/manager-ctor-005.phpt +++ b/tests/manager/manager-ctor-005.phpt @@ -4,7 +4,7 @@ MongoDB\Driver\Manager::__construct(): Ensure environmental URI is parsable ===DONE=== diff --git a/tests/manager/manager-ctor-006.phpt b/tests/manager/manager-ctor-006.phpt index 4fd7648cd..dc24fe322 100644 --- a/tests/manager/manager-ctor-006.phpt +++ b/tests/manager/manager-ctor-006.phpt @@ -7,7 +7,7 @@ MONGODB_URI=invalid require_once __DIR__ . "/../utils/basic.inc"; echo throws(function() { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> ===DONE=== diff --git a/tests/manager/manager-ctor-appname-001.phpt b/tests/manager/manager-ctor-appname-001.phpt index 868205ce2..b3a147d60 100644 --- a/tests/manager/manager-ctor-appname-001.phpt +++ b/tests/manager/manager-ctor-appname-001.phpt @@ -12,7 +12,7 @@ require_once __DIR__ . "/../utils/basic.inc"; $name1 = str_repeat('PHONGO', 20); $name2 = str_repeat('PHONGO', 20); $uri = append_uri_option(URI, "appname={$name1}"); -$manager = new \MongoDB\Driver\Manager($uri, ['appname' => "2-{$name2}"]); +$manager = create_test_manager($uri, ['appname' => "2-{$name2}"]); $command = new MongoDB\Driver\Command(['ping' => 1]); $manager->executeCommand("test", $command); diff --git a/tests/manager/manager-ctor-appname_error-001.phpt b/tests/manager/manager-ctor-appname_error-001.phpt index 2f9db5a5a..47d759c4f 100644 --- a/tests/manager/manager-ctor-appname_error-001.phpt +++ b/tests/manager/manager-ctor-appname_error-001.phpt @@ -3,13 +3,13 @@ MongoDB\Driver\Manager::__construct(): invalid appname --FILE-- "2-{$name2}"]); + $manager = create_test_manager("mongodb://127.0.0.1/?appname={$name1}", ['appname' => "2-{$name2}"]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-auth_mechanism-error-001.phpt b/tests/manager/manager-ctor-auth_mechanism-error-001.phpt index 7f523ceb9..80866e65b 100644 --- a/tests/manager/manager-ctor-auth_mechanism-error-001.phpt +++ b/tests/manager/manager-ctor-auth_mechanism-error-001.phpt @@ -3,42 +3,42 @@ MongoDB\Driver\Manager::__construct(): authentication options are validated --FILE-- 'GSSAPI', 'authSource' => 'admin']); + create_test_manager('mongodb://localhost:27017/', ['authMechanism' => 'GSSAPI', 'authSource' => 'admin']); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://localhost:27017/?authMechanism=MONGODB-X509&authSource=admin'); + create_test_manager('mongodb://localhost:27017/?authMechanism=MONGODB-X509&authSource=admin'); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://localhost:27017/', ['authMechanism' => 'MONGODB-X509', 'authSource' => 'admin']); + create_test_manager('mongodb://localhost:27017/', ['authMechanism' => 'MONGODB-X509', 'authSource' => 'admin']); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://@localhost:27017/?authMechanism=SCRAM-SHA-1'); + create_test_manager('mongodb://@localhost:27017/?authMechanism=SCRAM-SHA-1'); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://localhost:27017/', ['username' => '', 'authMechanism' => 'SCRAM-SHA-1']); + create_test_manager('mongodb://localhost:27017/', ['username' => '', 'authMechanism' => 'SCRAM-SHA-1']); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://localhost:27017/', ['password' => 'password', 'authMechanism' => 'MONGODB-X509']); + create_test_manager('mongodb://localhost:27017/', ['password' => 'password', 'authMechanism' => 'MONGODB-X509']); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://localhost:27017/?authSource=foo'); + create_test_manager('mongodb://localhost:27017/?authSource=foo'); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://localhost:27017/', ['authSource' => 'foo']); + create_test_manager('mongodb://localhost:27017/', ['authSource' => 'foo']); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-auto_encryption-error-001.phpt b/tests/manager/manager-ctor-auto_encryption-error-001.phpt index 2ae5d1a53..1ac53abba 100644 --- a/tests/manager/manager-ctor-auto_encryption-error-001.phpt +++ b/tests/manager/manager-ctor-auto_encryption-error-001.phpt @@ -6,7 +6,7 @@ MongoDB\Driver\Manager::__construct(): incomplete auto encryption options --FILE-- $driverOptions]); + $manager = create_test_manager(null, [], ['autoEncryption' => $driverOptions]); }, MongoDB\Driver\Exception\InvalidArgumentException::class), "\n\n"; } diff --git a/tests/manager/manager-ctor-auto_encryption-error-002.phpt b/tests/manager/manager-ctor-auto_encryption-error-002.phpt index 6f9db3c3e..de58316f2 100644 --- a/tests/manager/manager-ctor-auto_encryption-error-002.phpt +++ b/tests/manager/manager-ctor-auto_encryption-error-002.phpt @@ -6,10 +6,10 @@ MongoDB\Driver\Manager::__construct(): auto encryption when compiling without li --FILE-- []]); + $manager = create_test_manager(null, [], ['autoEncryption' => []]); }, MongoDB\Driver\Exception\InvalidArgumentException::class), "\n"; ?> diff --git a/tests/manager/manager-ctor-auto_encryption-error-003.phpt b/tests/manager/manager-ctor-auto_encryption-error-003.phpt index 9e0764adc..41aac4ed8 100644 --- a/tests/manager/manager-ctor-auto_encryption-error-003.phpt +++ b/tests/manager/manager-ctor-auto_encryption-error-003.phpt @@ -6,7 +6,7 @@ MongoDB\Driver\Manager::__construct(): invalid option types --FILE-- 'string'], @@ -24,7 +24,7 @@ foreach ($tests as $test) { echo throws(function() use ($test) { $autoEncryptionOptions = ['keyVaultNamespace' => 'admin.dataKeys']; - $manager = new MongoDB\Driver\Manager(null, [], ['autoEncryption' => $autoEncryptionOptions + $test]); + $manager = create_test_manager(null, [], ['autoEncryption' => $autoEncryptionOptions + $test]); }, MongoDB\Driver\Exception\InvalidArgumentException::class), "\n\n"; } diff --git a/tests/manager/manager-ctor-directconnection-001.phpt b/tests/manager/manager-ctor-directconnection-001.phpt index c1e0bb732..04f5f045b 100644 --- a/tests/manager/manager-ctor-directconnection-001.phpt +++ b/tests/manager/manager-ctor-directconnection-001.phpt @@ -9,13 +9,13 @@ MongoDB\Driver\Manager::__construct(): directConnection option require_once __DIR__ . "/../utils/basic.inc"; -$manager = new \MongoDB\Driver\Manager(URI, ['directConnection' => false]); +$manager = create_test_manager(URI, ['directConnection' => false]); $server = $manager->selectServer(new \MongoDB\Driver\ReadPreference('primaryPreferred')); printf("Topology has multiple nodes when directConnection=false: %s\n", count($manager->getServers()) > 1 ? 'true' : 'false'); $uri = sprintf('mongodb://%s:%d', $server->getHost(), $server->getPort()); -$manager2 = new \MongoDB\Driver\Manager($uri, ['directConnection' => true]); +$manager2 = create_test_manager($uri, ['directConnection' => true]); $server2 = $manager2->selectServer(new \MongoDB\Driver\ReadPreference('primaryPreferred')); printf("Topology has single node when directConnection=true: %s\n", count($manager2->getServers()) == 1 ? 'true' : 'false'); diff --git a/tests/manager/manager-ctor-directconnection-error-001.phpt b/tests/manager/manager-ctor-directconnection-error-001.phpt index 2fae8f97c..9d185938c 100644 --- a/tests/manager/manager-ctor-directconnection-error-001.phpt +++ b/tests/manager/manager-ctor-directconnection-error-001.phpt @@ -3,14 +3,14 @@ MongoDB\Driver\Manager::__construct(): directConnection=true conflicts with mult --FILE-- true]); + $manager = create_test_manager('mongodb://a.example.com,b.example.com', ['directConnection' => true]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-directconnection-error-002.phpt b/tests/manager/manager-ctor-directconnection-error-002.phpt index 3eb8386a4..bd5600df7 100644 --- a/tests/manager/manager-ctor-directconnection-error-002.phpt +++ b/tests/manager/manager-ctor-directconnection-error-002.phpt @@ -3,14 +3,14 @@ MongoDB\Driver\Manager::__construct(): directConnection=true conflicts with SRV --FILE-- true]); + $manager = create_test_manager('mongodb+srv://a.example.com', ['directConnection' => true]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-disableClientPersistence-002.phpt b/tests/manager/manager-ctor-disableClientPersistence-002.phpt index 743c0a8f9..272f3d2b7 100644 --- a/tests/manager/manager-ctor-disableClientPersistence-002.phpt +++ b/tests/manager/manager-ctor-disableClientPersistence-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager with disableClientPersistence=true referenced by Cursor require_once __DIR__ . "/../utils/basic.inc"; ini_set('mongodb.debug', 'stderr'); -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); ini_set('mongodb.debug', ''); echo "Inserting data\n"; diff --git a/tests/manager/manager-ctor-disableClientPersistence-003.phpt b/tests/manager/manager-ctor-disableClientPersistence-003.phpt index 009a21072..e9c9eef79 100644 --- a/tests/manager/manager-ctor-disableClientPersistence-003.phpt +++ b/tests/manager/manager-ctor-disableClientPersistence-003.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Manager with disableClientPersistence=true referenced by Session require_once __DIR__ . "/../utils/basic.inc"; ini_set('mongodb.debug', 'stderr'); -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); ini_set('mongodb.debug', ''); echo "Creating session\n"; diff --git a/tests/manager/manager-ctor-disableClientPersistence-004.phpt b/tests/manager/manager-ctor-disableClientPersistence-004.phpt index 48d28589c..348e4b56f 100644 --- a/tests/manager/manager-ctor-disableClientPersistence-004.phpt +++ b/tests/manager/manager-ctor-disableClientPersistence-004.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager with disableClientPersistence=true referenced by Server require_once __DIR__ . "/../utils/basic.inc"; ini_set('mongodb.debug', 'stderr'); -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); ini_set('mongodb.debug', ''); echo "Creating server\n"; diff --git a/tests/manager/manager-ctor-disableClientPersistence-005.phpt b/tests/manager/manager-ctor-disableClientPersistence-005.phpt index b4db9b707..7b08e430d 100644 --- a/tests/manager/manager-ctor-disableClientPersistence-005.phpt +++ b/tests/manager/manager-ctor-disableClientPersistence-005.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager with disableClientPersistence=true referenced by WriteRes require_once __DIR__ . "/../utils/basic.inc"; ini_set('mongodb.debug', 'stderr'); -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); ini_set('mongodb.debug', ''); echo "Inserting data\n"; diff --git a/tests/manager/manager-ctor-disableClientPersistence-006.phpt b/tests/manager/manager-ctor-disableClientPersistence-006.phpt index b93334028..336927871 100644 --- a/tests/manager/manager-ctor-disableClientPersistence-006.phpt +++ b/tests/manager/manager-ctor-disableClientPersistence-006.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager with disableClientPersistence=true referenced by ClientEn require_once __DIR__ . "/../utils/basic.inc"; ini_set('mongodb.debug', 'stderr'); -$manager = new MongoDB\Driver\Manager(null, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(null, [], ['disableClientPersistence' => true]); ini_set('mongodb.debug', ''); echo "Creating clientEncryption\n"; diff --git a/tests/manager/manager-ctor-disableClientPersistence-007.phpt b/tests/manager/manager-ctor-disableClientPersistence-007.phpt index d1eceb6e9..b1400c5e5 100644 --- a/tests/manager/manager-ctor-disableClientPersistence-007.phpt +++ b/tests/manager/manager-ctor-disableClientPersistence-007.phpt @@ -8,8 +8,8 @@ MongoDB\Driver\Manager with disableClientPersistence=true referenced by ClientEn require_once __DIR__ . "/../utils/basic.inc"; ini_set('mongodb.debug', 'stderr'); -$manager = new MongoDB\Driver\Manager(null, [], ['disableClientPersistence' => true]); -$keyVaultClient = new MongoDB\Driver\Manager(null, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(null, [], ['disableClientPersistence' => true]); +$keyVaultClient = create_test_manager(null, [], ['disableClientPersistence' => true]); ini_set('mongodb.debug', ''); echo "Creating clientEncryption\n"; diff --git a/tests/manager/manager-ctor-disableClientPersistence-008.phpt b/tests/manager/manager-ctor-disableClientPersistence-008.phpt index 2edbeb7d2..dfe65c163 100644 --- a/tests/manager/manager-ctor-disableClientPersistence-008.phpt +++ b/tests/manager/manager-ctor-disableClientPersistence-008.phpt @@ -30,7 +30,7 @@ $subscriber = new MySubscriber; ini_set('mongodb.debug', 'stderr'); -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); ini_set('mongodb.debug', ''); MongoDB\Driver\Monitoring\addSubscriber($subscriber); diff --git a/tests/manager/manager-ctor-disableClientPersistence-009.phpt b/tests/manager/manager-ctor-disableClientPersistence-009.phpt index 871adf418..9b5cfc717 100644 --- a/tests/manager/manager-ctor-disableClientPersistence-009.phpt +++ b/tests/manager/manager-ctor-disableClientPersistence-009.phpt @@ -30,7 +30,7 @@ $subscriber = new MySubscriber; ini_set('mongodb.debug', 'stderr'); -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); ini_set('mongodb.debug', ''); MongoDB\Driver\Monitoring\addSubscriber($subscriber); diff --git a/tests/manager/manager-ctor-disableClientPersistence-010.phpt b/tests/manager/manager-ctor-disableClientPersistence-010.phpt index 377503e42..79e81cf89 100644 --- a/tests/manager/manager-ctor-disableClientPersistence-010.phpt +++ b/tests/manager/manager-ctor-disableClientPersistence-010.phpt @@ -30,7 +30,7 @@ $subscriber = new MySubscriber; ini_set('mongodb.debug', 'stderr'); -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); ini_set('mongodb.debug', ''); MongoDB\Driver\Monitoring\addSubscriber($subscriber); diff --git a/tests/manager/manager-ctor-disableClientPersistence-011.phpt b/tests/manager/manager-ctor-disableClientPersistence-011.phpt index a0272d2c4..5f5f24863 100644 --- a/tests/manager/manager-ctor-disableClientPersistence-011.phpt +++ b/tests/manager/manager-ctor-disableClientPersistence-011.phpt @@ -30,7 +30,7 @@ $subscriber = new MySubscriber; ini_set('mongodb.debug', 'stderr'); -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); ini_set('mongodb.debug', ''); MongoDB\Driver\Monitoring\addSubscriber($subscriber); diff --git a/tests/manager/manager-ctor-disableClientPersistence_error-001.phpt b/tests/manager/manager-ctor-disableClientPersistence_error-001.phpt index 0cd72f8fb..18d20b611 100644 --- a/tests/manager/manager-ctor-disableClientPersistence_error-001.phpt +++ b/tests/manager/manager-ctor-disableClientPersistence_error-001.phpt @@ -8,9 +8,9 @@ MongoDB\Driver\Manager and keyVaultClient must have same disableClientPersistenc require_once __DIR__ . "/../utils/basic.inc"; echo throws(function() { - new MongoDB\Driver\Manager(null, [], [ + create_test_manager(null, [], [ 'autoEncryption' => [ - 'keyVaultClient' => new MongoDB\Driver\Manager(null), + 'keyVaultClient' => create_test_manager(null), 'keyVaultNamespace' => 'default.keys', 'kmsProviders' => ['local' => ['key' => new MongoDB\BSON\Binary(str_repeat('0', 96), 0)]], ], @@ -19,9 +19,9 @@ echo throws(function() { }, MongoDB\Driver\Exception\InvalidArgumentException::class), "\n"; echo throws(function() { - new MongoDB\Driver\Manager(null, [], [ + create_test_manager(null, [], [ 'autoEncryption' => [ - 'keyVaultClient' => new MongoDB\Driver\Manager(null, [], ['disableClientPersistence' => true]), + 'keyVaultClient' => create_test_manager(null, [], ['disableClientPersistence' => true]), 'keyVaultNamespace' => 'default.keys', 'kmsProviders' => ['local' => ['key' => new MongoDB\BSON\Binary(str_repeat('0', 96), 0)]], ] diff --git a/tests/manager/manager-ctor-read_concern-error-001.phpt b/tests/manager/manager-ctor-read_concern-error-001.phpt index d8b352924..3d0ead317 100644 --- a/tests/manager/manager-ctor-read_concern-error-001.phpt +++ b/tests/manager/manager-ctor-read_concern-error-001.phpt @@ -3,10 +3,10 @@ MongoDB\Driver\Manager::__construct(): invalid read concern --FILE-- 1]); + create_test_manager(null, ['readConcernLevel' => 1]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-read_preference-error-001.phpt b/tests/manager/manager-ctor-read_preference-error-001.phpt index 83a501b38..a7290fc51 100644 --- a/tests/manager/manager-ctor-read_preference-error-001.phpt +++ b/tests/manager/manager-ctor-read_preference-error-001.phpt @@ -3,44 +3,44 @@ MongoDB\Driver\Manager::__construct(): invalid read preference (mode and tags) --FILE-- 1]); + create_test_manager(null, ['readPreference' => 1]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager(null, ['readPreference' => 'primary', 'readPreferenceTags' => 'invalid']); + create_test_manager(null, ['readPreference' => 'primary', 'readPreferenceTags' => 'invalid']); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; // Invalid values echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?readPreference=primary&readPreferenceTags=dc:ny'); + create_test_manager('mongodb://127.0.0.1/?readPreference=primary&readPreferenceTags=dc:ny'); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager(null, ['readPreference' => 'nothing']); + create_test_manager(null, ['readPreference' => 'nothing']); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?readPreference=primary', ['readPreferenceTags' => [[]]]); + create_test_manager('mongodb://127.0.0.1/?readPreference=primary', ['readPreferenceTags' => [[]]]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?readPreference=primary', ['readPreferenceTags' => ['invalid']]); + create_test_manager('mongodb://127.0.0.1/?readPreference=primary', ['readPreferenceTags' => ['invalid']]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-read_preference-error-002.phpt b/tests/manager/manager-ctor-read_preference-error-002.phpt index 0d7f8ed81..061c090ff 100644 --- a/tests/manager/manager-ctor-read_preference-error-002.phpt +++ b/tests/manager/manager-ctor-read_preference-error-002.phpt @@ -3,52 +3,52 @@ MongoDB\Driver\Manager::__construct(): invalid read preference (maxStalenessSeco --FILE-- 'invalid']); + create_test_manager(null, ['maxStalenessSeconds' => 'invalid']); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; // Invalid range in URI string (array option is tested in 64-bit error test) echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?readPreference=secondary&maxStalenessSeconds=2147483648'); + create_test_manager('mongodb://127.0.0.1/?readPreference=secondary&maxStalenessSeconds=2147483648'); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; // Invalid values echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?maxstalenessseconds=1231'); + create_test_manager('mongodb://127.0.0.1/?maxstalenessseconds=1231'); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?maxStalenessSeconds=1231'); + create_test_manager('mongodb://127.0.0.1/?maxStalenessSeconds=1231'); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager(null, ['maxstalenessseconds' => 1231]); + create_test_manager(null, ['maxstalenessseconds' => 1231]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager(null, ['maxStalenessSeconds' => 1231]); + create_test_manager(null, ['maxStalenessSeconds' => 1231]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager(null, ['readPreference' => 'secondary', 'maxStalenessSeconds' => -2]); + create_test_manager(null, ['readPreference' => 'secondary', 'maxStalenessSeconds' => -2]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager(null, ['readPreference' => 'secondary', 'maxStalenessSeconds' => 0]); + create_test_manager(null, ['readPreference' => 'secondary', 'maxStalenessSeconds' => 0]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager(null, ['readPreference' => 'secondary', 'maxStalenessSeconds' => 42]); + create_test_manager(null, ['readPreference' => 'secondary', 'maxStalenessSeconds' => 42]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-read_preference-error-003.phpt b/tests/manager/manager-ctor-read_preference-error-003.phpt index d10c4f78c..b1e720b4c 100644 --- a/tests/manager/manager-ctor-read_preference-error-003.phpt +++ b/tests/manager/manager-ctor-read_preference-error-003.phpt @@ -3,14 +3,14 @@ MongoDB\Driver\Manager::__construct(): invalid read preference (slaveOk) --FILE-- 1]); + create_test_manager(null, ['slaveOk' => 1]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-read_preference-error-004.phpt b/tests/manager/manager-ctor-read_preference-error-004.phpt index ed897b102..a5eab7c30 100644 --- a/tests/manager/manager-ctor-read_preference-error-004.phpt +++ b/tests/manager/manager-ctor-read_preference-error-004.phpt @@ -5,10 +5,10 @@ MongoDB\Driver\Manager::__construct(): invalid read preference (maxStalenessSeco --FILE-- 'secondary', 'maxStalenessSeconds' => 2147483648]); + create_test_manager(null, ['readPreference' => 'secondary', 'maxStalenessSeconds' => 2147483648]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-server.phpt b/tests/manager/manager-ctor-server.phpt index 17855ac35..56c4e578c 100644 --- a/tests/manager/manager-ctor-server.phpt +++ b/tests/manager/manager-ctor-server.phpt @@ -4,7 +4,7 @@ MongoDB\Driver\Manager::__construct(): check if server is live 1]); diff --git a/tests/manager/manager-ctor-serverApi-001.phpt b/tests/manager/manager-ctor-serverApi-001.phpt new file mode 100644 index 000000000..3263d0c91 --- /dev/null +++ b/tests/manager/manager-ctor-serverApi-001.phpt @@ -0,0 +1,45 @@ +--TEST-- +MongoDB\Driver\Manager::__construct(): serverApi driver option +--SKIPIF-- + + +--FILE-- +getCommand(); + var_dump($command->apiVersion); + var_dump(isset($command->apiStrict)); + var_dump(isset($command->apiDeprecationErrors)); + } + + public function commandSucceeded(MongoDB\Driver\Monitoring\CommandSucceededEvent $event) + { + } + + public function commandFailed(MongoDB\Driver\Monitoring\CommandFailedEvent $event) + { + } +} + +$subscriber = new MySubscriber(); + +$manager = create_test_manager(URI, [], ['serverApi' => new MongoDB\Driver\ServerApi('1')]); + +MongoDB\Driver\Monitoring\addSubscriber($subscriber); + +$manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); + +?> +===DONE=== + +--EXPECT-- +string(1) "1" +bool(false) +bool(false) +===DONE=== diff --git a/tests/manager/manager-ctor-serverApi-error-001.phpt b/tests/manager/manager-ctor-serverApi-error-001.phpt new file mode 100644 index 000000000..064af01ce --- /dev/null +++ b/tests/manager/manager-ctor-serverApi-error-001.phpt @@ -0,0 +1,18 @@ +--TEST-- +MongoDB\Driver\Manager::__construct(): serverApi driver option (error) +--FILE-- + '1']); +}, MongoDB\Driver\Exception\InvalidArgumentException::class), "\n"; + +?> +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\InvalidArgumentException +Expected "serverApi" driver option to be MongoDB\Driver\ServerApi, string given +===DONE=== diff --git a/tests/manager/manager-ctor-ssl-002.phpt b/tests/manager/manager-ctor-ssl-002.phpt index a82233296..305b0dc72 100644 --- a/tests/manager/manager-ctor-ssl-002.phpt +++ b/tests/manager/manager-ctor-ssl-002.phpt @@ -7,7 +7,7 @@ PHPC-1239: Passing SSL driverOptions overrides SSL options from URI executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); ?> diff --git a/tests/manager/manager-ctor-ssl-003.phpt b/tests/manager/manager-ctor-ssl-003.phpt index e807200d7..3aef9c0dc 100644 --- a/tests/manager/manager-ctor-ssl-003.phpt +++ b/tests/manager/manager-ctor-ssl-003.phpt @@ -11,10 +11,10 @@ MongoDB\Driver\Manager::__construct(): Specifying a driver option implicitly ena require_once __DIR__ . "/../utils/basic.inc"; // Ensure that the server is up to ensure we're not hitting a different failure below -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $manager->executeCommand(DATABASE_NAME, new MongoDB\Driver\Command(['ping' => 1])); -$manager = new MongoDB\Driver\Manager(URI, [], ['ca_dir' => 'foo']); +$manager = create_test_manager(URI, [], ['ca_dir' => 'foo']); echo throws(function () use ($manager) { // Note that this command will not fail if the server was configured with allowSSL or preferSSL for net.ssl.mode. diff --git a/tests/manager/manager-ctor-ssl-deprecated-001.phpt b/tests/manager/manager-ctor-ssl-deprecated-001.phpt index 6bb95393f..9e07c72d4 100644 --- a/tests/manager/manager-ctor-ssl-deprecated-001.phpt +++ b/tests/manager/manager-ctor-ssl-deprecated-001.phpt @@ -27,7 +27,7 @@ $deprecatedDriverOptions = [ foreach ($deprecatedDriverOptions as $driverOptions) { echo raises( function () use ($driverOptions) { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/', [], $driverOptions); + create_test_manager('mongodb://127.0.0.1/', [], $driverOptions); }, E_DEPRECATED ), "\n"; diff --git a/tests/manager/manager-ctor-ssl-deprecated-002.phpt b/tests/manager/manager-ctor-ssl-deprecated-002.phpt index 1441e9fcf..8ed2aec26 100644 --- a/tests/manager/manager-ctor-ssl-deprecated-002.phpt +++ b/tests/manager/manager-ctor-ssl-deprecated-002.phpt @@ -9,14 +9,14 @@ require_once __DIR__ . "/../utils/basic.inc"; echo raises( function () { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/', [], ['capath' => 'foo']); + create_test_manager('mongodb://127.0.0.1/', [], ['capath' => 'foo']); }, E_DEPRECATED ), "\n"; echo raises( function () { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/', [], ['context' => stream_context_create(['ssl' => ['capath' => 'foo']])]); + create_test_manager('mongodb://127.0.0.1/', [], ['context' => stream_context_create(['ssl' => ['capath' => 'foo']])]); }, E_DEPRECATED ), "\n"; diff --git a/tests/manager/manager-ctor-tls-error-001.phpt b/tests/manager/manager-ctor-tls-error-001.phpt index 113a96f1c..2a752f906 100644 --- a/tests/manager/manager-ctor-tls-error-001.phpt +++ b/tests/manager/manager-ctor-tls-error-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\Manager::__construct(): Test invalid URI option combinations --FILE-- 1]); try { diff --git a/tests/manager/manager-ctor-write_concern-error-001.phpt b/tests/manager/manager-ctor-write_concern-error-001.phpt index 883f83e42..cd651ee5a 100644 --- a/tests/manager/manager-ctor-write_concern-error-001.phpt +++ b/tests/manager/manager-ctor-write_concern-error-001.phpt @@ -3,13 +3,13 @@ MongoDB\Driver\Manager::__construct(): invalid write concern (w) --FILE-- 1.0]); + create_test_manager(null, ['w' => 1.0]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; /* Note: Values of w < -1 are invalid, but libmongoc's URI string parsing only @@ -17,7 +17,7 @@ echo throws(function() { * test for this. */ echo throws(function() { - new MongoDB\Driver\Manager(null, ['w' => -2]); + create_test_manager(null, ['w' => -2]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-write_concern-error-002.phpt b/tests/manager/manager-ctor-write_concern-error-002.phpt index 5f6683378..115706196 100644 --- a/tests/manager/manager-ctor-write_concern-error-002.phpt +++ b/tests/manager/manager-ctor-write_concern-error-002.phpt @@ -5,13 +5,13 @@ MongoDB\Driver\Manager::__construct(): invalid write concern (w range) --FILE-- 2147483648]); + create_test_manager(null, ['w' => 2147483648]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-write_concern-error-003.phpt b/tests/manager/manager-ctor-write_concern-error-003.phpt index c6464557d..6a4d0e674 100644 --- a/tests/manager/manager-ctor-write_concern-error-003.phpt +++ b/tests/manager/manager-ctor-write_concern-error-003.phpt @@ -3,14 +3,14 @@ MongoDB\Driver\Manager::__construct(): invalid write concern (wtimeoutms) --FILE-- 'invalid']); + create_test_manager(null, ['wTimeoutMS' => 'invalid']); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; diff --git a/tests/manager/manager-ctor-write_concern-error-005.phpt b/tests/manager/manager-ctor-write_concern-error-005.phpt index 2077b374d..c8e55fb42 100644 --- a/tests/manager/manager-ctor-write_concern-error-005.phpt +++ b/tests/manager/manager-ctor-write_concern-error-005.phpt @@ -3,50 +3,50 @@ MongoDB\Driver\Manager::__construct(): invalid write concern (journal) --FILE-- 'invalid']); + create_test_manager(null, ['journal' => 'invalid']); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; // Invalid values (journal conflicts with unacknowledged write concerns) echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=-1&journal=true'); + create_test_manager('mongodb://127.0.0.1/?w=-1&journal=true'); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=0&journal=true'); + create_test_manager('mongodb://127.0.0.1/?w=0&journal=true'); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=-1', ['journal' => true]); + create_test_manager('mongodb://127.0.0.1/?w=-1', ['journal' => true]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=0', ['journal' => true]); + create_test_manager('mongodb://127.0.0.1/?w=0', ['journal' => true]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?journal=true', ['w' => -1]); + create_test_manager('mongodb://127.0.0.1/?journal=true', ['w' => -1]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager('mongodb://127.0.0.1/?journal=true', ['w' => 0]); + create_test_manager('mongodb://127.0.0.1/?journal=true', ['w' => 0]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager(null, ['w' => -1, 'journal' => true]); + create_test_manager(null, ['w' => -1, 'journal' => true]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; echo throws(function() { - new MongoDB\Driver\Manager(null, ['w' => 0, 'journal' => true]); + create_test_manager(null, ['w' => 0, 'journal' => true]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-write_concern-error-006.phpt b/tests/manager/manager-ctor-write_concern-error-006.phpt index 847693f40..8bbcbadae 100644 --- a/tests/manager/manager-ctor-write_concern-error-006.phpt +++ b/tests/manager/manager-ctor-write_concern-error-006.phpt @@ -3,16 +3,16 @@ MongoDB\Driver\Manager::__construct(): invalid write concern (safe) --FILE-- 'invalid']); + create_test_manager(null, ['safe' => 'invalid']); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor-write_concern-error-007.phpt b/tests/manager/manager-ctor-write_concern-error-007.phpt index 36483a751..ad7c39873 100644 --- a/tests/manager/manager-ctor-write_concern-error-007.phpt +++ b/tests/manager/manager-ctor-write_concern-error-007.phpt @@ -5,10 +5,10 @@ MongoDB\Driver\Manager::__construct(): invalid write concern (wtimeoutms range) --FILE-- -1]); + create_test_manager(null, ['wTimeoutMS' => -1]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; ?> diff --git a/tests/manager/manager-ctor_error-001.phpt b/tests/manager/manager-ctor_error-001.phpt index f6f87e228..ecc07f5a5 100644 --- a/tests/manager/manager-ctor_error-001.phpt +++ b/tests/manager/manager-ctor_error-001.phpt @@ -6,7 +6,7 @@ MongoDB\Driver\Manager::__construct(): too many arguments --FILE-- diff --git a/tests/manager/manager-ctor_error-003.phpt b/tests/manager/manager-ctor_error-003.phpt index d71e78d9f..a4fbfb797 100644 --- a/tests/manager/manager-ctor_error-003.phpt +++ b/tests/manager/manager-ctor_error-003.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\Manager::__construct(): invalid types in URI options arrays --FILE-- $value]); + create_test_manager(null, [$option => $value]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; } } @@ -63,7 +63,7 @@ $invalidStringValues = [ foreach ($stringOptions as $option) { foreach ($invalidStringValues as $value) { echo throws(function() use ($option, $value) { - new MongoDB\Driver\Manager(null, [$option => $value]); + create_test_manager(null, [$option => $value]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; } } @@ -81,7 +81,7 @@ $invalidDocumentValues = [ foreach ($invalidDocumentValues as $value) { echo throws(function() use ($value) { - new MongoDB\Driver\Manager(null, ['authMechanismProperties' => $value]); + create_test_manager(null, ['authMechanismProperties' => $value]); }, "MongoDB\Driver\Exception\InvalidArgumentException"), "\n"; } diff --git a/tests/manager/manager-ctor_error-004.phpt b/tests/manager/manager-ctor_error-004.phpt index f3ee7c7f0..a2f8c778c 100644 --- a/tests/manager/manager-ctor_error-004.phpt +++ b/tests/manager/manager-ctor_error-004.phpt @@ -5,12 +5,12 @@ MongoDB\Driver\Manager::__construct(): empty replicaSet argument require_once __DIR__ . "/../utils/basic.inc"; echo throws(function () { - $manager = new MongoDB\Driver\Manager('mongodb://localhost:27017/?replicaSet='); + $manager = create_test_manager('mongodb://localhost:27017/?replicaSet='); $manager->executeQuery(NS, new MongoDB\Driver\Query([])); }, MongoDB\Driver\Exception\InvalidArgumentException::class), "\n"; echo throws(function () { - $manager = new MongoDB\Driver\Manager('mongodb://localhost:27017', ['replicaSet' => '']); + $manager = create_test_manager('mongodb://localhost:27017', ['replicaSet' => '']); $manager->executeQuery(NS, new MongoDB\Driver\Query([])); }, MongoDB\Driver\Exception\InvalidArgumentException::class), "\n"; diff --git a/tests/manager/manager-ctor_error-005.phpt b/tests/manager/manager-ctor_error-005.phpt index fd17629fd..d720b146e 100644 --- a/tests/manager/manager-ctor_error-005.phpt +++ b/tests/manager/manager-ctor_error-005.phpt @@ -14,7 +14,7 @@ $tests = [ foreach ($tests as $driver) { echo throws(function () use ($driver) { - $manager = new MongoDB\Driver\Manager(null, [], ['driver' => $driver]); + $manager = create_test_manager(null, [], ['driver' => $driver]); }, MongoDB\Driver\Exception\InvalidArgumentException::class), "\n"; } diff --git a/tests/manager/manager-destruct-001.phpt b/tests/manager/manager-destruct-001.phpt index cc32a9aea..e4fd0a834 100644 --- a/tests/manager/manager-destruct-001.phpt +++ b/tests/manager/manager-destruct-001.phpt @@ -10,8 +10,8 @@ ignore_repeated_errors=1 insert(array('_id' => 1)); diff --git a/tests/manager/manager-executeBulkWrite-001.phpt b/tests/manager/manager-executeBulkWrite-001.phpt index 2077aecbe..f8ff73296 100644 --- a/tests/manager/manager-executeBulkWrite-001.phpt +++ b/tests/manager/manager-executeBulkWrite-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeBulkWrite() insert(array('_id' => 1, 'x' => 1)); diff --git a/tests/manager/manager-executeBulkWrite-002.phpt b/tests/manager/manager-executeBulkWrite-002.phpt index a866c1705..fe78f55c9 100644 --- a/tests/manager/manager-executeBulkWrite-002.phpt +++ b/tests/manager/manager-executeBulkWrite-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeBulkWrite() with upserted ids false]); $bulk->update(array('x' => 'foo'), array('$set' => array('y' => 'foo')), array('upsert' => true)); diff --git a/tests/manager/manager-executeBulkWrite-003.phpt b/tests/manager/manager-executeBulkWrite-003.phpt index 7d441ec0b..7ba99114b 100644 --- a/tests/manager/manager-executeBulkWrite-003.phpt +++ b/tests/manager/manager-executeBulkWrite-003.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeBulkWrite() delete one document insert(array('_id' => 1, 'x' => 1)); diff --git a/tests/manager/manager-executeBulkWrite-006.phpt b/tests/manager/manager-executeBulkWrite-006.phpt index 17a0bea66..2016b6651 100644 --- a/tests/manager/manager-executeBulkWrite-006.phpt +++ b/tests/manager/manager-executeBulkWrite-006.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeBulkWrite() insert one document (with embedded) require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/classes.inc"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $hannes = new Person("Hannes", 42); $sunnyvale = new Address(94086, "USA"); diff --git a/tests/manager/manager-executeBulkWrite-007.phpt b/tests/manager/manager-executeBulkWrite-007.phpt index 1e3c4c5c3..81bb6c553 100644 --- a/tests/manager/manager-executeBulkWrite-007.phpt +++ b/tests/manager/manager-executeBulkWrite-007.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeBulkWrite() update one document with no upsert update( diff --git a/tests/manager/manager-executeBulkWrite-010.phpt b/tests/manager/manager-executeBulkWrite-010.phpt index c68734be5..ab67992a2 100644 --- a/tests/manager/manager-executeBulkWrite-010.phpt +++ b/tests/manager/manager-executeBulkWrite-010.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeBulkWrite() update multiple documents with upsert update( diff --git a/tests/manager/manager-executeBulkWrite-011.phpt b/tests/manager/manager-executeBulkWrite-011.phpt index ca98f7e40..21858edd5 100644 --- a/tests/manager/manager-executeBulkWrite-011.phpt +++ b/tests/manager/manager-executeBulkWrite-011.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\BulkWrite: bypassDocumentValidation option COLLECTION_NAME, diff --git a/tests/manager/manager-executeBulkWrite-012.phpt b/tests/manager/manager-executeBulkWrite-012.phpt index ef6c7dd72..7ed70cf15 100644 --- a/tests/manager/manager-executeBulkWrite-012.phpt +++ b/tests/manager/manager-executeBulkWrite-012.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeBulkWrite() with legacy write concern (replica se executeCommand( diff --git a/tests/manager/manager-executeBulkWrite-014.phpt b/tests/manager/manager-executeBulkWrite-014.phpt index 62203ac7a..539ed0080 100644 --- a/tests/manager/manager-executeBulkWrite-014.phpt +++ b/tests/manager/manager-executeBulkWrite-014.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Manager::executeBulkWrite() write concern inheritance require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['w' => 2, 'wtimeoutms' => 1000]); +$manager = create_test_manager(URI, ['w' => 2, 'wtimeoutms' => 1000]); (new CommandObserver)->observe( function() use ($manager) { diff --git a/tests/manager/manager-executeBulkWrite_error-001.phpt b/tests/manager/manager-executeBulkWrite_error-001.phpt index 77a4f937c..a67b8b14e 100644 --- a/tests/manager/manager-executeBulkWrite_error-001.phpt +++ b/tests/manager/manager-executeBulkWrite_error-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeBulkWrite() with duplicate key errors (ordered) true]); $bulk->insert(array('_id' => 1)); diff --git a/tests/manager/manager-executeBulkWrite_error-002.phpt b/tests/manager/manager-executeBulkWrite_error-002.phpt index d7199a2a8..4cbf084da 100644 --- a/tests/manager/manager-executeBulkWrite_error-002.phpt +++ b/tests/manager/manager-executeBulkWrite_error-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeBulkWrite() with duplicate key errors (unordered) false]); $bulk->insert(array('_id' => 1)); diff --git a/tests/manager/manager-executeBulkWrite_error-003.phpt b/tests/manager/manager-executeBulkWrite_error-003.phpt index ebc49e647..dd92c2590 100644 --- a/tests/manager/manager-executeBulkWrite_error-003.phpt +++ b/tests/manager/manager-executeBulkWrite_error-003.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeBulkWrite() write concern error insert(array('_id' => 1, 'x' => 1)); diff --git a/tests/manager/manager-executeBulkWrite_error-004.phpt b/tests/manager/manager-executeBulkWrite_error-004.phpt index b4122b141..429e7bdd2 100644 --- a/tests/manager/manager-executeBulkWrite_error-004.phpt +++ b/tests/manager/manager-executeBulkWrite_error-004.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeBulkWrite() delete write error insert(array('_id' => 1, 'x' => 1)); diff --git a/tests/manager/manager-executeBulkWrite_error-005.phpt b/tests/manager/manager-executeBulkWrite_error-005.phpt index 2cb73efe7..d97002321 100644 --- a/tests/manager/manager-executeBulkWrite_error-005.phpt +++ b/tests/manager/manager-executeBulkWrite_error-005.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeBulkWrite() WriteResult accessible for network er selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/manager/manager-executeBulkWrite_error-006.phpt b/tests/manager/manager-executeBulkWrite_error-006.phpt index 6f8210142..7ae0ed40f 100644 --- a/tests/manager/manager-executeBulkWrite_error-006.phpt +++ b/tests/manager/manager-executeBulkWrite_error-006.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeBulkWrite() update write error insert(array('x' => 1)); diff --git a/tests/manager/manager-executeBulkWrite_error-007.phpt b/tests/manager/manager-executeBulkWrite_error-007.phpt index 8bb7b1962..320fdf787 100644 --- a/tests/manager/manager-executeBulkWrite_error-007.phpt +++ b/tests/manager/manager-executeBulkWrite_error-007.phpt @@ -5,7 +5,7 @@ MongoDB\Driver\Manager::executeBulkWrite() should not issue warning before excep require_once __DIR__ . "/../utils/basic.inc"; // Invalid host cannot be resolved -$manager = new MongoDB\Driver\Manager('mongodb://invalid.host:27017', ['serverSelectionTimeoutMS' => 1]); +$manager = create_test_manager('mongodb://invalid.host:27017', ['serverSelectionTimeoutMS' => 1]); echo throws(function() use ($manager) { $bulk = new MongoDB\Driver\BulkWrite; @@ -14,7 +14,7 @@ echo throws(function() use ($manager) { }, 'MongoDB\Driver\Exception\ConnectionTimeoutException'), "\n"; // Valid host refuses connection -$manager = new MongoDB\Driver\Manager('mongodb://localhost:54321', ['serverSelectionTimeoutMS' => 1]); +$manager = create_test_manager('mongodb://localhost:54321', ['serverSelectionTimeoutMS' => 1]); echo throws(function() use ($manager) { $bulk = new MongoDB\Driver\BulkWrite; diff --git a/tests/manager/manager-executeBulkWrite_error-008.phpt b/tests/manager/manager-executeBulkWrite_error-008.phpt index 5540c8c0d..f9e1f959c 100644 --- a/tests/manager/manager-executeBulkWrite_error-008.phpt +++ b/tests/manager/manager-executeBulkWrite_error-008.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeBulkWrite() with empty BulkWrite executeBulkWrite(NS, new MongoDB\Driver\BulkWrite); diff --git a/tests/manager/manager-executeBulkWrite_error-009.phpt b/tests/manager/manager-executeBulkWrite_error-009.phpt index c43242d84..6a9568a4a 100644 --- a/tests/manager/manager-executeBulkWrite_error-009.phpt +++ b/tests/manager/manager-executeBulkWrite_error-009.phpt @@ -7,7 +7,7 @@ MongoDB\Driver\Manager::executeBulkWrite() with invalid options insert(['x' => 1]); @@ -22,7 +22,7 @@ echo throws(function() { }, 'MongoDB\Driver\Exception\InvalidArgumentException'), "\n"; echo throws(function() { - $manager = new MongoDB\Driver\Manager(URI, ['w' => 0]); + $manager = create_test_manager(URI, ['w' => 0]); $bulk = new MongoDB\Driver\BulkWrite; $bulk->insert(['x' => 1]); diff --git a/tests/manager/manager-executeBulkWrite_error-011.phpt b/tests/manager/manager-executeBulkWrite_error-011.phpt index 8f1fd1b41..39709be5e 100644 --- a/tests/manager/manager-executeBulkWrite_error-011.phpt +++ b/tests/manager/manager-executeBulkWrite_error-011.phpt @@ -11,7 +11,7 @@ MongoDB\Driver\Manager::executeBulkWrite() BulkWriteException inherits labels fr selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/manager/manager-executeCommand-001.phpt b/tests/manager/manager-executeCommand-001.phpt index a2baa63bb..f5e54593a 100644 --- a/tests/manager/manager-executeCommand-001.phpt +++ b/tests/manager/manager-executeCommand-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeCommand() 1)); $result = $manager->executeCommand(DATABASE_NAME, $command); diff --git a/tests/manager/manager-executeCommand-002.phpt b/tests/manager/manager-executeCommand-002.phpt index 4cf8ac549..c8288fd55 100644 --- a/tests/manager/manager-executeCommand-002.phpt +++ b/tests/manager/manager-executeCommand-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeCommand() takes a read preference in options arra observe( function() use ($manager) { diff --git a/tests/manager/manager-executeCommand-005.phpt b/tests/manager/manager-executeCommand-005.phpt index d9f2e650d..20590b7b5 100644 --- a/tests/manager/manager-executeCommand-005.phpt +++ b/tests/manager/manager-executeCommand-005.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeCommand() pins transaction to server executeCommand( diff --git a/tests/manager/manager-executeCommand-006.phpt b/tests/manager/manager-executeCommand-006.phpt index 9d2809dde..f3859dcca 100644 --- a/tests/manager/manager-executeCommand-006.phpt +++ b/tests/manager/manager-executeCommand-006.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeCommand() does not inherit read preference 'secondary']); +$manager = create_test_manager(URI, ['readPreference' => 'secondary']); $command = new MongoDB\Driver\Command(['ping' => 1]); $cursor = $manager->executeCommand(DATABASE_NAME, $command); diff --git a/tests/manager/manager-executeCommand-007.phpt b/tests/manager/manager-executeCommand-007.phpt index 47e12b069..3ec8d7544 100644 --- a/tests/manager/manager-executeCommand-007.phpt +++ b/tests/manager/manager-executeCommand-007.phpt @@ -11,7 +11,7 @@ MongoDB\Driver\Manager::executeCommand() does not inherit read or write concern require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['readConcernLevel' => 'local', 'w' => 2, 'wtimeoutms' => 1000]); +$manager = create_test_manager(URI, ['readConcernLevel' => 'local', 'w' => 2, 'wtimeoutms' => 1000]); $command = new MongoDB\Driver\Command([ 'aggregate' => COLLECTION_NAME, diff --git a/tests/manager/manager-executeCommand_error-001.phpt b/tests/manager/manager-executeCommand_error-001.phpt index f309633c3..df953c85b 100644 --- a/tests/manager/manager-executeCommand_error-001.phpt +++ b/tests/manager/manager-executeCommand_error-001.phpt @@ -7,14 +7,14 @@ require_once __DIR__ . "/../utils/basic.inc"; $command = new MongoDB\Driver\Command(['ping' => 1]); // Invalid host cannot be resolved -$manager = new MongoDB\Driver\Manager('mongodb://invalid.host:27017', ['serverSelectionTimeoutMS' => 1]); +$manager = create_test_manager('mongodb://invalid.host:27017', ['serverSelectionTimeoutMS' => 1]); echo throws(function() use ($manager, $command) { $manager->executeCommand(DATABASE_NAME, $command); }, 'MongoDB\Driver\Exception\ConnectionTimeoutException'), "\n"; // Valid host refuses connection -$manager = new MongoDB\Driver\Manager('mongodb://localhost:54321', ['serverSelectionTimeoutMS' => 1]); +$manager = create_test_manager('mongodb://localhost:54321', ['serverSelectionTimeoutMS' => 1]); echo throws(function() use ($manager, $command) { $manager->executeCommand(DATABASE_NAME, $command); diff --git a/tests/manager/manager-executeCommand_error-002.phpt b/tests/manager/manager-executeCommand_error-002.phpt index 3f98ff95e..461b1afed 100644 --- a/tests/manager/manager-executeCommand_error-002.phpt +++ b/tests/manager/manager-executeCommand_error-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeCommand() with invalid options (MONGOC_CMD_RAW) 1]); diff --git a/tests/manager/manager-executeCommand_error-003.phpt b/tests/manager/manager-executeCommand_error-003.phpt index 9a769f0fd..2dace3d9c 100644 --- a/tests/manager/manager-executeCommand_error-003.phpt +++ b/tests/manager/manager-executeCommand_error-003.phpt @@ -2,9 +2,9 @@ MongoDB\Driver\Manager::executeCommand() connection error --FILE-- 1]); diff --git a/tests/manager/manager-executeCommand_error-004.phpt b/tests/manager/manager-executeCommand_error-004.phpt index 9c1065078..cb138f8ca 100644 --- a/tests/manager/manager-executeCommand_error-004.phpt +++ b/tests/manager/manager-executeCommand_error-004.phpt @@ -7,7 +7,7 @@ MongoDB\Driver\Manager::executeCommand() with empty command document COLLECTION_NAME, 'documents' => [['x' => 1]], diff --git a/tests/manager/manager-executeQuery-001.phpt b/tests/manager/manager-executeQuery-001.phpt index 3f49bba77..0f7ecfd35 100644 --- a/tests/manager/manager-executeQuery-001.phpt +++ b/tests/manager/manager-executeQuery-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeQuery() one document (OP_QUERY) insert(array('_id' => 1, array('x' => 2, 'y' => 3))); diff --git a/tests/manager/manager-executeQuery-006.phpt b/tests/manager/manager-executeQuery-006.phpt index 9059a945c..9999d6535 100644 --- a/tests/manager/manager-executeQuery-006.phpt +++ b/tests/manager/manager-executeQuery-006.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeQuery() pins transaction to server executeCommand( diff --git a/tests/manager/manager-executeQuery-007.phpt b/tests/manager/manager-executeQuery-007.phpt index ac930980e..cc5f51a43 100644 --- a/tests/manager/manager-executeQuery-007.phpt +++ b/tests/manager/manager-executeQuery-007.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Manager::executeQuery() read concern inheritance require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['readConcernLevel' => 'local']); +$manager = create_test_manager(URI, ['readConcernLevel' => 'local']); (new CommandObserver)->observe( function() use ($manager) { diff --git a/tests/manager/manager-executeQuery_error-001.phpt b/tests/manager/manager-executeQuery_error-001.phpt index 48f2abd6b..0575884f4 100644 --- a/tests/manager/manager-executeQuery_error-001.phpt +++ b/tests/manager/manager-executeQuery_error-001.phpt @@ -7,14 +7,14 @@ require_once __DIR__ . "/../utils/basic.inc"; $query = new MongoDB\Driver\Query([]); // Invalid host cannot be resolved -$manager = new MongoDB\Driver\Manager('mongodb://invalid.host:27017', ['serverSelectionTimeoutMS' => 1]); +$manager = create_test_manager('mongodb://invalid.host:27017', ['serverSelectionTimeoutMS' => 1]); echo throws(function() use ($manager, $query) { $manager->executeQuery(NS, $query); }, 'MongoDB\Driver\Exception\ConnectionTimeoutException'), "\n"; // Valid host refuses connection -$manager = new MongoDB\Driver\Manager('mongodb://localhost:54321', ['serverSelectionTimeoutMS' => 1]); +$manager = create_test_manager('mongodb://localhost:54321', ['serverSelectionTimeoutMS' => 1]); echo throws(function() use ($manager, $query) { $manager->executeQuery(NS, $query); diff --git a/tests/manager/manager-executeQuery_error-002.phpt b/tests/manager/manager-executeQuery_error-002.phpt index b1767a956..2d15a472f 100644 --- a/tests/manager/manager-executeQuery_error-002.phpt +++ b/tests/manager/manager-executeQuery_error-002.phpt @@ -4,7 +4,7 @@ MongoDB\Driver\Manager::executeQuery() with invalid options 3], ['projection' => ['y' => 1]]); diff --git a/tests/manager/manager-executeQuery_error-003.phpt b/tests/manager/manager-executeQuery_error-003.phpt index f15b5d784..db5ca63da 100644 --- a/tests/manager/manager-executeQuery_error-003.phpt +++ b/tests/manager/manager-executeQuery_error-003.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeQuery() exposes error document via CommandExcepti 1]); try { diff --git a/tests/manager/manager-executeReadCommand-001.phpt b/tests/manager/manager-executeReadCommand-001.phpt index f47103aae..16ece346f 100644 --- a/tests/manager/manager-executeReadCommand-001.phpt +++ b/tests/manager/manager-executeReadCommand-001.phpt @@ -13,7 +13,7 @@ MongoDB\Driver\Manager::executeReadCommand() require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); (new CommandObserver)->observe( function() use ($manager) { diff --git a/tests/manager/manager-executeReadCommand-002.phpt b/tests/manager/manager-executeReadCommand-002.phpt index beb3ea55f..16d684d42 100644 --- a/tests/manager/manager-executeReadCommand-002.phpt +++ b/tests/manager/manager-executeReadCommand-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeReadCommand() pins transaction to server executeCommand( diff --git a/tests/manager/manager-executeReadCommand-003.phpt b/tests/manager/manager-executeReadCommand-003.phpt index 53fdf3ec5..084ba1f60 100644 --- a/tests/manager/manager-executeReadCommand-003.phpt +++ b/tests/manager/manager-executeReadCommand-003.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Manager::executeReadCommand() read concern inheritance require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['readConcernLevel' => 'local']); +$manager = create_test_manager(URI, ['readConcernLevel' => 'local']); $command = new MongoDB\Driver\Command([ 'aggregate' => COLLECTION_NAME, diff --git a/tests/manager/manager-executeReadCommand_error-001.phpt b/tests/manager/manager-executeReadCommand_error-001.phpt index b3740bb80..088211064 100644 --- a/tests/manager/manager-executeReadCommand_error-001.phpt +++ b/tests/manager/manager-executeReadCommand_error-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeReadCommand() with invalid options 1]); diff --git a/tests/manager/manager-executeReadWriteCommand-001.phpt b/tests/manager/manager-executeReadWriteCommand-001.phpt index d08835d8c..9c0b1b2a7 100644 --- a/tests/manager/manager-executeReadWriteCommand-001.phpt +++ b/tests/manager/manager-executeReadWriteCommand-001.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Manager::executeReadWriteCommand() require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $command = new MongoDB\Driver\Command([ 'aggregate' => COLLECTION_NAME, diff --git a/tests/manager/manager-executeReadWriteCommand-002.phpt b/tests/manager/manager-executeReadWriteCommand-002.phpt index e79303004..4eead3bee 100644 --- a/tests/manager/manager-executeReadWriteCommand-002.phpt +++ b/tests/manager/manager-executeReadWriteCommand-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeReadWriteCommand() pins transaction to server executeCommand( diff --git a/tests/manager/manager-executeReadWriteCommand-003.phpt b/tests/manager/manager-executeReadWriteCommand-003.phpt index 056af14fc..17cfb5ce5 100644 --- a/tests/manager/manager-executeReadWriteCommand-003.phpt +++ b/tests/manager/manager-executeReadWriteCommand-003.phpt @@ -11,7 +11,7 @@ MongoDB\Driver\Manager::executeReadWriteCommand() read and write concern inherit require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['readConcernLevel' => 'local', 'w' => 2, 'wtimeoutms' => 1000]); +$manager = create_test_manager(URI, ['readConcernLevel' => 'local', 'w' => 2, 'wtimeoutms' => 1000]); $command = new MongoDB\Driver\Command([ 'aggregate' => COLLECTION_NAME, diff --git a/tests/manager/manager-executeReadWriteCommand_error-001.phpt b/tests/manager/manager-executeReadWriteCommand_error-001.phpt index 50401f36a..4793c2ceb 100644 --- a/tests/manager/manager-executeReadWriteCommand_error-001.phpt +++ b/tests/manager/manager-executeReadWriteCommand_error-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeReadWriteCommand() with invalid options 1]); diff --git a/tests/manager/manager-executeReadWriteCommand_error-002.phpt b/tests/manager/manager-executeReadWriteCommand_error-002.phpt index c75581564..d20caa851 100644 --- a/tests/manager/manager-executeReadWriteCommand_error-002.phpt +++ b/tests/manager/manager-executeReadWriteCommand_error-002.phpt @@ -12,7 +12,7 @@ require_once __DIR__ . "/../utils/basic.inc"; /* insert should not normally be used with executeReadWriteCommand(), but we are * only testing executeReadWriteCommand()'s option validation. */ echo throws(function() { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $command = new MongoDB\Driver\Command([ 'insert' => COLLECTION_NAME, @@ -26,7 +26,7 @@ echo throws(function() { }, 'MongoDB\Driver\Exception\InvalidArgumentException'), "\n"; echo throws(function() { - $manager = new MongoDB\Driver\Manager(URI, ['w' => 0]); + $manager = create_test_manager(URI, ['w' => 0]); $command = new MongoDB\Driver\Command([ 'insert' => COLLECTION_NAME, diff --git a/tests/manager/manager-executeWriteCommand-001.phpt b/tests/manager/manager-executeWriteCommand-001.phpt index 05057db76..af3f00bc0 100644 --- a/tests/manager/manager-executeWriteCommand-001.phpt +++ b/tests/manager/manager-executeWriteCommand-001.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Manager::executeWriteCommand() require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bw = new MongoDB\Driver\BulkWrite(); $bw->insert(['a' => 1]); diff --git a/tests/manager/manager-executeWriteCommand-002.phpt b/tests/manager/manager-executeWriteCommand-002.phpt index 23f824a8f..12dda25fe 100644 --- a/tests/manager/manager-executeWriteCommand-002.phpt +++ b/tests/manager/manager-executeWriteCommand-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeWriteCommand() pins transaction to server executeCommand( diff --git a/tests/manager/manager-executeWriteCommand-003.phpt b/tests/manager/manager-executeWriteCommand-003.phpt index 9a747c484..19b483c66 100644 --- a/tests/manager/manager-executeWriteCommand-003.phpt +++ b/tests/manager/manager-executeWriteCommand-003.phpt @@ -11,7 +11,7 @@ MongoDB\Driver\Manager::executeWriteCommand() write concern inheritance require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['w' => 2, 'wtimeoutms' => 1000]); +$manager = create_test_manager(URI, ['w' => 2, 'wtimeoutms' => 1000]); $command = new MongoDB\Driver\Command([ 'findAndModify' => COLLECTION_NAME, diff --git a/tests/manager/manager-executeWriteCommand_error-001.phpt b/tests/manager/manager-executeWriteCommand_error-001.phpt index 067ad18df..10939b688 100644 --- a/tests/manager/manager-executeWriteCommand_error-001.phpt +++ b/tests/manager/manager-executeWriteCommand_error-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeWriteCommand() with invalid options 1]); diff --git a/tests/manager/manager-executeWriteCommand_error-002.phpt b/tests/manager/manager-executeWriteCommand_error-002.phpt index 4183d7145..7dff00ab0 100644 --- a/tests/manager/manager-executeWriteCommand_error-002.phpt +++ b/tests/manager/manager-executeWriteCommand_error-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::executeWriteCommand() throws CommandException for invali COLLECTION_NAME, diff --git a/tests/manager/manager-executeWriteCommand_error-003.phpt b/tests/manager/manager-executeWriteCommand_error-003.phpt index 4149f3e9d..a215a8a9a 100644 --- a/tests/manager/manager-executeWriteCommand_error-003.phpt +++ b/tests/manager/manager-executeWriteCommand_error-003.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager::executeWriteCommand() throws CommandException for unsupp COLLECTION_NAME, diff --git a/tests/manager/manager-executeWriteCommand_error-004.phpt b/tests/manager/manager-executeWriteCommand_error-004.phpt index ef96e1866..a44497847 100644 --- a/tests/manager/manager-executeWriteCommand_error-004.phpt +++ b/tests/manager/manager-executeWriteCommand_error-004.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Manager::executeWriteCommand() cannot combine session with unackn require_once __DIR__ . "/../utils/basic.inc"; echo throws(function() { - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $command = new MongoDB\Driver\Command([ 'insert' => COLLECTION_NAME, @@ -24,7 +24,7 @@ echo throws(function() { }, 'MongoDB\Driver\Exception\InvalidArgumentException'), "\n"; echo throws(function() { - $manager = new MongoDB\Driver\Manager(URI, ['w' => 0]); + $manager = create_test_manager(URI, ['w' => 0]); $command = new MongoDB\Driver\Command([ 'insert' => COLLECTION_NAME, diff --git a/tests/manager/manager-getservers-001.phpt b/tests/manager/manager-getservers-001.phpt index 7fcf9f969..ec2156856 100644 --- a/tests/manager/manager-getservers-001.phpt +++ b/tests/manager/manager-getservers-001.phpt @@ -17,7 +17,7 @@ function assertServerType($type) { } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $servers = $manager->getServers(); printf("Known servers: %d\n", count($servers)); diff --git a/tests/manager/manager-getservers-002.phpt b/tests/manager/manager-getservers-002.phpt index 4c78fcac6..8be5f5a70 100644 --- a/tests/manager/manager-getservers-002.phpt +++ b/tests/manager/manager-getservers-002.phpt @@ -24,7 +24,7 @@ function assertServerType($type) { } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $servers = $manager->getServers(); printf("Known servers: %d\n", count($servers)); diff --git a/tests/manager/manager-invalidnamespace.phpt b/tests/manager/manager-invalidnamespace.phpt index dc7a55d78..8d1615fd1 100644 --- a/tests/manager/manager-invalidnamespace.phpt +++ b/tests/manager/manager-invalidnamespace.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Manager: Invalid namespace require_once __DIR__ . "/../utils/basic.inc"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite; $bulk->insert(array("my" => "value")); diff --git a/tests/manager/manager-selectserver-001.phpt b/tests/manager/manager-selectserver-001.phpt index 6db48779f..a563968f5 100644 --- a/tests/manager/manager-selectserver-001.phpt +++ b/tests/manager/manager-selectserver-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::selectServer() select a server from SDAM based on ReadPr require_once __DIR__ . "/../utils/basic.inc"; $rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY); -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $server = $manager->selectServer($rp); $rp2 = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY); $server2 = $manager->selectServer($rp2); diff --git a/tests/manager/manager-selectserver_error-001.phpt b/tests/manager/manager-selectserver_error-001.phpt index ffe74c774..dec662333 100644 --- a/tests/manager/manager-selectserver_error-001.phpt +++ b/tests/manager/manager-selectserver_error-001.phpt @@ -7,14 +7,14 @@ require_once __DIR__ . "/../utils/basic.inc"; $rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY); // Invalid host cannot be resolved -$manager = new MongoDB\Driver\Manager('mongodb://invalid.host:27017', ['serverSelectionTimeoutMS' => 1]); +$manager = create_test_manager('mongodb://invalid.host:27017', ['serverSelectionTimeoutMS' => 1]); echo throws(function() use ($manager, $rp) { $manager->selectServer($rp); }, 'MongoDB\Driver\Exception\ConnectionTimeoutException'), "\n"; // Valid host refuses connection -$manager = new MongoDB\Driver\Manager('mongodb://localhost:54321', ['serverSelectionTimeoutMS' => 1]); +$manager = create_test_manager('mongodb://localhost:54321', ['serverSelectionTimeoutMS' => 1]); echo throws(function() use ($manager, $rp) { $manager->selectServer($rp); diff --git a/tests/manager/manager-set-uri-options-001.phpt b/tests/manager/manager-set-uri-options-001.phpt index d835f8f6d..2367f8e42 100644 --- a/tests/manager/manager-set-uri-options-001.phpt +++ b/tests/manager/manager-set-uri-options-001.phpt @@ -17,7 +17,7 @@ $options = array( "username" => $url["user"], "password" => $url["pass"], ) + $args; -$manager = new MongoDB\Driver\Manager($dsn, $options); +$manager = create_test_manager($dsn, $options); $bulk = new MongoDB\Driver\BulkWrite; @@ -29,7 +29,7 @@ printf("Inserted: %d\n", $inserted); $options["username"] = "not-found-user"; -$manager = new MongoDB\Driver\Manager($dsn, $options); +$manager = create_test_manager($dsn, $options); $bulk = new MongoDB\Driver\BulkWrite; $bulk->insert(array("my" => "value")); diff --git a/tests/manager/manager-set-uri-options-002.phpt b/tests/manager/manager-set-uri-options-002.phpt index f886857e1..c9980cbd8 100644 --- a/tests/manager/manager-set-uri-options-002.phpt +++ b/tests/manager/manager-set-uri-options-002.phpt @@ -22,7 +22,7 @@ $options = array( "serverselectiontimeoutms" => 100, ); /* The server requires SSL */ -$manager = new MongoDB\Driver\Manager(URI, $options, array("context" => $context)); +$manager = create_test_manager(URI, $options, array("context" => $context)); $bulk = new MongoDB\Driver\BulkWrite; $bulk->insert(array("my" => "value")); @@ -36,7 +36,7 @@ echo throws(function() use ($manager, $bulk) { $options = array( "ssl" => true, ); -$manager = new MongoDB\Driver\Manager(URI, $options, array("context" => $context)); +$manager = create_test_manager(URI, $options, array("context" => $context)); $bulk = new MongoDB\Driver\BulkWrite; $bulk->insert(array("my" => "value")); diff --git a/tests/manager/manager-set-uri-options-003.phpt b/tests/manager/manager-set-uri-options-003.phpt index c5a2b5757..dadbc4a81 100644 --- a/tests/manager/manager-set-uri-options-003.phpt +++ b/tests/manager/manager-set-uri-options-003.phpt @@ -12,7 +12,7 @@ $options = array( "pem_pwd" => "does-not-matter", ); -$manager = new MongoDB\Driver\Manager(URI . '&sslclientcertificatekeypassword=does-also-not-matter', [], $options); +$manager = create_test_manager(URI . '&sslclientcertificatekeypassword=does-also-not-matter', [], $options); ?> ===DONE=== diff --git a/tests/manager/manager-var-dump-001.phpt b/tests/manager/manager-var-dump-001.phpt index 257c39373..583f1996b 100644 --- a/tests/manager/manager-var-dump-001.phpt +++ b/tests/manager/manager-var-dump-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager debug output __wakeup(); diff --git a/tests/ocsp-failure.phpt b/tests/ocsp-failure.phpt index 853d51b9b..fe364cb75 100644 --- a/tests/ocsp-failure.phpt +++ b/tests/ocsp-failure.phpt @@ -11,17 +11,17 @@ require_once __DIR__ . "/utils/basic.inc"; $ping = new \MongoDB\Driver\Command(['ping' => 1]); // Expect command to fail with the provided options -$m = new \MongoDB\Driver\Manager(URI); +$m = create_test_manager(); echo throws (function () use ($m, $ping) { $m->executeCommand('admin', $ping); }, "MongoDB\Driver\Exception\ConnectionTimeoutException"), "\n"; // Always expect command to pass when using insecure option -$m = new \MongoDB\Driver\Manager(URI, ['tlsInsecure' => true]); +$m = create_test_manager(URI, ['tlsInsecure' => true]); $m->executeCommand('admin', $ping); // Always expect command to pass when allowing invalid certificates -$m = new \MongoDB\Driver\Manager(URI, ['tlsAllowInvalidCertificates' => true]); +$m = create_test_manager(URI, ['tlsAllowInvalidCertificates' => true]); $m->executeCommand('admin', $ping); ?> diff --git a/tests/ocsp-success.phpt b/tests/ocsp-success.phpt index d70fa69e2..daf2991c1 100644 --- a/tests/ocsp-success.phpt +++ b/tests/ocsp-success.phpt @@ -11,15 +11,15 @@ require_once __DIR__ . "/utils/basic.inc"; $ping = new \MongoDB\Driver\Command(['ping' => 1]); // Expect command to pass with the provided options -$m = new \MongoDB\Driver\Manager(URI); +$m = create_test_manager(); $m->executeCommand('admin', $ping); // Always expect command to pass when using insecure option -$m = new \MongoDB\Driver\Manager(URI, ['tlsInsecure' => true]); +$m = create_test_manager(URI, ['tlsInsecure' => true]); $m->executeCommand('admin', $ping); // Always expect command to pass when allowing invalid certificates -$m = new \MongoDB\Driver\Manager(URI, ['tlsAllowInvalidCertificates' => true]); +$m = create_test_manager(URI, ['tlsAllowInvalidCertificates' => true]); $m->executeCommand('admin', $ping); ?> diff --git a/tests/query/bug0705-001.phpt b/tests/query/bug0705-001.phpt index 3c873b1e1..8d53dffc8 100644 --- a/tests/query/bug0705-001.phpt +++ b/tests/query/bug0705-001.phpt @@ -10,7 +10,7 @@ PHPC-705: Do not unnecessarily wrap filters in $query (profiled query) 2]); $cursor = $manager->executeCommand(DATABASE_NAME, $command); diff --git a/tests/query/bug0705-002.phpt b/tests/query/bug0705-002.phpt index 4780a8c48..46640f576 100644 --- a/tests/query/bug0705-002.phpt +++ b/tests/query/bug0705-002.phpt @@ -10,7 +10,7 @@ PHPC-705: Do not unnecessarily wrap filters in $query (currentOp query) executeQuery('admin.$cmd.sys.inprog', new MongoDB\Driver\Query([])); var_dump($cursor->toArray()); diff --git a/tests/query/query-ctor-001.phpt b/tests/query/query-ctor-001.phpt index fdeb6ce85..8323ad437 100644 --- a/tests/query/query-ctor-001.phpt +++ b/tests/query/query-ctor-001.phpt @@ -34,7 +34,7 @@ class MyClass implements MongoDB\BSON\Persistable } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $document = new MyClass('foo', new MyClass('bar', new MyClass('baz'))); diff --git a/tests/query/query-ctor_error-002.phpt b/tests/query/query-ctor_error-002.phpt index f1ee3e0e5..2a18d50e5 100644 --- a/tests/query/query-ctor_error-002.phpt +++ b/tests/query/query-ctor_error-002.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\Query construction (invalid option types) --FILE-- 0], diff --git a/tests/query/query-ctor_error-003.phpt b/tests/query/query-ctor_error-003.phpt index 3ed7bdfdc..7616f8058 100644 --- a/tests/query/query-ctor_error-003.phpt +++ b/tests/query/query-ctor_error-003.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\Query construction (negative limit conflicts with false singleBat --FILE-- -1, 'singleBatch' => false]); diff --git a/tests/query/query-ctor_error-004.phpt b/tests/query/query-ctor_error-004.phpt index 9f736204d..9c2936c3d 100644 --- a/tests/query/query-ctor_error-004.phpt +++ b/tests/query/query-ctor_error-004.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\Query construction (cannot use empty keys in documents) --FILE-- '1'], []], diff --git a/tests/query/query-ctor_error-005.phpt b/tests/query/query-ctor_error-005.phpt index 9351fcaca..682a0016b 100644 --- a/tests/query/query-ctor_error-005.phpt +++ b/tests/query/query-ctor_error-005.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\Query construction (invalid maxAwaitTimeMS range) --FILE-- -1]); diff --git a/tests/query/query-ctor_error-006.phpt b/tests/query/query-ctor_error-006.phpt index 01d34fb59..dc5cb756c 100644 --- a/tests/query/query-ctor_error-006.phpt +++ b/tests/query/query-ctor_error-006.phpt @@ -5,7 +5,7 @@ MongoDB\Driver\Query construction (invalid maxAwaitTimeMS range) --FILE-- 4294967296]); diff --git a/tests/readConcern/readconcern-bsonserialize-001.phpt b/tests/readConcern/readconcern-bsonserialize-001.phpt index fb0ef27a3..139a4c63c 100644 --- a/tests/readConcern/readconcern-bsonserialize-001.phpt +++ b/tests/readConcern/readconcern-bsonserialize-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\ReadConcern::bsonSerialize() --FILE-- 0]); diff --git a/tests/readConcern/readconcern-var_export-001.phpt b/tests/readConcern/readconcern-var_export-001.phpt index 4ab9b68a7..8ace63fe1 100644 --- a/tests/readConcern/readconcern-var_export-001.phpt +++ b/tests/readConcern/readconcern-var_export-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\ReadConcern: var_export() --FILE-- insert(array('my' => 'document')); diff --git a/tests/readPreference/bug0146-002.phpt b/tests/readPreference/bug0146-002.phpt index 36bfb17e1..2edfbce8e 100644 --- a/tests/readPreference/bug0146-002.phpt +++ b/tests/readPreference/bug0146-002.phpt @@ -10,7 +10,7 @@ PHPC-146: ReadPreference primaryPreferred and secondary swapped (find command) insert(array('my' => 'document')); diff --git a/tests/readPreference/bug1698-001.phpt b/tests/readPreference/bug1698-001.phpt index 46e5da309..ef802e218 100644 --- a/tests/readPreference/bug1698-001.phpt +++ b/tests/readPreference/bug1698-001.phpt @@ -3,7 +3,7 @@ PHPC-1698: php_phongo_read_preference_prep_tagsets may leak in convert_to_object --FILE-- 'secondary', 'tags' => [['dc' => 'ny']]]; var_dump(MongoDB\Driver\ReadPreference::__set_state($args)); @@ -14,7 +14,7 @@ var_dump(new MongoDB\Driver\ReadPreference('secondary', $tagSets)); var_dump($tagSets); $uriTagSets = [['dc' => 'ny']]; -var_dump((new MongoDB\Driver\Manager(null, ['readPreference' => 'secondary', 'readPreferenceTags' => $uriTagSets]))->getReadPreference()); +var_dump((create_test_manager(null, ['readPreference' => 'secondary', 'readPreferenceTags' => $uriTagSets]))->getReadPreference()); var_dump($uriTagSets); ?> diff --git a/tests/readPreference/readpreference-bsonserialize-001.phpt b/tests/readPreference/readpreference-bsonserialize-001.phpt index d3b134245..670325ddc 100644 --- a/tests/readPreference/readpreference-bsonserialize-001.phpt +++ b/tests/readPreference/readpreference-bsonserialize-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\ReadPreference::bsonSerialize() --FILE-- 'one']]); diff --git a/tests/readPreference/readpreference-ctor_error-003.phpt b/tests/readPreference/readpreference-ctor_error-003.phpt index f699da7ed..934d5d3c4 100644 --- a/tests/readPreference/readpreference-ctor_error-003.phpt +++ b/tests/readPreference/readpreference-ctor_error-003.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\ReadPreference construction (invalid maxStalenessSeconds) --FILE-- 1000]); diff --git a/tests/readPreference/readpreference-ctor_error-004.phpt b/tests/readPreference/readpreference-ctor_error-004.phpt index a5e2d3435..5c8a4372f 100644 --- a/tests/readPreference/readpreference-ctor_error-004.phpt +++ b/tests/readPreference/readpreference-ctor_error-004.phpt @@ -5,7 +5,7 @@ MongoDB\Driver\ReadPreference construction (invalid maxStalenessSeconds range) --FILE-- 2147483648]); diff --git a/tests/readPreference/readpreference-ctor_error-005.phpt b/tests/readPreference/readpreference-ctor_error-005.phpt index 0270e26f6..a442dd749 100644 --- a/tests/readPreference/readpreference-ctor_error-005.phpt +++ b/tests/readPreference/readpreference-ctor_error-005.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\ReadPreference construction (invalid string mode) --FILE-- ['enabled' => true]]); diff --git a/tests/readPreference/readpreference-debug-001.phpt b/tests/readPreference/readpreference-debug-001.phpt index 001869627..18c0d4f25 100644 --- a/tests/readPreference/readpreference-debug-001.phpt +++ b/tests/readPreference/readpreference-debug-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\ReadPreference debug output --FILE-- 'primary' ], diff --git a/tests/readPreference/readpreference-set_state_error-001.phpt b/tests/readPreference/readpreference-set_state_error-001.phpt index c927ee243..09d898197 100644 --- a/tests/readPreference/readpreference-set_state_error-001.phpt +++ b/tests/readPreference/readpreference-set_state_error-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\ReadPreference::__set_state() requires correct data types and val --FILE-- 'furthest']); diff --git a/tests/readPreference/readpreference-set_state_error-002.phpt b/tests/readPreference/readpreference-set_state_error-002.phpt index 6beca7fc4..8423978ff 100644 --- a/tests/readPreference/readpreference-set_state_error-002.phpt +++ b/tests/readPreference/readpreference-set_state_error-002.phpt @@ -5,7 +5,7 @@ MongoDB\Driver\ReadPreference::__set_state() requires correct data types and val --FILE-- 'secondary', 'maxStalenessSeconds' => 2147483648]); diff --git a/tests/readPreference/readpreference-var_export-001.phpt b/tests/readPreference/readpreference-var_export-001.phpt index 1fe0a7b4f..c52d32ce9 100644 --- a/tests/readPreference/readpreference-var_export-001.phpt +++ b/tests/readPreference/readpreference-var_export-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\ReadPreference: var_export() --FILE-- getInfo() can be scalar 'local']); +$manager = create_test_manager(URI, ['readConcernLevel' => 'local']); $bulk = new MongoDB\Driver\BulkWrite(); $bulk->insert(['_id' => 1]); diff --git a/tests/replicaset/bug0898-002.phpt b/tests/replicaset/bug0898-002.phpt index 7a8387545..beabf892d 100644 --- a/tests/replicaset/bug0898-002.phpt +++ b/tests/replicaset/bug0898-002.phpt @@ -9,7 +9,7 @@ PHPC-898: readConcern option should not be included in getMore commands (query o insert(['_id' => 1]); diff --git a/tests/replicaset/manager-getservers-001.phpt b/tests/replicaset/manager-getservers-001.phpt index 5ef65c780..adec0d7aa 100644 --- a/tests/replicaset/manager-getservers-001.phpt +++ b/tests/replicaset/manager-getservers-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Manager::getServers() "document"); diff --git a/tests/replicaset/manager-selectserver-001.phpt b/tests/replicaset/manager-selectserver-001.phpt index a6f393425..d88b46cd6 100644 --- a/tests/replicaset/manager-selectserver-001.phpt +++ b/tests/replicaset/manager-selectserver-001.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Manager::selectServer() select a server from SDAM based on ReadPr require_once __DIR__ . "/../utils/basic.inc"; // Disable retryWrites since the test writes to the unreplicated "local" database -$manager = new MongoDB\Driver\Manager(URI, ['retryWrites' => false]); +$manager = create_test_manager(URI, ['retryWrites' => false]); $rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY); $server = $manager->selectServer($rp); diff --git a/tests/replicaset/readconcern-001.phpt b/tests/replicaset/readconcern-001.phpt index cfe2804cc..c56059ad8 100644 --- a/tests/replicaset/readconcern-001.phpt +++ b/tests/replicaset/readconcern-001.phpt @@ -9,7 +9,7 @@ ReadConcern: MongoDB\Driver\Manager::executeQuery() with readConcern option (fin insert(['_id' => 1, 'x' => 1]); diff --git a/tests/replicaset/server-001.phpt b/tests/replicaset/server-001.phpt index 6bf58cba5..47516aedf 100644 --- a/tests/replicaset/server-001.phpt +++ b/tests/replicaset/server-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server: Manager->getServer() returning correct server "document"); diff --git a/tests/replicaset/server-002.phpt b/tests/replicaset/server-002.phpt index 9a9324fec..986c382be 100644 --- a/tests/replicaset/server-002.phpt +++ b/tests/replicaset/server-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server: Manager->getServer() returning correct server getServer() returning correct server "document"); diff --git a/tests/replicaset/writeresult-getserver-002.phpt b/tests/replicaset/writeresult-getserver-002.phpt index 3ca8be313..b3d4cef8d 100644 --- a/tests/replicaset/writeresult-getserver-002.phpt +++ b/tests/replicaset/writeresult-getserver-002.phpt @@ -11,7 +11,7 @@ MongoDB\Driver\Server: Manager->getServer() returning correct server require_once __DIR__ . "/../utils/basic.inc"; // Disable retryWrites since the test writes to the unreplicated "local" database -$manager = new MongoDB\Driver\Manager(URI, ['retryWrites' => false]); +$manager = create_test_manager(URI, ['retryWrites' => false]); $doc = array("example" => "document"); diff --git a/tests/retryable-reads/retryable-reads-001.phpt b/tests/retryable-reads/retryable-reads-001.phpt index 5e3a2197f..0f3e749cf 100644 --- a/tests/retryable-reads/retryable-reads-001.phpt +++ b/tests/retryable-reads/retryable-reads-001.phpt @@ -25,7 +25,7 @@ class Observer implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI, ['retryReads' => true]); +$manager = create_test_manager(URI, ['retryReads' => true]); // Select a specific server for future operations to avoid mongos switching in sharded clusters $server = $manager->selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/retryable-reads/retryable-reads-002.phpt b/tests/retryable-reads/retryable-reads-002.phpt index 2923c212a..fcc21ee9e 100644 --- a/tests/retryable-reads/retryable-reads-002.phpt +++ b/tests/retryable-reads/retryable-reads-002.phpt @@ -25,7 +25,7 @@ class Observer implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI, ['retryReads' => true]); +$manager = create_test_manager(URI, ['retryReads' => true]); // Select a specific server for future operations to avoid mongos switching in sharded clusters $server = $manager->selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/retryable-reads/retryable-reads_error-001.phpt b/tests/retryable-reads/retryable-reads_error-001.phpt index 058918c10..7038ab1e2 100644 --- a/tests/retryable-reads/retryable-reads_error-001.phpt +++ b/tests/retryable-reads/retryable-reads_error-001.phpt @@ -24,7 +24,7 @@ class Observer implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI, ['retryReads' => false]); +$manager = create_test_manager(URI, ['retryReads' => false]); // Select a specific server for future operations to avoid mongos switching in sharded clusters $server = $manager->selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/retryable-reads/retryable-reads_error-002.phpt b/tests/retryable-reads/retryable-reads_error-002.phpt index eb24b5fee..84a9e6bd2 100644 --- a/tests/retryable-reads/retryable-reads_error-002.phpt +++ b/tests/retryable-reads/retryable-reads_error-002.phpt @@ -24,7 +24,7 @@ class Observer implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI, ['retryReads' => false]); +$manager = create_test_manager(URI, ['retryReads' => false]); // Select a specific server for future operations to avoid mongos switching in sharded clusters $server = $manager->selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/retryable-writes/retryable-writes-001.phpt b/tests/retryable-writes/retryable-writes-001.phpt index e678252ed..cfab26492 100644 --- a/tests/retryable-writes/retryable-writes-001.phpt +++ b/tests/retryable-writes/retryable-writes-001.phpt @@ -32,7 +32,7 @@ class TransactionIdObserver implements MongoDB\Driver\Monitoring\CommandSubscrib $observer = new TransactionIdObserver; MongoDB\Driver\Monitoring\addSubscriber($observer); -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); echo "Testing deleteOne\n"; $bulk = new MongoDB\Driver\BulkWrite; diff --git a/tests/retryable-writes/retryable-writes-002.phpt b/tests/retryable-writes/retryable-writes-002.phpt index 47ffda9a7..1b9bc5494 100644 --- a/tests/retryable-writes/retryable-writes-002.phpt +++ b/tests/retryable-writes/retryable-writes-002.phpt @@ -32,7 +32,7 @@ class TransactionIdObserver implements MongoDB\Driver\Monitoring\CommandSubscrib $observer = new TransactionIdObserver; MongoDB\Driver\Monitoring\addSubscriber($observer); -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); echo "Testing multi-statement bulk write (ordered=true)\n"; $bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]); diff --git a/tests/retryable-writes/retryable-writes-003.phpt b/tests/retryable-writes/retryable-writes-003.phpt index 98d335389..fb4492933 100644 --- a/tests/retryable-writes/retryable-writes-003.phpt +++ b/tests/retryable-writes/retryable-writes-003.phpt @@ -32,7 +32,7 @@ class TransactionIdObserver implements MongoDB\Driver\Monitoring\CommandSubscrib $observer = new TransactionIdObserver; MongoDB\Driver\Monitoring\addSubscriber($observer); -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); echo "Testing deleteMany\n"; $bulk = new MongoDB\Driver\BulkWrite; diff --git a/tests/retryable-writes/retryable-writes-004.phpt b/tests/retryable-writes/retryable-writes-004.phpt index 5ae887545..4b0e91723 100644 --- a/tests/retryable-writes/retryable-writes-004.phpt +++ b/tests/retryable-writes/retryable-writes-004.phpt @@ -32,7 +32,7 @@ class TransactionIdObserver implements MongoDB\Driver\Monitoring\CommandSubscrib $observer = new TransactionIdObserver; MongoDB\Driver\Monitoring\addSubscriber($observer); -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $writeConcern = new MongoDB\Driver\WriteConcern(0); echo "Testing unacknowledged deleteOne\n"; diff --git a/tests/retryable-writes/retryable-writes-005.phpt b/tests/retryable-writes/retryable-writes-005.phpt index 98ae9a3c9..7719a7275 100644 --- a/tests/retryable-writes/retryable-writes-005.phpt +++ b/tests/retryable-writes/retryable-writes-005.phpt @@ -32,7 +32,7 @@ class TransactionIdObserver implements MongoDB\Driver\Monitoring\CommandSubscrib $observer = new TransactionIdObserver; MongoDB\Driver\Monitoring\addSubscriber($observer); -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $command = new MongoDB\Driver\Command([ 'findAndModify' => COLLECTION_NAME, 'query' => ['x' => 1], diff --git a/tests/retryable-writes/retryable-writes_error-001.phpt b/tests/retryable-writes/retryable-writes_error-001.phpt index 3241a47e6..155aa3e25 100644 --- a/tests/retryable-writes/retryable-writes_error-001.phpt +++ b/tests/retryable-writes/retryable-writes_error-001.phpt @@ -11,7 +11,7 @@ Retryable writes: actionable error message when using retryable writes on unsupp startSession(); echo throws( diff --git a/tests/server/bug0671-002.phpt b/tests/server/bug0671-002.phpt index 9dc65159a..6498c4415 100644 --- a/tests/server/bug0671-002.phpt +++ b/tests/server/bug0671-002.phpt @@ -8,7 +8,7 @@ PHPC-671: Segfault if Manager is already freed when using selected Server selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); unset($manager); diff --git a/tests/server/server-construct-001.phpt b/tests/server/server-construct-001.phpt index b713a6a85..32d9e2088 100644 --- a/tests/server/server-construct-001.phpt +++ b/tests/server/server-construct-001.phpt @@ -13,7 +13,7 @@ require_once __DIR__ . "/../utils/basic.inc"; $uri = is_replica_set(URI) ? get_primary_server(URI)->getInfo()['me'] : URI; $parsed = parse_url($uri); -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new \MongoDB\Driver\BulkWrite(); $bulk->insert(array('foo' => 'bar')); diff --git a/tests/server/server-debug.phpt b/tests/server/server-debug.phpt index 9b5d79519..d1700c021 100644 --- a/tests/server/server-debug.phpt +++ b/tests/server/server-debug.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server debug output executeQuery(NS, new MongoDB\Driver\Query(array()))->getServer(); var_dump($server); diff --git a/tests/server/server-errors.phpt b/tests/server/server-errors.phpt index 19f6f2611..7cab1cf75 100644 --- a/tests/server/server-errors.phpt +++ b/tests/server/server-errors.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server argument count errors executeQuery(NS, new MongoDB\Driver\Query(array()))->getServer(); $methods = [ diff --git a/tests/server/server-executeBulkWrite-001.phpt b/tests/server/server-executeBulkWrite-001.phpt index dfae59ecc..3d0a58035 100644 --- a/tests/server/server-executeBulkWrite-001.phpt +++ b/tests/server/server-executeBulkWrite-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::executeBulkWrite() executeQuery(NS, new MongoDB\Driver\Query(array()))->getServer(); $bulk = new MongoDB\Driver\BulkWrite(); diff --git a/tests/server/server-executeBulkWrite-002.phpt b/tests/server/server-executeBulkWrite-002.phpt index 009304e34..ea731ce17 100644 --- a/tests/server/server-executeBulkWrite-002.phpt +++ b/tests/server/server-executeBulkWrite-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::executeBulkWrite() with write concern (standalone) selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); $writeConcerns = array(0, 1); diff --git a/tests/server/server-executeBulkWrite-003.phpt b/tests/server/server-executeBulkWrite-003.phpt index ec62694ba..3a4319791 100644 --- a/tests/server/server-executeBulkWrite-003.phpt +++ b/tests/server/server-executeBulkWrite-003.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeBulkWrite() with legacy write concern (replica set selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); $writeConcerns = array(0, 1, 2, MongoDB\Driver\WriteConcern::MAJORITY); diff --git a/tests/server/server-executeBulkWrite-004.phpt b/tests/server/server-executeBulkWrite-004.phpt index 4347d45e7..e241e4c79 100644 --- a/tests/server/server-executeBulkWrite-004.phpt +++ b/tests/server/server-executeBulkWrite-004.phpt @@ -11,7 +11,7 @@ require_once __DIR__ . "/../utils/basic.inc"; /* Disable retryWrites since the test expects to receive a "not master" error, * which retryable writes would otherwise use to retry against the primary. */ -$manager = new MongoDB\Driver\Manager(URI, ['retryWrites' => false]); +$manager = create_test_manager(URI, ['retryWrites' => false]); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY)); $writeConcerns = array(1, 2, MongoDB\Driver\WriteConcern::MAJORITY); diff --git a/tests/server/server-executeBulkWrite-005.phpt b/tests/server/server-executeBulkWrite-005.phpt index 176601f99..00901c3aa 100644 --- a/tests/server/server-executeBulkWrite-005.phpt +++ b/tests/server/server-executeBulkWrite-005.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Server::executeBulkWrite() with write concern (replica set second require_once __DIR__ . "/../utils/basic.inc"; // Disable retryWrites since the test writes to the unreplicated "local" database -$manager = new MongoDB\Driver\Manager(URI, ['retryWrites' => false]); +$manager = create_test_manager(URI, ['retryWrites' => false]); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY)); /* The server ignores write concerns with w>2 for writes to the local database, diff --git a/tests/server/server-executeBulkWrite-006.phpt b/tests/server/server-executeBulkWrite-006.phpt index b22c1b16a..c818646f9 100644 --- a/tests/server/server-executeBulkWrite-006.phpt +++ b/tests/server/server-executeBulkWrite-006.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeBulkWrite() with legacy write concern (replica set selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); $writeConcerns = [0, 1, 2, MongoDB\Driver\WriteConcern::MAJORITY]; diff --git a/tests/server/server-executeBulkWrite-007.phpt b/tests/server/server-executeBulkWrite-007.phpt index aa0dffc77..ccddc850e 100644 --- a/tests/server/server-executeBulkWrite-007.phpt +++ b/tests/server/server-executeBulkWrite-007.phpt @@ -11,7 +11,7 @@ require_once __DIR__ . "/../utils/basic.inc"; /* Disable retryWrites since the test expects to receive a "not master" error, * which retryable writes would otherwise use to retry against the primary. */ -$manager = new MongoDB\Driver\Manager(URI, ['retryWrites' => false]); +$manager = create_test_manager(URI, ['retryWrites' => false]); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY)); $writeConcerns = [1, 2, MongoDB\Driver\WriteConcern::MAJORITY]; diff --git a/tests/server/server-executeBulkWrite-008.phpt b/tests/server/server-executeBulkWrite-008.phpt index 40359d3b1..e26eadbc0 100644 --- a/tests/server/server-executeBulkWrite-008.phpt +++ b/tests/server/server-executeBulkWrite-008.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeBulkWrite() pins transaction to server executeCommand( diff --git a/tests/server/server-executeBulkWrite-009.phpt b/tests/server/server-executeBulkWrite-009.phpt index ee879ffcd..f6b7c3861 100644 --- a/tests/server/server-executeBulkWrite-009.phpt +++ b/tests/server/server-executeBulkWrite-009.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Server::executeBulkWrite() write concern inheritance require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['w' => 2, 'wtimeoutms' => 1000]); +$manager = create_test_manager(URI, ['w' => 2, 'wtimeoutms' => 1000]); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference('primary')); (new CommandObserver)->observe( diff --git a/tests/server/server-executeBulkWrite_error-001.phpt b/tests/server/server-executeBulkWrite_error-001.phpt index ed5927e65..884c1436c 100644 --- a/tests/server/server-executeBulkWrite_error-001.phpt +++ b/tests/server/server-executeBulkWrite_error-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::executeBulkWrite() with empty BulkWrite selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); echo throws(function() use ($server) { diff --git a/tests/server/server-executeBulkWrite_error-002.phpt b/tests/server/server-executeBulkWrite_error-002.phpt index 2a15f4cf5..91c0724f6 100644 --- a/tests/server/server-executeBulkWrite_error-002.phpt +++ b/tests/server/server-executeBulkWrite_error-002.phpt @@ -7,7 +7,7 @@ MongoDB\Driver\Server::executeBulkWrite() with invalid options selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); echo throws(function() use ($server) { diff --git a/tests/server/server-executeCommand-001.phpt b/tests/server/server-executeCommand-001.phpt index 3bd48ba63..0c7d43631 100644 --- a/tests/server/server-executeCommand-001.phpt +++ b/tests/server/server-executeCommand-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::executeCommand() executeQuery(NS, new MongoDB\Driver\Query(array()))->getServer(); $command = new MongoDB\Driver\Command(array('ping' => 1)); diff --git a/tests/server/server-executeCommand-002.phpt b/tests/server/server-executeCommand-002.phpt index 8a74b7a55..f837d0a93 100644 --- a/tests/server/server-executeCommand-002.phpt +++ b/tests/server/server-executeCommand-002.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Server::executeCommand() takes a read preference selectServer($rp); diff --git a/tests/server/server-executeCommand-003.phpt b/tests/server/server-executeCommand-003.phpt index 0f405018b..6e7c82e39 100644 --- a/tests/server/server-executeCommand-003.phpt +++ b/tests/server/server-executeCommand-003.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::executeCommand() with conflicting read preference for sec selectServer($secondaryRp); diff --git a/tests/server/server-executeCommand-004.phpt b/tests/server/server-executeCommand-004.phpt index 7a072eff7..929453a7b 100644 --- a/tests/server/server-executeCommand-004.phpt +++ b/tests/server/server-executeCommand-004.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeCommand() takes a read preference in options array selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); (new CommandObserver)->observe( diff --git a/tests/server/server-executeCommand-007.phpt b/tests/server/server-executeCommand-007.phpt index 488702250..51fd17aed 100644 --- a/tests/server/server-executeCommand-007.phpt +++ b/tests/server/server-executeCommand-007.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::executeCommand() sends read preference to mongos require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); (new CommandObserver)->observe( diff --git a/tests/server/server-executeCommand-008.phpt b/tests/server/server-executeCommand-008.phpt index becd2f2fd..13205efb0 100644 --- a/tests/server/server-executeCommand-008.phpt +++ b/tests/server/server-executeCommand-008.phpt @@ -11,7 +11,7 @@ MongoDB\Driver\Server::executeCommand() does not send read preference to standal require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); (new CommandObserver)->observe( diff --git a/tests/server/server-executeCommand-009.phpt b/tests/server/server-executeCommand-009.phpt index cf1667e91..399c82bb7 100644 --- a/tests/server/server-executeCommand-009.phpt +++ b/tests/server/server-executeCommand-009.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeCommand() pins transaction to server executeCommand( diff --git a/tests/server/server-executeCommand-010.phpt b/tests/server/server-executeCommand-010.phpt index 16c1bf6d5..514623fce 100644 --- a/tests/server/server-executeCommand-010.phpt +++ b/tests/server/server-executeCommand-010.phpt @@ -11,7 +11,7 @@ MongoDB\Driver\Server::executeCommand() does not inherit read or write concern require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['readConcernLevel' => 'local', 'w' => 2, 'wtimeoutms' => 1000]); +$manager = create_test_manager(URI, ['readConcernLevel' => 'local', 'w' => 2, 'wtimeoutms' => 1000]); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference('primary')); $command = new MongoDB\Driver\Command([ diff --git a/tests/server/server-executeCommand_error-001.phpt b/tests/server/server-executeCommand_error-001.phpt index f30ba0b89..b9f3cadfd 100644 --- a/tests/server/server-executeCommand_error-001.phpt +++ b/tests/server/server-executeCommand_error-001.phpt @@ -7,7 +7,7 @@ MongoDB\Driver\Server::executeCommand() with invalid options (MONGOC_CMD_RAW) selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); $command = new MongoDB\Driver\Command(['ping' => 1]); diff --git a/tests/server/server-executeQuery-001.phpt b/tests/server/server-executeQuery-001.phpt index 39aaf665d..2c28f2fee 100644 --- a/tests/server/server-executeQuery-001.phpt +++ b/tests/server/server-executeQuery-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::executeQuery() with filter and projection executeQuery(NS, new MongoDB\Driver\Query(array()))->getServer(); // load fixtures for test diff --git a/tests/server/server-executeQuery-002.phpt b/tests/server/server-executeQuery-002.phpt index 12f91b79f..7b2b0bca0 100644 --- a/tests/server/server-executeQuery-002.phpt +++ b/tests/server/server-executeQuery-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::executeQuery() with sort and empty filter executeQuery(NS, new MongoDB\Driver\Query(array()))->getServer(); // load fixtures for test diff --git a/tests/server/server-executeQuery-003.phpt b/tests/server/server-executeQuery-003.phpt index fb293b23a..942aa7cfd 100644 --- a/tests/server/server-executeQuery-003.phpt +++ b/tests/server/server-executeQuery-003.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::executeQuery() with modifiers and empty filter executeQuery(NS, new MongoDB\Driver\Query(array()))->getServer(); // load fixtures for test diff --git a/tests/server/server-executeQuery-004.phpt b/tests/server/server-executeQuery-004.phpt index b060a77be..b3ce00448 100644 --- a/tests/server/server-executeQuery-004.phpt +++ b/tests/server/server-executeQuery-004.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::executeQuery() finds no matching documents executeQuery(NS, new MongoDB\Driver\Query(array()))->getServer(); $bulk = new \MongoDB\Driver\BulkWrite(); diff --git a/tests/server/server-executeQuery-005.phpt b/tests/server/server-executeQuery-005.phpt index 3b9b8ca2a..4b4985d38 100644 --- a/tests/server/server-executeQuery-005.phpt +++ b/tests/server/server-executeQuery-005.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeQuery() takes a read preference (OP_QUERY) selectServer($rp); diff --git a/tests/server/server-executeQuery-006.phpt b/tests/server/server-executeQuery-006.phpt index cd89d637c..baf8a5fee 100644 --- a/tests/server/server-executeQuery-006.phpt +++ b/tests/server/server-executeQuery-006.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Server::executeQuery() takes a read preference (find command) selectServer($rp); diff --git a/tests/server/server-executeQuery-007.phpt b/tests/server/server-executeQuery-007.phpt index e0e61cf7d..22dd82cae 100644 --- a/tests/server/server-executeQuery-007.phpt +++ b/tests/server/server-executeQuery-007.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::executeQuery() with negative limit returns a single batch executeQuery(NS, new MongoDB\Driver\Query(array()))->getServer(); // load fixtures for test diff --git a/tests/server/server-executeQuery-008.phpt b/tests/server/server-executeQuery-008.phpt index 00f4e3828..75f50416b 100644 --- a/tests/server/server-executeQuery-008.phpt +++ b/tests/server/server-executeQuery-008.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeQuery() with conflicting read preference for secon selectServer($primaryRp); diff --git a/tests/server/server-executeQuery-009.phpt b/tests/server/server-executeQuery-009.phpt index f20adfb7b..2062c2cd4 100644 --- a/tests/server/server-executeQuery-009.phpt +++ b/tests/server/server-executeQuery-009.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeQuery() takes a read preference in options array selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); (new CommandObserver)->observe( diff --git a/tests/server/server-executeQuery-012.phpt b/tests/server/server-executeQuery-012.phpt index f501fb3d1..0df746ef2 100644 --- a/tests/server/server-executeQuery-012.phpt +++ b/tests/server/server-executeQuery-012.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeQuery() pins transaction to server executeCommand( diff --git a/tests/server/server-executeQuery-013.phpt b/tests/server/server-executeQuery-013.phpt index a3324924e..d8f3067a8 100644 --- a/tests/server/server-executeQuery-013.phpt +++ b/tests/server/server-executeQuery-013.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Server::executeQuery() read concern inheritance require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['readConcernLevel' => 'local']); +$manager = create_test_manager(URI, ['readConcernLevel' => 'local']); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference('primary')); (new CommandObserver)->observe( diff --git a/tests/server/server-executeQuery_error-001.phpt b/tests/server/server-executeQuery_error-001.phpt index bf7c32609..14d400fd1 100644 --- a/tests/server/server-executeQuery_error-001.phpt +++ b/tests/server/server-executeQuery_error-001.phpt @@ -7,7 +7,7 @@ MongoDB\Driver\Server::executeQuery() with invalid options selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); $query = new MongoDB\Driver\Query(['x' => 3], ['projection' => ['y' => 1]]); diff --git a/tests/server/server-executeReadCommand-001.phpt b/tests/server/server-executeReadCommand-001.phpt index e348a7eff..53ed2b36c 100644 --- a/tests/server/server-executeReadCommand-001.phpt +++ b/tests/server/server-executeReadCommand-001.phpt @@ -13,7 +13,7 @@ MongoDB\Driver\Server::executeReadCommand() require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY)); (new CommandObserver)->observe( diff --git a/tests/server/server-executeReadCommand-002.phpt b/tests/server/server-executeReadCommand-002.phpt index 8e5b36956..335d77421 100644 --- a/tests/server/server-executeReadCommand-002.phpt +++ b/tests/server/server-executeReadCommand-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeReadCommand() pins transaction to server executeCommand( diff --git a/tests/server/server-executeReadCommand-003.phpt b/tests/server/server-executeReadCommand-003.phpt index aabccfb0d..fac418537 100644 --- a/tests/server/server-executeReadCommand-003.phpt +++ b/tests/server/server-executeReadCommand-003.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Server::executeReadCommand() read concern inheritance require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['readConcernLevel' => 'local']); +$manager = create_test_manager(URI, ['readConcernLevel' => 'local']); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference('primary')); $command = new MongoDB\Driver\Command([ diff --git a/tests/server/server-executeReadCommand_error-001.phpt b/tests/server/server-executeReadCommand_error-001.phpt index dcff4ef1e..4a0c6b641 100644 --- a/tests/server/server-executeReadCommand_error-001.phpt +++ b/tests/server/server-executeReadCommand_error-001.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Server::executeReadCommand() with invalid options selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY)); $command = new MongoDB\Driver\Command(['ping' => 1]); diff --git a/tests/server/server-executeReadWriteCommand-001.phpt b/tests/server/server-executeReadWriteCommand-001.phpt index 5634afbd3..2c553a341 100644 --- a/tests/server/server-executeReadWriteCommand-001.phpt +++ b/tests/server/server-executeReadWriteCommand-001.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Server::executeReadWriteCommand() require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); (new CommandObserver)->observe( diff --git a/tests/server/server-executeReadWriteCommand-002.phpt b/tests/server/server-executeReadWriteCommand-002.phpt index de0347af8..fb1f8b4cc 100644 --- a/tests/server/server-executeReadWriteCommand-002.phpt +++ b/tests/server/server-executeReadWriteCommand-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeReadWriteCommand() pins transaction to server executeReadWriteCommand( diff --git a/tests/server/server-executeReadWriteCommand-003.phpt b/tests/server/server-executeReadWriteCommand-003.phpt index 594e4126d..930410778 100644 --- a/tests/server/server-executeReadWriteCommand-003.phpt +++ b/tests/server/server-executeReadWriteCommand-003.phpt @@ -11,7 +11,7 @@ MongoDB\Driver\Server::executeReadWriteCommand() read and write concern inherita require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['readConcernLevel' => 'local', 'w' => 2, 'wtimeoutms' => 1000]); +$manager = create_test_manager(URI, ['readConcernLevel' => 'local', 'w' => 2, 'wtimeoutms' => 1000]); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference('primary')); $command = new MongoDB\Driver\Command([ diff --git a/tests/server/server-executeReadWriteCommand_error-001.phpt b/tests/server/server-executeReadWriteCommand_error-001.phpt index 7215efe6b..28548a24c 100644 --- a/tests/server/server-executeReadWriteCommand_error-001.phpt +++ b/tests/server/server-executeReadWriteCommand_error-001.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Server::executeReadWriteCommand() with invalid options selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY)); $command = new MongoDB\Driver\Command(['ping' => 1]); diff --git a/tests/server/server-executeWriteCommand-001.phpt b/tests/server/server-executeWriteCommand-001.phpt index 68060abdb..d1d17d4c7 100644 --- a/tests/server/server-executeWriteCommand-001.phpt +++ b/tests/server/server-executeWriteCommand-001.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Server::executeWriteCommand() require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); $bw = new MongoDB\Driver\BulkWrite(); diff --git a/tests/server/server-executeWriteCommand-002.phpt b/tests/server/server-executeWriteCommand-002.phpt index c1cc8f18c..50578aec2 100644 --- a/tests/server/server-executeWriteCommand-002.phpt +++ b/tests/server/server-executeWriteCommand-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::executeWriteCommand() pins transaction to server executeCommand( diff --git a/tests/server/server-executeWriteCommand-003.phpt b/tests/server/server-executeWriteCommand-003.phpt index d1494dd1e..7b96c0104 100644 --- a/tests/server/server-executeWriteCommand-003.phpt +++ b/tests/server/server-executeWriteCommand-003.phpt @@ -11,7 +11,7 @@ MongoDB\Driver\Server::executeWriteCommand() write concern inheritance require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI, ['w' => 2, 'wtimeoutms' => 1000]); +$manager = create_test_manager(URI, ['w' => 2, 'wtimeoutms' => 1000]); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference('primary')); $command = new MongoDB\Driver\Command([ diff --git a/tests/server/server-executeWriteCommand_error-001.phpt b/tests/server/server-executeWriteCommand_error-001.phpt index 6b44638a8..9443768ad 100644 --- a/tests/server/server-executeWriteCommand_error-001.phpt +++ b/tests/server/server-executeWriteCommand_error-001.phpt @@ -11,7 +11,7 @@ MongoDB\Driver\Server::executeWriteCommand() with invalid options require_once __DIR__ . "/../utils/basic.inc"; require_once __DIR__ . "/../utils/observer.php"; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY)); $command = new MongoDB\Driver\Command([]); diff --git a/tests/server/server-getInfo-001.phpt b/tests/server/server-getInfo-001.phpt index 154d51a0b..a4d7c516d 100644 --- a/tests/server/server-getInfo-001.phpt +++ b/tests/server/server-getInfo-001.phpt @@ -7,7 +7,7 @@ MongoDB\Driver\Server::getInfo() selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY))->getInfo()); diff --git a/tests/server/server-getTags-001.phpt b/tests/server/server-getTags-001.phpt index 5a037a014..51947682e 100644 --- a/tests/server/server-getTags-001.phpt +++ b/tests/server/server-getTags-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Server::getTags() with standalone selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY))->getTags()); diff --git a/tests/server/server-getTags-002.phpt b/tests/server/server-getTags-002.phpt index d8d9ecaa4..9d0f6ae2b 100644 --- a/tests/server/server-getTags-002.phpt +++ b/tests/server/server-getTags-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Server::getTags() with replica set 1]); $manager->executeCommand(DATABASE_NAME, $command); diff --git a/tests/serverApi/serverApi-bsonserialize-001.phpt b/tests/serverApi/serverApi-bsonserialize-001.phpt new file mode 100644 index 000000000..55c268bc7 --- /dev/null +++ b/tests/serverApi/serverApi-bsonserialize-001.phpt @@ -0,0 +1,27 @@ +--TEST-- +MongoDB\Driver\ServerApi::bsonSerialize() +--FILE-- + +===DONE=== + +--EXPECT-- +{ "version" : "1" } +{ "version" : "1", "strict" : true } +{ "version" : "1", "deprecationErrors" : true } +{ "version" : "1", "strict" : false, "deprecationErrors" : false } +===DONE=== diff --git a/tests/serverApi/serverApi-bsonserialize-002.phpt b/tests/serverApi/serverApi-bsonserialize-002.phpt new file mode 100644 index 000000000..8cc25b9bd --- /dev/null +++ b/tests/serverApi/serverApi-bsonserialize-002.phpt @@ -0,0 +1,47 @@ +--TEST-- +MongoDB\Driver\ServerApi::bsonSerialize() returns an object +--FILE-- +bsonSerialize()); +} + +?> +===DONE=== + +--EXPECTF-- +object(stdClass)#%d (%d) { + ["version"]=> + string(1) "1" +} +object(stdClass)#%d (%d) { + ["version"]=> + string(1) "1" + ["strict"]=> + bool(true) +} +object(stdClass)#%d (%d) { + ["version"]=> + string(1) "1" + ["deprecationErrors"]=> + bool(true) +} +object(stdClass)#%d (%d) { + ["version"]=> + string(1) "1" + ["strict"]=> + bool(false) + ["deprecationErrors"]=> + bool(false) +} +===DONE=== diff --git a/tests/serverApi/serverApi-construct-001.phpt b/tests/serverApi/serverApi-construct-001.phpt new file mode 100644 index 000000000..73b8e75fb --- /dev/null +++ b/tests/serverApi/serverApi-construct-001.phpt @@ -0,0 +1,20 @@ +--TEST-- +MongoDB\Driver\ServerApi::__construct() +--FILE-- + +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\InvalidArgumentException +Server API version "no way" is not supported in this driver version +===DONE=== diff --git a/tests/serverApi/serverApi-debug.phpt b/tests/serverApi/serverApi-debug.phpt new file mode 100644 index 000000000..1a57037b9 --- /dev/null +++ b/tests/serverApi/serverApi-debug.phpt @@ -0,0 +1,47 @@ +--TEST-- +MongoDB\Driver\ServerApi debug output +--FILE-- + +===DONE=== + +--EXPECTF-- +object(MongoDB\Driver\ServerApi)#%d (%d) { + ["version"]=> + string(1) "1" + ["strict"]=> + NULL + ["deprecationErrors"]=> + NULL +} +object(MongoDB\Driver\ServerApi)#%d (%d) { + ["version"]=> + string(1) "1" + ["strict"]=> + bool(true) + ["deprecationErrors"]=> + NULL +} +object(MongoDB\Driver\ServerApi)#%d (%d) { + ["version"]=> + string(1) "1" + ["strict"]=> + NULL + ["deprecationErrors"]=> + bool(true) +} +object(MongoDB\Driver\ServerApi)#%d (%d) { + ["version"]=> + string(1) "1" + ["strict"]=> + bool(false) + ["deprecationErrors"]=> + bool(false) +} +===DONE=== diff --git a/tests/serverApi/serverApi-serialization-001.phpt b/tests/serverApi/serverApi-serialization-001.phpt new file mode 100644 index 000000000..60deff581 --- /dev/null +++ b/tests/serverApi/serverApi-serialization-001.phpt @@ -0,0 +1,103 @@ +--TEST-- +MongoDB\Driver\ServerApi serialization +--FILE-- + +===DONE=== + +--EXPECTF-- +object(MongoDB\Driver\ServerApi)#%d (%d) { + ["version"]=> + string(1) "1" + ["strict"]=> + NULL + ["deprecationErrors"]=> + NULL +} +bool(true) +C:24:"MongoDB\Driver\ServerApi":70:{a:3:{s:7:"version";s:1:"1";s:6:"strict";N;s:17:"deprecationErrors";N;}} +object(MongoDB\Driver\ServerApi)#5 (3) { + ["version"]=> + string(1) "1" + ["strict"]=> + NULL + ["deprecationErrors"]=> + NULL +} + +object(MongoDB\Driver\ServerApi)#%d (%d) { + ["version"]=> + string(1) "1" + ["strict"]=> + bool(true) + ["deprecationErrors"]=> + NULL +} +bool(true) +C:24:"MongoDB\Driver\ServerApi":72:{a:3:{s:7:"version";s:1:"1";s:6:"strict";b:1;s:17:"deprecationErrors";N;}} +object(MongoDB\Driver\ServerApi)#5 (3) { + ["version"]=> + string(1) "1" + ["strict"]=> + bool(true) + ["deprecationErrors"]=> + NULL +} + +object(MongoDB\Driver\ServerApi)#%d (%d) { + ["version"]=> + string(1) "1" + ["strict"]=> + NULL + ["deprecationErrors"]=> + bool(true) +} +bool(true) +C:24:"MongoDB\Driver\ServerApi":72:{a:3:{s:7:"version";s:1:"1";s:6:"strict";N;s:17:"deprecationErrors";b:1;}} +object(MongoDB\Driver\ServerApi)#5 (3) { + ["version"]=> + string(1) "1" + ["strict"]=> + NULL + ["deprecationErrors"]=> + bool(true) +} + +object(MongoDB\Driver\ServerApi)#%d (%d) { + ["version"]=> + string(1) "1" + ["strict"]=> + bool(false) + ["deprecationErrors"]=> + bool(false) +} +bool(true) +C:24:"MongoDB\Driver\ServerApi":74:{a:3:{s:7:"version";s:1:"1";s:6:"strict";b:0;s:17:"deprecationErrors";b:0;}} +object(MongoDB\Driver\ServerApi)#5 (3) { + ["version"]=> + string(1) "1" + ["strict"]=> + bool(false) + ["deprecationErrors"]=> + bool(false) +} + +===DONE=== diff --git a/tests/serverApi/serverApi-set_state-001.phpt b/tests/serverApi/serverApi-set_state-001.phpt new file mode 100644 index 000000000..c1e43fb58 --- /dev/null +++ b/tests/serverApi/serverApi-set_state-001.phpt @@ -0,0 +1,55 @@ +--TEST-- +MongoDB\Driver\ServerApi::__set_state() +--FILE-- + '1'], + ['version' => '1', 'strict' => true], + ['version' => '1', 'deprecationErrors' => true], + ['version' => '1', 'strict' => false, 'deprecationErrors' => false], + ['version' => '1', 'strict' => null, 'deprecationErrors' => null], +]; + +foreach ($tests as $fields) { + var_export(MongoDB\Driver\ServerApi::__set_state($fields)); + echo "\n\n"; +} + +?> +===DONE=== + +--EXPECTF-- +MongoDB\Driver\ServerApi::__set_state(array( + 'version' => '1', + 'strict' => NULL, + 'deprecationErrors' => NULL, +)) + +MongoDB\Driver\ServerApi::__set_state(array( + 'version' => '1', + 'strict' => true, + 'deprecationErrors' => NULL, +)) + +MongoDB\Driver\ServerApi::__set_state(array( + 'version' => '1', + 'strict' => NULL, + 'deprecationErrors' => true, +)) + +MongoDB\Driver\ServerApi::__set_state(array( + 'version' => '1', + 'strict' => false, + 'deprecationErrors' => false, +)) + +MongoDB\Driver\ServerApi::__set_state(array( + 'version' => '1', + 'strict' => NULL, + 'deprecationErrors' => NULL, +)) + +===DONE=== diff --git a/tests/serverApi/serverApi-set_state_error-001.phpt b/tests/serverApi/serverApi-set_state_error-001.phpt new file mode 100644 index 000000000..8511cbe2c --- /dev/null +++ b/tests/serverApi/serverApi-set_state_error-001.phpt @@ -0,0 +1,44 @@ +--TEST-- +MongoDB\Driver\ServerApi::__set_state() requires correct data types and values +--FILE-- + 1]); +}, 'MongoDB\Driver\Exception\InvalidArgumentException'), "\n"; + +echo throws(function() { + MongoDB\Driver\ServerApi::__set_state(['version' => '2']); +}, 'MongoDB\Driver\Exception\InvalidArgumentException'), "\n"; + + +echo throws(function() { + MongoDB\Driver\ServerApi::__set_state(['version' => '1', 'strict' => 'true']); +}, 'MongoDB\Driver\Exception\InvalidArgumentException'), "\n"; + + +echo throws(function() { + MongoDB\Driver\ServerApi::__set_state(['version' => '1', 'deprecationErrors' => 'true']); +}, 'MongoDB\Driver\Exception\InvalidArgumentException'), "\n"; + +?> +===DONE=== + +--EXPECT-- +OK: Got MongoDB\Driver\Exception\InvalidArgumentException +MongoDB\Driver\ServerApi initialization requires "version" field to be string +OK: Got MongoDB\Driver\Exception\InvalidArgumentException +MongoDB\Driver\ServerApi initialization requires "version" field to be string +OK: Got MongoDB\Driver\Exception\InvalidArgumentException +Server API version "2" is not supported in this driver version +OK: Got MongoDB\Driver\Exception\InvalidArgumentException +MongoDB\Driver\ServerApi initialization requires "strict" field to be bool or null +OK: Got MongoDB\Driver\Exception\InvalidArgumentException +MongoDB\Driver\ServerApi initialization requires "deprecationErrors" field to be bool or null +===DONE=== diff --git a/tests/serverApi/serverApi-var_export-001.phpt b/tests/serverApi/serverApi-var_export-001.phpt new file mode 100644 index 000000000..aba57fb0d --- /dev/null +++ b/tests/serverApi/serverApi-var_export-001.phpt @@ -0,0 +1,43 @@ +--TEST-- +MongoDB\Driver\ServerApi: var_export() +--FILE-- + +===DONE=== + +--EXPECTF-- +MongoDB\Driver\ServerApi::__set_state(array( + 'version' => '1', + 'strict' => NULL, + 'deprecationErrors' => NULL, +)) +MongoDB\Driver\ServerApi::__set_state(array( + 'version' => '1', + 'strict' => true, + 'deprecationErrors' => NULL, +)) +MongoDB\Driver\ServerApi::__set_state(array( + 'version' => '1', + 'strict' => NULL, + 'deprecationErrors' => true, +)) +MongoDB\Driver\ServerApi::__set_state(array( + 'version' => '1', + 'strict' => false, + 'deprecationErrors' => false, +)) +===DONE=== diff --git a/tests/session/bug1274-001.phpt b/tests/session/bug1274-001.phpt index d61753573..93edc7f13 100644 --- a/tests/session/bug1274-001.phpt +++ b/tests/session/bug1274-001.phpt @@ -10,7 +10,7 @@ PHPC-1274: Session destruct should not abort transaction from parent process executeCommand( diff --git a/tests/session/bug1274-002.phpt b/tests/session/bug1274-002.phpt index 37a932e46..ffbff41cd 100644 --- a/tests/session/bug1274-002.phpt +++ b/tests/session/bug1274-002.phpt @@ -43,7 +43,7 @@ class CommandLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $session = $manager->startSession(); $bulk = new MongoDB\Driver\BulkWrite(); diff --git a/tests/session/bug1274-003.phpt b/tests/session/bug1274-003.phpt index 1ff24a2a2..2886d0ec0 100644 --- a/tests/session/bug1274-003.phpt +++ b/tests/session/bug1274-003.phpt @@ -70,7 +70,7 @@ class SessionLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $logNamespace = NS . '_sessions'; $sessionLogger = new SessionLogger($manager, $logNamespace); diff --git a/tests/session/bug1274-004.phpt b/tests/session/bug1274-004.phpt index c62f37bc5..0831cd161 100644 --- a/tests/session/bug1274-004.phpt +++ b/tests/session/bug1274-004.phpt @@ -10,7 +10,7 @@ PHPC-1274: Session destruct should not abort transaction from parent process (di true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); /* Create collections as that can't be (automatically) done in a transaction */ $manager->executeCommand( diff --git a/tests/session/bug1274-005.phpt b/tests/session/bug1274-005.phpt index 1d28b3778..cbc3d9483 100644 --- a/tests/session/bug1274-005.phpt +++ b/tests/session/bug1274-005.phpt @@ -43,7 +43,7 @@ class CommandLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); $session = $manager->startSession(); $bulk = new MongoDB\Driver\BulkWrite(); diff --git a/tests/session/bug1274-006.phpt b/tests/session/bug1274-006.phpt index a07dbb6d5..7f47795dc 100644 --- a/tests/session/bug1274-006.phpt +++ b/tests/session/bug1274-006.phpt @@ -70,7 +70,7 @@ class SessionLogger implements MongoDB\Driver\Monitoring\CommandSubscriber } } -$manager = new MongoDB\Driver\Manager(URI, [], ['disableClientPersistence' => true]); +$manager = create_test_manager(URI, [], ['disableClientPersistence' => true]); $logNamespace = NS . '_sessions'; $sessionLogger = new SessionLogger($manager, $logNamespace); diff --git a/tests/session/session-001.phpt b/tests/session/session-001.phpt index 45c8be6dc..87916e247 100644 --- a/tests/session/session-001.phpt +++ b/tests/session/session-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session spec test: Pool is LIFO startSession(); $firstSessionId = $firstSession->getLogicalSessionId(); diff --git a/tests/session/session-002.phpt b/tests/session/session-002.phpt index 9dbe77711..3971e037b 100644 --- a/tests/session/session-002.phpt +++ b/tests/session/session-002.phpt @@ -20,7 +20,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $command = new MongoDB\Driver\Command([ @@ -42,7 +42,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $query = new MongoDB\Driver\Query([]); @@ -60,7 +60,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $bulk = new MongoDB\Driver\BulkWrite(); @@ -82,7 +82,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber MongoDB\Driver\Monitoring\addSubscriber($this); - $manager = new MongoDB\Driver\Manager(URI); + $manager = create_test_manager(); $session = $manager->startSession(); $command = new MongoDB\Driver\Command(['ping' => 1]); diff --git a/tests/session/session-003.phpt b/tests/session/session-003.phpt index 12033fd78..8098bfb60 100644 --- a/tests/session/session-003.phpt +++ b/tests/session/session-003.phpt @@ -10,8 +10,8 @@ MongoDB\Driver\Session spec test: session cannot be used for different clients require_once __DIR__ . "/../utils/basic.inc"; // Vary heartbeatFrequencyMS to ensure each Manager gets a different client -$manager = new MongoDB\Driver\Manager(URI, ['heartbeatFrequencyMS' => 60000]); -$otherManager = new MongoDB\Driver\Manager(URI, ['heartbeatFrequencyMS' => 90000]); +$manager = create_test_manager(URI, ['heartbeatFrequencyMS' => 60000]); +$otherManager = create_test_manager(URI, ['heartbeatFrequencyMS' => 90000]); // Create a session with the second Manager (associated with different client) $session = $otherManager->startSession(); diff --git a/tests/session/session-advanceClusterTime-001.phpt b/tests/session/session-advanceClusterTime-001.phpt index dc64db86c..accd8b697 100644 --- a/tests/session/session-advanceClusterTime-001.phpt +++ b/tests/session/session-advanceClusterTime-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session::advanceClusterTime() startSession(); $sessionB = $manager->startSession(); diff --git a/tests/session/session-advanceOperationTime-001.phpt b/tests/session/session-advanceOperationTime-001.phpt index 8eeb7abc1..b93e7e218 100644 --- a/tests/session/session-advanceOperationTime-001.phpt +++ b/tests/session/session-advanceOperationTime-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session::advanceOperationTime() startSession(); $sessionB = $manager->startSession(); diff --git a/tests/session/session-advanceOperationTime-002.phpt b/tests/session/session-advanceOperationTime-002.phpt index 0bcb2f6cc..a37641e94 100644 --- a/tests/session/session-advanceOperationTime-002.phpt +++ b/tests/session/session-advanceOperationTime-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session::advanceOperationTime() with Timestamp startSession(); echo "Initial operation time of session:\n"; diff --git a/tests/session/session-advanceOperationTime-003.phpt b/tests/session/session-advanceOperationTime-003.phpt index 587f121a5..bcb40dcef 100644 --- a/tests/session/session-advanceOperationTime-003.phpt +++ b/tests/session/session-advanceOperationTime-003.phpt @@ -27,7 +27,7 @@ class MyTimestamp implements MongoDB\BSON\TimestampInterface } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $session = $manager->startSession(); echo "Initial operation time of session:\n"; diff --git a/tests/session/session-advanceOperationTime_error-001.phpt b/tests/session/session-advanceOperationTime_error-001.phpt index 88fc94215..499c77941 100644 --- a/tests/session/session-advanceOperationTime_error-001.phpt +++ b/tests/session/session-advanceOperationTime_error-001.phpt @@ -44,7 +44,7 @@ class MyTimestamp implements MongoDB\BSON\TimestampInterface } } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $session = $manager->startSession(); echo "Initial operation time of session:\n"; diff --git a/tests/session/session-commitTransaction-001.phpt b/tests/session/session-commitTransaction-001.phpt index 92e946bf0..301935dca 100644 --- a/tests/session/session-commitTransaction-001.phpt +++ b/tests/session/session-commitTransaction-001.phpt @@ -15,7 +15,7 @@ class Test implements MongoDB\Driver\Monitoring\CommandSubscriber public function __construct() { - $this->manager = new MongoDB\Driver\Manager(URI); + $this->manager = create_test_manager(); $this->manager->executeCommand( DATABASE_NAME, diff --git a/tests/session/session-debug-001.phpt b/tests/session/session-debug-001.phpt index d78980695..2073da844 100644 --- a/tests/session/session-debug-001.phpt +++ b/tests/session/session-debug-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session debug output (before an operation) startSession(); var_dump($session); diff --git a/tests/session/session-debug-002.phpt b/tests/session/session-debug-002.phpt index aeadd96f8..9e8f16d72 100644 --- a/tests/session/session-debug-002.phpt +++ b/tests/session/session-debug-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session debug output (after an operation) startSession(); $command = new MongoDB\Driver\Command(['ping' => 1]); diff --git a/tests/session/session-debug-003.phpt b/tests/session/session-debug-003.phpt index 7ca7b4a2d..f47be160b 100644 --- a/tests/session/session-debug-003.phpt +++ b/tests/session/session-debug-003.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session debug output (causalConsistency=false) startSession(['causalConsistency' => false]); var_dump($session); diff --git a/tests/session/session-debug-004.phpt b/tests/session/session-debug-004.phpt index eb2aab190..a84abe1bb 100644 --- a/tests/session/session-debug-004.phpt +++ b/tests/session/session-debug-004.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session debug output (after ending session) startSession(); $command = new MongoDB\Driver\Command(['ping' => 1]); diff --git a/tests/session/session-debug-005.phpt b/tests/session/session-debug-005.phpt index 19408a9dd..5ccc3aefe 100644 --- a/tests/session/session-debug-005.phpt +++ b/tests/session/session-debug-005.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session debug output (during a pinned transaction) selectServer(new \MongoDB\Driver\ReadPreference('primary')); $session = $manager->startSession(); diff --git a/tests/session/session-endSession-001.phpt b/tests/session/session-endSession-001.phpt index 0533ab048..a5d7a14d3 100644 --- a/tests/session/session-endSession-001.phpt +++ b/tests/session/session-endSession-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Session::endSession() Calling methods after session has been ende startSession(); $sessionA->endSession(); diff --git a/tests/session/session-endSession-002.phpt b/tests/session/session-endSession-002.phpt index ad1492fd0..2648f8a94 100644 --- a/tests/session/session-endSession-002.phpt +++ b/tests/session/session-endSession-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session::endSession() Calling method multiple times startSession(); $sessionA->endSession(); diff --git a/tests/session/session-getClusterTime-001.phpt b/tests/session/session-getClusterTime-001.phpt index 244d6f8c8..aa4912c61 100644 --- a/tests/session/session-getClusterTime-001.phpt +++ b/tests/session/session-getClusterTime-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session::getClusterTime() startSession(); echo "Initial cluster time:\n"; diff --git a/tests/session/session-getLogicalSessionId-001.phpt b/tests/session/session-getLogicalSessionId-001.phpt index bb6af0313..2b79565de 100644 --- a/tests/session/session-getLogicalSessionId-001.phpt +++ b/tests/session/session-getLogicalSessionId-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session::getLogicalSessionId() startSession(); $lsid = $session->getLogicalSessionId(); diff --git a/tests/session/session-getOperationTime-001.phpt b/tests/session/session-getOperationTime-001.phpt index 3ee7f88c1..3ae163381 100644 --- a/tests/session/session-getOperationTime-001.phpt +++ b/tests/session/session-getOperationTime-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session::getOperationTime() startSession(); echo "Initial operation time:\n"; diff --git a/tests/session/session-getTransactionOptions-001.phpt b/tests/session/session-getTransactionOptions-001.phpt index a32805171..b1ad1d1c8 100644 --- a/tests/session/session-getTransactionOptions-001.phpt +++ b/tests/session/session-getTransactionOptions-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Session::getTransactionOptions() startSession(); var_dump($session->getTransactionOptions()); diff --git a/tests/session/session-getTransactionState-001.phpt b/tests/session/session-getTransactionState-001.phpt index 2122c5534..ff8659829 100644 --- a/tests/session/session-getTransactionState-001.phpt +++ b/tests/session/session-getTransactionState-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session::getTransactionState() startSession(); $session->startTransaction(); diff --git a/tests/session/session-startTransaction_error-001.phpt b/tests/session/session-startTransaction_error-001.phpt index 985aadf04..78697549b 100644 --- a/tests/session/session-startTransaction_error-001.phpt +++ b/tests/session/session-startTransaction_error-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Session::startTransaction() twice startSession(); $session->startTransaction(); diff --git a/tests/session/session-startTransaction_error-002.phpt b/tests/session/session-startTransaction_error-002.phpt index 37c7e1249..9c51c1ed9 100644 --- a/tests/session/session-startTransaction_error-002.phpt +++ b/tests/session/session-startTransaction_error-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\Session::startTransaction() with wrong values in options array startSession(); $options = [ diff --git a/tests/session/session-startTransaction_error-004.phpt b/tests/session/session-startTransaction_error-004.phpt index 4cb6a3ca4..967a3f820 100644 --- a/tests/session/session-startTransaction_error-004.phpt +++ b/tests/session/session-startTransaction_error-004.phpt @@ -12,7 +12,7 @@ require_once __DIR__ . "/../utils/basic.inc"; /* Note: PHP 7 throws a non-array TypeError based on arginfo, which happens * before zpp and our proxying of errors with InvalidArgumentExceptions. */ -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $session = $manager->startSession(); $options = [ diff --git a/tests/session/session-startTransaction_error-005.phpt b/tests/session/session-startTransaction_error-005.phpt index 6a86fc8da..8e5556857 100644 --- a/tests/session/session-startTransaction_error-005.phpt +++ b/tests/session/session-startTransaction_error-005.phpt @@ -11,7 +11,7 @@ require_once __DIR__ . "/../utils/basic.inc"; /* Note: PHP 8 throws a TypeError during zpp (vs. arginfo in PHP 7) */ -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $session = $manager->startSession(); $options = [ diff --git a/tests/session/session-startTransaction_error-006.phpt b/tests/session/session-startTransaction_error-006.phpt index 0432e38a3..2956e5bac 100644 --- a/tests/session/session-startTransaction_error-006.phpt +++ b/tests/session/session-startTransaction_error-006.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Session::startTransaction() throws an error on replicasets < 4.0 startSession(); echo throws(function () use ($session) { diff --git a/tests/session/session-startTransaction_error-007.phpt b/tests/session/session-startTransaction_error-007.phpt index 0a82c1b69..3f66b41b3 100644 --- a/tests/session/session-startTransaction_error-007.phpt +++ b/tests/session/session-startTransaction_error-007.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\Session::startTransaction() throws an error on sharded clusters < startSession(); echo throws(function () use ($session) { diff --git a/tests/session/session_error-001.phpt b/tests/session/session_error-001.phpt index 067ea4809..00e3d1182 100644 --- a/tests/session/session_error-001.phpt +++ b/tests/session/session_error-001.phpt @@ -4,7 +4,7 @@ MongoDB\Driver\Session with wrong defaultTransactionOptions -1 ], diff --git a/tests/session/session_error-002.phpt b/tests/session/session_error-002.phpt index 3c7920f05..f7978c7f0 100644 --- a/tests/session/session_error-002.phpt +++ b/tests/session/session_error-002.phpt @@ -7,7 +7,7 @@ MongoDB\Driver\Session with wrong defaultTransactionOptions startSession([ diff --git a/tests/session/transaction-integration-001.phpt b/tests/session/transaction-integration-001.phpt index 8d06e4ff1..79f780265 100644 --- a/tests/session/transaction-integration-001.phpt +++ b/tests/session/transaction-integration-001.phpt @@ -13,7 +13,7 @@ require_once __DIR__ . "/../utils/basic.inc"; $EMPLOYEES_COL = COLLECTION_NAME . '_employees'; $EVENTS_COL = COLLECTION_NAME . '_events'; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); /* Create collections as that can't be (automatically) done in a transaction */ $manager->executeCommand( diff --git a/tests/session/transaction-integration-002.phpt b/tests/session/transaction-integration-002.phpt index 66c07ec48..68da0ea01 100644 --- a/tests/session/transaction-integration-002.phpt +++ b/tests/session/transaction-integration-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session::startTransaction() Transient Error Test executeCommand( diff --git a/tests/session/transaction-integration-003.phpt b/tests/session/transaction-integration-003.phpt index 39d620e01..bae7870aa 100644 --- a/tests/session/transaction-integration-003.phpt +++ b/tests/session/transaction-integration-003.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session::startTransaction() Transient Error Test executeCommand( diff --git a/tests/session/transaction-integration_error-002.phpt b/tests/session/transaction-integration_error-002.phpt index 7c6e1f2bc..e8ec9135a 100644 --- a/tests/session/transaction-integration_error-002.phpt +++ b/tests/session/transaction-integration_error-002.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session: Setting per-op readConcern in transaction (executeReadCo executeCommand( diff --git a/tests/session/transaction-integration_error-003.phpt b/tests/session/transaction-integration_error-003.phpt index 0f76941b6..03431ba55 100644 --- a/tests/session/transaction-integration_error-003.phpt +++ b/tests/session/transaction-integration_error-003.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session: Setting per-op writeConcern in transaction (executeWrite executeCommand( diff --git a/tests/session/transaction-integration_error-004.phpt b/tests/session/transaction-integration_error-004.phpt index c2bd164c7..68239dc49 100644 --- a/tests/session/transaction-integration_error-004.phpt +++ b/tests/session/transaction-integration_error-004.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\Session: Setting per-op readConcern or writeConcern in transactio executeCommand( diff --git a/tests/standalone/bug0166.phpt b/tests/standalone/bug0166.phpt index 997dcdba6..83e505199 100644 --- a/tests/standalone/bug0166.phpt +++ b/tests/standalone/bug0166.phpt @@ -19,7 +19,7 @@ try { var_dump(false); } -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); throws(function() use ($manager) { serialize($manager); }, "Exception"); diff --git a/tests/standalone/bug0231.phpt b/tests/standalone/bug0231.phpt index fad3252a1..03c37ac3e 100644 --- a/tests/standalone/bug0231.phpt +++ b/tests/standalone/bug0231.phpt @@ -8,8 +8,8 @@ Multiple managers sharing streams: Using stream after closing manager 1)); diff --git a/tests/standalone/bug0357.phpt b/tests/standalone/bug0357.phpt index bf06d634b..9f4080dff 100644 --- a/tests/standalone/bug0357.phpt +++ b/tests/standalone/bug0357.phpt @@ -7,7 +7,7 @@ PHPC-357: The exception for "invalid namespace" does not list the broken name 1]); // Invalid host cannot be resolved -$manager = new MongoDB\Driver\Manager('mongodb://invalid.host:27017', ['connectTimeoutMS' => 1]); +$manager = create_test_manager('mongodb://invalid.host:27017', ['connectTimeoutMS' => 1]); echo throws(function() use ($manager, $command) { $manager->executeCommand(DATABASE_NAME, $command); }, 'MongoDB\Driver\Exception\ConnectionTimeoutException'), "\n"; // Valid host refuses connection -$manager = new MongoDB\Driver\Manager('mongodb://localhost:54321', ['CONNECTTIMEOUTMS' => 1]); +$manager = create_test_manager('mongodb://localhost:54321', ['CONNECTTIMEOUTMS' => 1]); echo throws(function() use ($manager, $command) { $manager->executeCommand(DATABASE_NAME, $command); diff --git a/tests/standalone/command-aggregate-001.phpt b/tests/standalone/command-aggregate-001.phpt index 265d5f228..407db3232 100644 --- a/tests/standalone/command-aggregate-001.phpt +++ b/tests/standalone/command-aggregate-001.phpt @@ -8,7 +8,7 @@ DRIVERS-289: Test iteration on live command cursor with empty first batch insert(['_id' => 1]); diff --git a/tests/standalone/connectiontimeoutexception-001.phpt b/tests/standalone/connectiontimeoutexception-001.phpt index fbfd3a71f..6586236a6 100644 --- a/tests/standalone/connectiontimeoutexception-001.phpt +++ b/tests/standalone/connectiontimeoutexception-001.phpt @@ -12,7 +12,7 @@ require_once __DIR__ . "/" . "../utils/basic.inc"; /* A 500ms socket timeout will ensure that SDAM and any authentication can * complete before executing a sleep command to trigger a network error. */ $uri = append_uri_option(URI, 'sockettimeoutms=500'); -$manager = new MongoDB\Driver\Manager($uri); +$manager = create_test_manager($uri); $command = new MongoDB\Driver\Command([ 'sleep' => 1, diff --git a/tests/standalone/executiontimeoutexception-001.phpt b/tests/standalone/executiontimeoutexception-001.phpt index 7d1a8c159..22f07556b 100644 --- a/tests/standalone/executiontimeoutexception-001.phpt +++ b/tests/standalone/executiontimeoutexception-001.phpt @@ -9,7 +9,7 @@ ExecutionTimeoutException: exceeding $maxTimeMS (queries) selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/standalone/executiontimeoutexception-002.phpt b/tests/standalone/executiontimeoutexception-002.phpt index e5f46af3a..ddcb7bfa9 100644 --- a/tests/standalone/executiontimeoutexception-002.phpt +++ b/tests/standalone/executiontimeoutexception-002.phpt @@ -9,7 +9,7 @@ ExecutionTimeoutException: exceeding maxTimeMS (commands) selectServer(new \MongoDB\Driver\ReadPreference('primary')); diff --git a/tests/standalone/manager-as-singleton.phpt b/tests/standalone/manager-as-singleton.phpt index 095b8f966..d97223a11 100644 --- a/tests/standalone/manager-as-singleton.phpt +++ b/tests/standalone/manager-as-singleton.phpt @@ -17,7 +17,7 @@ class Database { private static $Instance; public function __construct() { - $Manager = new Manager(URI, array(), array()); + $Manager = create_test_manager(URI, array(), array()); $this->Database = $Manager; } diff --git a/tests/standalone/update-multi-001.phpt b/tests/standalone/update-multi-001.phpt index 0acca45d4..6f4ec3fd8 100644 --- a/tests/standalone/update-multi-001.phpt +++ b/tests/standalone/update-multi-001.phpt @@ -8,7 +8,7 @@ PHPC-243: Manager::executeUpdate() & Bulk->update() w/o multi "Hannes", "country" => "USA", "gender" => "male"); diff --git a/tests/standalone/writeresult-isacknowledged-001.phpt b/tests/standalone/writeresult-isacknowledged-001.phpt index 8f82a1624..0f854782f 100644 --- a/tests/standalone/writeresult-isacknowledged-001.phpt +++ b/tests/standalone/writeresult-isacknowledged-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::isAcknowledged() with default WriteConcern insert(array('x' => 1)); diff --git a/tests/standalone/writeresult-isacknowledged-002.phpt b/tests/standalone/writeresult-isacknowledged-002.phpt index 736cea745..9c8f3a679 100644 --- a/tests/standalone/writeresult-isacknowledged-002.phpt +++ b/tests/standalone/writeresult-isacknowledged-002.phpt @@ -11,7 +11,7 @@ require_once __DIR__ . "/../utils/basic.inc"; /* We use w:0 here because libmongoc detects w:1 as the server's default and * omits it. */ $uri = append_uri_option(URI, 'w=0'); -$manager = new MongoDB\Driver\Manager($uri); +$manager = create_test_manager($uri); $bulk = new \MongoDB\Driver\BulkWrite; $bulk->insert(array('x' => 1)); diff --git a/tests/standalone/writeresult-isacknowledged-003.phpt b/tests/standalone/writeresult-isacknowledged-003.phpt index b1ec84371..7d0b79204 100644 --- a/tests/standalone/writeresult-isacknowledged-003.phpt +++ b/tests/standalone/writeresult-isacknowledged-003.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::isAcknowledged() with custom WriteConcern insert(array('x' => 2)); diff --git a/tests/utils/skipif.php b/tests/utils/skipif.php index 3ee35977d..9b9a4cd58 100644 --- a/tests/utils/skipif.php +++ b/tests/utils/skipif.php @@ -26,7 +26,7 @@ function skip_if_mongos() */ function skip_if_multiple_mongos() { - $manager = new Manager(URI); + $manager = create_test_manager(); // Ensure SDAM is initialized before calling Manager::getServers() $manager->selectServer(new ReadPreference('nearest')); diff --git a/tests/utils/tools.php b/tests/utils/tools.php index abc84ffba..797b6b6dc 100644 --- a/tests/utils/tools.php +++ b/tests/utils/tools.php @@ -5,6 +5,7 @@ use MongoDB\Driver\Manager; use MongoDB\Driver\ReadPreference; use MongoDB\Driver\Server; +use MongoDB\Driver\ServerApi; use MongoDB\Driver\WriteConcern; use MongoDB\Driver\WriteConcernError; use MongoDB\Driver\WriteError; @@ -88,6 +89,15 @@ function get_module_info($row) return $matches[1]; } +function create_test_manager(string $uri = null, array $options = [], array $driverOptions = []) +{ + if (getenv('API_VERSION') && ! isset($driverOptions['serverApi'])) { + $driverOptions['serverApi'] = new ServerApi(getenv('API_VERSION')); + } + + return new Manager($uri ?? URI, $options, $driverOptions); +} + /** * Returns the primary server. * @@ -97,7 +107,7 @@ function get_module_info($row) */ function get_primary_server($uri) { - return (new Manager($uri))->selectServer(new ReadPreference('primary')); + return create_test_manager($uri)->selectServer(new ReadPreference('primary')); } /** @@ -109,7 +119,7 @@ function get_primary_server($uri) */ function get_secondary_server($uri) { - return (new Manager($uri))->selectServer(new ReadPreference('secondary')); + return create_test_manager($uri)->selectServer(new ReadPreference('secondary')); } /** diff --git a/tests/writeConcern/writeconcern-bsonserialize-001.phpt b/tests/writeConcern/writeconcern-bsonserialize-001.phpt index 6ef80103e..88542816e 100644 --- a/tests/writeConcern/writeconcern-bsonserialize-001.phpt +++ b/tests/writeConcern/writeconcern-bsonserialize-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\WriteConcern::bsonSerialize() --FILE-- getWriteConcern()->getWtimeout()); diff --git a/tests/writeConcern/writeconcern-serialization-001.phpt b/tests/writeConcern/writeconcern-serialization-001.phpt index 120480b53..e4886a2a5 100644 --- a/tests/writeConcern/writeconcern-serialization-001.phpt +++ b/tests/writeConcern/writeconcern-serialization-001.phpt @@ -3,7 +3,7 @@ MongoDB\Driver\WriteConcern serialization --FILE-- -4]); diff --git a/tests/writeConcernError/writeconcernerror-debug-001.phpt b/tests/writeConcernError/writeconcernerror-debug-001.phpt index c3d23ef64..ed60f2be7 100644 --- a/tests/writeConcernError/writeconcernerror-debug-001.phpt +++ b/tests/writeConcernError/writeconcernerror-debug-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\WriteConcernError debug output insert(['x' => 1]); diff --git a/tests/writeConcernError/writeconcernerror-debug-002.phpt b/tests/writeConcernError/writeconcernerror-debug-002.phpt index 911347575..4616b1821 100644 --- a/tests/writeConcernError/writeconcernerror-debug-002.phpt +++ b/tests/writeConcernError/writeconcernerror-debug-002.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\WriteConcernError debug output insert(['x' => 1]); diff --git a/tests/writeConcernError/writeconcernerror-getinfo-001.phpt b/tests/writeConcernError/writeconcernerror-getinfo-001.phpt index d4fd17cab..2e148b753 100644 --- a/tests/writeConcernError/writeconcernerror-getinfo-001.phpt +++ b/tests/writeConcernError/writeconcernerror-getinfo-001.phpt @@ -9,7 +9,7 @@ MongoDB\Driver\WriteConcernError::getInfo() insert(['x' => 1]); diff --git a/tests/writeConcernError/writeconcernerror-getinfo-002.phpt b/tests/writeConcernError/writeconcernerror-getinfo-002.phpt index 47d3dbd78..56e67ea5f 100644 --- a/tests/writeConcernError/writeconcernerror-getinfo-002.phpt +++ b/tests/writeConcernError/writeconcernerror-getinfo-002.phpt @@ -10,7 +10,7 @@ MongoDB\Driver\WriteConcernError::getInfo() insert(['x' => 1]); diff --git a/tests/writeError/writeerror-debug-001.phpt b/tests/writeError/writeerror-debug-001.phpt index f8bf152f0..ec759c3b1 100644 --- a/tests/writeError/writeerror-debug-001.phpt +++ b/tests/writeError/writeerror-debug-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteError debug output insert(['_id' => 1]); diff --git a/tests/writeError/writeerror-getCode-001.phpt b/tests/writeError/writeerror-getCode-001.phpt index 0075716c3..885dd6f22 100644 --- a/tests/writeError/writeerror-getCode-001.phpt +++ b/tests/writeError/writeerror-getCode-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteError::getCode() insert(['_id' => 1]); diff --git a/tests/writeError/writeerror-getIndex-001.phpt b/tests/writeError/writeerror-getIndex-001.phpt index c77437ea2..48c563e2d 100644 --- a/tests/writeError/writeerror-getIndex-001.phpt +++ b/tests/writeError/writeerror-getIndex-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteError::getIndex() insert(['_id' => 1]); diff --git a/tests/writeError/writeerror-getInfo-001.phpt b/tests/writeError/writeerror-getInfo-001.phpt index 7c6573965..296a45869 100644 --- a/tests/writeError/writeerror-getInfo-001.phpt +++ b/tests/writeError/writeerror-getInfo-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteError::getInfo() insert(['_id' => 1]); diff --git a/tests/writeError/writeerror-getMessage-001.phpt b/tests/writeError/writeerror-getMessage-001.phpt index 60a7942a6..b00365605 100644 --- a/tests/writeError/writeerror-getMessage-001.phpt +++ b/tests/writeError/writeerror-getMessage-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteError::getMessage() insert(['_id' => 1]); diff --git a/tests/writeResult/bug0671-003.phpt b/tests/writeResult/bug0671-003.phpt index 6bc4a71ce..bc97a68d9 100644 --- a/tests/writeResult/bug0671-003.phpt +++ b/tests/writeResult/bug0671-003.phpt @@ -8,7 +8,7 @@ PHPC-671: Segfault if Manager is already freed when using WriteResult's Server insert(['_id' => 1]); diff --git a/tests/writeResult/writeresult-debug-001.phpt b/tests/writeResult/writeresult-debug-001.phpt index 23a4fc04a..af5036e4c 100644 --- a/tests/writeResult/writeresult-debug-001.phpt +++ b/tests/writeResult/writeresult-debug-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult debug output without errors insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-debug-002.phpt b/tests/writeResult/writeresult-debug-002.phpt index 45d93e9bb..013e35237 100644 --- a/tests/writeResult/writeresult-debug-002.phpt +++ b/tests/writeResult/writeresult-debug-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult debug output with errors false]); $bulk->update(['x' => 1], ['$set' => ['y' => 1]], ['upsert' => true]); diff --git a/tests/writeResult/writeresult-getdeletedcount-001.phpt b/tests/writeResult/writeresult-getdeletedcount-001.phpt index 0ea2f0a19..b4ff05801 100644 --- a/tests/writeResult/writeresult-getdeletedcount-001.phpt +++ b/tests/writeResult/writeresult-getdeletedcount-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getDeletedCount() with acknowledged write insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getdeletedcount-002.phpt b/tests/writeResult/writeresult-getdeletedcount-002.phpt index fdf41ff59..049698723 100644 --- a/tests/writeResult/writeresult-getdeletedcount-002.phpt +++ b/tests/writeResult/writeresult-getdeletedcount-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getDeletedCount() with unacknowledged write insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getinsertedcount-001.phpt b/tests/writeResult/writeresult-getinsertedcount-001.phpt index 40d706b3a..f5560adef 100644 --- a/tests/writeResult/writeresult-getinsertedcount-001.phpt +++ b/tests/writeResult/writeresult-getinsertedcount-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getInsertedCount() insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getinsertedcount-002.phpt b/tests/writeResult/writeresult-getinsertedcount-002.phpt index 99db4ea03..703b9a7ab 100644 --- a/tests/writeResult/writeresult-getinsertedcount-002.phpt +++ b/tests/writeResult/writeresult-getinsertedcount-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getInsertedCount() with unacknowledged write insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getmatchedcount-001.phpt b/tests/writeResult/writeresult-getmatchedcount-001.phpt index b03466cc8..1de367f4e 100644 --- a/tests/writeResult/writeresult-getmatchedcount-001.phpt +++ b/tests/writeResult/writeresult-getmatchedcount-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getMatchedCount() insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getmatchedcount-002.phpt b/tests/writeResult/writeresult-getmatchedcount-002.phpt index ba7f12550..9f4ed9be9 100644 --- a/tests/writeResult/writeresult-getmatchedcount-002.phpt +++ b/tests/writeResult/writeresult-getmatchedcount-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getMatchedCount() with unacknowledged write insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getmodifiedcount-001.phpt b/tests/writeResult/writeresult-getmodifiedcount-001.phpt index 99aecc10a..337ed10ee 100644 --- a/tests/writeResult/writeresult-getmodifiedcount-001.phpt +++ b/tests/writeResult/writeresult-getmodifiedcount-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getModifiedCount() with acknowledged write insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getmodifiedcount-002.phpt b/tests/writeResult/writeresult-getmodifiedcount-002.phpt index 62e0a65c1..4b4a14859 100644 --- a/tests/writeResult/writeresult-getmodifiedcount-002.phpt +++ b/tests/writeResult/writeresult-getmodifiedcount-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getModifiedCount() with unacknowledged write insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getserver-001.phpt b/tests/writeResult/writeresult-getserver-001.phpt index c3295411c..1ca2d8622 100644 --- a/tests/writeResult/writeresult-getserver-001.phpt +++ b/tests/writeResult/writeresult-getserver-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getUpsertedIds() selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); $bulk = new MongoDB\Driver\BulkWrite; diff --git a/tests/writeResult/writeresult-getupsertedcount-001.phpt b/tests/writeResult/writeresult-getupsertedcount-001.phpt index 073d5ee5b..26db4e492 100644 --- a/tests/writeResult/writeresult-getupsertedcount-001.phpt +++ b/tests/writeResult/writeresult-getupsertedcount-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getUpsertedCount() with acknowledged write insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getupsertedcount-002.phpt b/tests/writeResult/writeresult-getupsertedcount-002.phpt index 43570833c..6268b5ff7 100644 --- a/tests/writeResult/writeresult-getupsertedcount-002.phpt +++ b/tests/writeResult/writeresult-getupsertedcount-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getUpsertedCount() with unacknowledged write insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getupsertedids-001.phpt b/tests/writeResult/writeresult-getupsertedids-001.phpt index cd3d9c277..5f5efa1d0 100644 --- a/tests/writeResult/writeresult-getupsertedids-001.phpt +++ b/tests/writeResult/writeresult-getupsertedids-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getUpsertedIds() with server-generated values insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getupsertedids-002.phpt b/tests/writeResult/writeresult-getupsertedids-002.phpt index 31b2b932a..c814202eb 100644 --- a/tests/writeResult/writeresult-getupsertedids-002.phpt +++ b/tests/writeResult/writeresult-getupsertedids-002.phpt @@ -30,7 +30,7 @@ $tests = [ new MongoDB\BSON\UTCDateTime('1483479256924'), ]; -$manager = new MongoDB\Driver\Manager(URI); +$manager = create_test_manager(); $bulk = new MongoDB\Driver\BulkWrite; diff --git a/tests/writeResult/writeresult-getwriteconcernerror-001.phpt b/tests/writeResult/writeresult-getwriteconcernerror-001.phpt index 02db6ab2c..73fd56e72 100644 --- a/tests/writeResult/writeresult-getwriteconcernerror-001.phpt +++ b/tests/writeResult/writeresult-getwriteconcernerror-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getWriteConcernError() insert(['x' => 1]); diff --git a/tests/writeResult/writeresult-getwriteerrors-001.phpt b/tests/writeResult/writeresult-getwriteerrors-001.phpt index 6ad9d8ff7..0ee76643d 100644 --- a/tests/writeResult/writeresult-getwriteerrors-001.phpt +++ b/tests/writeResult/writeresult-getwriteerrors-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getWriteErrors() with ordered execution insert(['_id' => 1]); diff --git a/tests/writeResult/writeresult-getwriteerrors-002.phpt b/tests/writeResult/writeresult-getwriteerrors-002.phpt index e9f1f10e2..b547f0286 100644 --- a/tests/writeResult/writeresult-getwriteerrors-002.phpt +++ b/tests/writeResult/writeresult-getwriteerrors-002.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::getWriteErrors() with unordered execution false]); $bulk->insert(['_id' => 1]); diff --git a/tests/writeResult/writeresult-isacknowledged-001.phpt b/tests/writeResult/writeresult-isacknowledged-001.phpt index ab0bb1515..5f0d1a41c 100644 --- a/tests/writeResult/writeresult-isacknowledged-001.phpt +++ b/tests/writeResult/writeresult-isacknowledged-001.phpt @@ -8,7 +8,7 @@ MongoDB\Driver\WriteResult::isAcknowledged()