Viewing File: /opt/alt/tests/alt-php80-pecl-mongodb_1.18.1-1.el8/tests/standalone-x509-error-0001.phpt
--TEST--
X509 connection should not reuse previous stream after an auth failure
--XFAIL--
parse_url() tests must be reimplemented (PHPC-1177)
--SKIPIF--
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
<?php skip_if_not_libmongoc_ssl(); ?>
<?php skip_if_not_ssl(); ?>
<?php skip_if_no_ssl_dir(); ?>
<?php skip_if_not_auth_mechanism('MONGODB-X509'); ?>
--FILE--
<?php
require_once __DIR__ . "/../utils/basic.inc";
$driverOptions = [
// libmongoc does not allow the hostname to be overridden as "server"
'allow_invalid_hostname' => true,
'ca_file' => SSL_DIR . '/ca.pem',
'pem_file' => SSL_DIR . '/client.pem',
];
// Wrong username for X509 authentication
$parsed = parse_url(URI);
$dsn = sprintf('mongodb://username@%s:%d/?ssl=true&authMechanism=MONGODB-X509', $parsed['host'], $parsed['port']);
// Both should fail with auth failure, without reusing the previous stream
for ($i = 0; $i < 2; $i++) {
echo throws(function() use ($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";
}
?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
OK: Got MongoDB\Driver\Exception\AuthenticationException thrown from executeCommand
auth failed
OK: Got MongoDB\Driver\Exception\AuthenticationException thrown from executeCommand
auth failed
===DONE===
Back to Directory
File Manager
<