Merge pull request #15813 from eileenmcnaughton/fee
[civicrm-core.git] / tests / phpunit / CRM / Core / BAO / CacheTest.php
index 99abb9e6493ff1727c1d2c465146dbce87be3e04..a7db1889cea2ba1614a06c09daee085307726dbc 100644 (file)
@@ -1,27 +1,11 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 5                                                  |
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2019                                |
- +--------------------------------------------------------------------+
- | This file is a part of CiviCRM.                                    |
- |                                                                    |
- | CiviCRM is free software; you can copy, modify, and distribute it  |
- | under the terms of the GNU Affero General Public License           |
- | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
+ | Copyright CiviCRM LLC. All rights reserved.                        |
  |                                                                    |
- | CiviCRM is distributed in the hope that it will be useful, but     |
- | WITHOUT ANY WARRANTY; without even the implied warranty of         |
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.               |
- | See the GNU Affero General Public License for more details.        |
- |                                                                    |
- | You should have received a copy of the GNU Affero General Public   |
- | License and the CiviCRM Licensing Exception along                  |
- | with this program; if not, contact CiviCRM LLC                     |
- | at info[AT]civicrm[DOT]org. If you have questions about the        |
- | GNU Affero General Public License or the licensing of CiviCRM,     |
- | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
  +--------------------------------------------------------------------+
  */
 
  */
 class CRM_Core_BAO_CacheTest extends CiviUnitTestCase {
 
+  /**
+   * @var CRM_Utils_Cache_Interface
+   */
+  protected $a;
+
+  public function createSimpleCache() {
+    return new CRM_Utils_Cache_FastArrayDecorator(
+      $this->a = CRM_Utils_Cache::create([
+        'name' => 'CRM_Core_BAO_CacheTest',
+        'type' => ['*memory*', 'SqlGroup', 'ArrayCache'],
+      ])
+    );
+  }
+
   public function testMultiVersionDecode() {
     $encoders = ['serialize', ['CRM_Core_BAO_Cache', 'encode']];
     $values = [NULL, 0, 1, TRUE, FALSE, [], ['abcd'], 'ab;cd', new stdClass()];
@@ -51,7 +49,7 @@ class CRM_Core_BAO_CacheTest extends CiviUnitTestCase {
 
     $ex = [];
 
-    $ex[] = [array('abc' => 'def')];
+    $ex[] = [['abc' => 'def']];
     $ex[] = [0];
     $ex[] = ['hello world'];
     $ex[] = ['ScarabĂ©e'];
@@ -68,9 +66,10 @@ class CRM_Core_BAO_CacheTest extends CiviUnitTestCase {
    * @dataProvider exampleValues
    */
   public function testSetGetItem($originalValue) {
-    CRM_Core_BAO_Cache::setItem($originalValue, __CLASS__, 'testSetGetItem');
+    $this->createSimpleCache();
+    $this->a->set('testSetGetItem', $originalValue);
 
-    $return_1 = CRM_Core_BAO_Cache::getItem(__CLASS__, 'testSetGetItem');
+    $return_1 = $this->a->get('testSetGetItem');
     $this->assertEquals($originalValue, $return_1);
 
     // Wipe out any in-memory copies of the cache. Check to see if the SQL
@@ -78,7 +77,8 @@ class CRM_Core_BAO_CacheTest extends CiviUnitTestCase {
 
     CRM_Core_BAO_Cache::$_cache = NULL;
     CRM_Utils_Cache::$_singleton = NULL;
-    $return_2 = CRM_Core_BAO_Cache::getItem(__CLASS__, 'testSetGetItem');
+    $this->a->values = [];
+    $return_2 = $this->a->get('testSetGetItem');
     $this->assertEquals($originalValue, $return_2);
   }
 
@@ -109,7 +109,7 @@ class CRM_Core_BAO_CacheTest extends CiviUnitTestCase {
    * @dataProvider getCleanKeyExamples
    */
   public function testCleanKeys($inputKey, $expectKey) {
-    $actualKey = CRM_Core_BAO_Cache::cleanKey($inputKey);
+    $actualKey = CRM_Utils_Cache::cleanKey($inputKey);
     $this->assertEquals($expectKey, $actualKey);
   }