Update transaction test to run against core and to work on either mysql or mysqli...
authorSeamus Lee <seamuslee001@gmail.com>
Sun, 28 Aug 2016 23:55:50 +0000 (09:55 +1000)
committerSeamus Lee <seamuslee001@gmail.com>
Wed, 14 Sep 2016 00:53:21 +0000 (10:53 +1000)
tests/phpunit/CRM/Core/TransactionTest.php

index 60a9312284bfcfcf212a64d53a11c197796f2936..a589c932e26d4bbaab3d04269158892bd9b9d422 100644 (file)
@@ -362,7 +362,16 @@ class CRM_Core_TransactionTest extends CiviUnitTestCase {
 
     if ($insert == 'sql-insert') {
       $r = CRM_Core_DAO::executeQuery("INSERT INTO civicrm_contact(first_name,last_name) VALUES ('ff', 'll')");
-      $cid = mysqli_insert_id($r->getConnection()->connection);
+      $mysqlFunction = strstr(CRM_Core_Config::singleton()->dsn, 'mysqli') ? 'mysqli_insert_id' : 'mysql_insert_id';
+      if ($mysqlFunction == 'mysql_insert_id' && phpversion() >= 7) {
+        CRM_Core_Exception('Current DSN in compatible with the PHP version, need to update to use mysqli');
+      }
+      if ($mysqlFunction == 'mysqli_insert_id') {
+        $cid = mysqli_insert_id($r->getConnection()->connection);
+      }
+      else {
+        $cid = mysql_insert_id();
+      }
     }
     elseif ($insert == 'bao-create') {
       $params = array(