Annotation of embedaddon/php/ext/pdo_pgsql/tests/bug62479.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: PDO PgSQL Bug #62479 (PDO-psql cannot connect if password contains spaces)
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded('pdo') || !extension_loaded('pdo_pgsql')) die('skip not loaded');
! 6: require dirname(__FILE__) . '/config.inc';
! 7: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
! 8: PDOTest::skip();
! 9: if (!isset($conf['ENV']['PDOTEST_DSN'])) die('no dsn found in env');
! 10: $db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt');
! 11: $rand = rand(5, 5);
! 12:
! 13: // Assume that if we can't create a user, this test needs to be skipped
! 14: $testQuery = "CREATE USER pdo_$rand WITH PASSWORD 'testpass'";
! 15: $db->query($testQuery);
! 16: $testQuery = "DROP USER pdo_$rand";
! 17: $db->query($testQuery);
! 18: ?>
! 19: --FILE--
! 20: <?php
! 21: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
! 22: $pdo = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt');
! 23: $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
! 24: $rand = rand(5, 400);
! 25: $user = "pdo_$rand";
! 26: $template = "CREATE USER $user WITH PASSWORD '%s'";
! 27: $dropUser = "DROP USER $user";
! 28: $testQuery = 'SELECT 1 as verification';
! 29:
! 30: // Create temp user with space in password
! 31: $sql = sprintf($template, 'my password');
! 32: $pdo->query($sql);
! 33: $testConn = new PDO($conf['ENV']['PDOTEST_DSN'], $user, "my password");
! 34: $result = $testConn->query($testQuery)->fetch();
! 35: $check = $result[0];
! 36: var_dump($check);
! 37:
! 38: // Remove the user
! 39: $pdo->query($dropUser);
! 40:
! 41: // Create a user with a space and single quote
! 42: $sql = sprintf($template, "my pass''word");
! 43: $pdo->query($sql);
! 44:
! 45: $testConn = new PDO($conf['ENV']['PDOTEST_DSN'], $user, "my pass'word");
! 46: $result = $testConn->query($testQuery)->fetch();
! 47: $check = $result[0];
! 48: var_dump($check);
! 49:
! 50: // Remove the user
! 51: $pdo->query($dropUser);
! 52: ?>
! 53: --EXPECT--
! 54: int(1)
! 55: int(1)
! 56:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>