password_new.phpt 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. --TEST--
  2. oci_password_change()
  3. --EXTENSIONS--
  4. oci8
  5. --SKIPIF--
  6. <?php
  7. $target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
  8. require(__DIR__.'/skipif.inc');
  9. require(__DIR__.'/connect.inc');
  10. if (empty($dbase)) die ("skip requires database connection string be set");
  11. if ($test_drcp) die("skip password change not supported in DRCP Mode");
  12. preg_match('/.*Release ([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)*/', oci_server_version($c), $matches_sv);
  13. preg_match('/([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)/', oci_client_version(), $matches);
  14. if (!(isset($matches_sv[0]) && isset($matches[0])
  15. && $matches_sv[1] == $matches[1]
  16. && $matches_sv[2] == $matches[2]
  17. && $matches_sv[3] == $matches[3]
  18. && $matches_sv[4] == $matches[4])) {
  19. // Avoid diffs due to cross version protocol changes (e.g. like 11.2.0.2-11.2.0.3) and bugs like Oracle bug: 6277160
  20. die ("skip test only runs when database client libraries and database server are the same version");
  21. }
  22. // This test in Oracle 12c needs a non-CDB or the root container
  23. if (isset($matches_sv[0]) && $matches_sv[1] >= 12) {
  24. $s = oci_parse($c, "select nvl(sys_context('userenv', 'con_name'), 'notacdb') as dbtype from dual");
  25. $r = @oci_execute($s);
  26. if (!$r)
  27. die('skip could not identify container type');
  28. $r = oci_fetch_array($s);
  29. if ($r['DBTYPE'] !== 'CDB$ROOT')
  30. die('skip cannot run test using a PDB');
  31. }
  32. ?>
  33. --FILE--
  34. <?php
  35. require __DIR__."/connect.inc";
  36. $new_password = "test";
  37. var_dump(oci_password_change($dbase, $user, $password, $new_password));
  38. var_dump($new_c = oci_connect($user,$new_password,$dbase));
  39. var_dump(oci_password_change($dbase, $user, $new_password, $password));
  40. echo "Done\n";
  41. ?>
  42. --EXPECTF--
  43. resource(%d) of type (oci8 connection)
  44. resource(%d) of type (oci8 connection)
  45. resource(%d) of type (oci8 connection)
  46. Done