]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/include/utils/ExternalCacheAPITest.php
Added unit tests.
[Github/sugarcrm.git] / tests / include / utils / ExternalCacheAPITest.php
1 <?php
2 require_once 'include/utils/external_cache.php';
3
4 class ExternalCacheAPITest extends Sugar_PHPUnit_Framework_TestCase
5 {
6     public function setUp() 
7     {
8         $this->_cacheKey1   = 'test cache key 1 '.date("YmdHis");
9         $this->_cacheValue1 = 'test cache value 1'.date("YmdHis");
10         $this->_cacheKey2   = 'test cache key 2 '.date("YmdHis");
11         $this->_cacheValue2 = 'test cache value 2 '.date("YmdHis");
12     }
13
14     public function tearDown() 
15     {
16        // clear out the test cache if we haven't already
17        if ( sugar_cache_retrieve($this->_cacheKey1) )
18            sugar_cache_clear($this->_cacheKey1);
19        if ( sugar_cache_retrieve($this->_cacheKey2) )
20            sugar_cache_clear($this->_cacheKey2);
21     }
22
23     public function testSugarCacheValidate()
24     {
25         $this->assertTrue(sugar_cache_validate());
26         $this->assertTrue($GLOBALS['external_cache_checked']);
27     }
28     
29     public function testStoreAndRetrieve()
30     {
31         sugar_cache_put($this->_cacheKey1,$this->_cacheValue1);
32         sugar_cache_put($this->_cacheKey2,$this->_cacheValue2);
33         $this->assertEquals(
34             sugar_cache_retrieve($this->_cacheKey1),
35             $this->_cacheValue1);
36         $this->assertEquals(
37             sugar_cache_retrieve($this->_cacheKey2),
38             $this->_cacheValue2);
39     }
40
41     public function testStoreClearCacheKeyAndRetrieve()
42     {
43         sugar_cache_put($this->_cacheKey1,$this->_cacheValue1);
44         sugar_cache_put($this->_cacheKey2,$this->_cacheValue2);
45         sugar_cache_clear($this->_cacheKey1);
46         $this->assertNotEquals(
47             sugar_cache_retrieve($this->_cacheKey1),
48             $this->_cacheValue1);
49         $this->assertEquals(
50             sugar_cache_retrieve($this->_cacheKey2),
51             $this->_cacheValue2);
52     }
53     
54     public function testStoreResetCacheAndRetrieve()
55     {
56         $this->markTestSkipped('Not working as expected');
57         
58         sugar_cache_put($this->_cacheKey1,$this->_cacheValue1);
59         sugar_cache_put($this->_cacheKey2,$this->_cacheValue2);
60         sugar_cache_reset();
61         $this->assertNotEquals(
62             sugar_cache_retrieve($this->_cacheKey1),
63             $this->_cacheValue1);
64         $this->assertNotEquals(
65             sugar_cache_retrieve($this->_cacheKey2),
66             $this->_cacheValue2);
67     }
68 }
69