-
Notifications
You must be signed in to change notification settings - Fork 3.4k
/
CacheSessionTest.php
117 lines (102 loc) · 2.56 KB
/
CacheSessionTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
/**
* CacheSessionTest
*
* PHP 5
*
* CakePHP(tm) Tests <http://book.cakephp.org/view/1196/Testing>
* Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
* @link http://cakephp.org CakePHP(tm) Project
* @package Cake.Test.Case.Model.Datasource.Session
* @since CakePHP(tm) v 2.0
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
App::uses('CakeSession', 'Model/Datasource');
App::uses('CacheSession', 'Model/Datasource/Session');
class_exists('CakeSession');
class CacheSessionTest extends CakeTestCase {
protected static $_sessionBackup;
/**
* test case startup
*
* @return void
*/
public static function setupBeforeClass() {
Cache::config('session_test', array(
'engine' => 'File',
'prefix' => 'session_test_'
));
self::$_sessionBackup = Configure::read('Session');
Configure::write('Session.handler.config', 'session_test');
}
/**
* cleanup after test case.
*
* @return void
*/
public static function teardownAfterClass() {
Cache::clear(false, 'session_test');
Cache::drop('session_test');
Configure::write('Session', self::$_sessionBackup);
}
/**
* setup
*
* @return void
*/
public function setUp() {
parent::setUp();
$this->storage = new CacheSession();
}
/**
* tearDown
*
* @return void
*/
public function tearDown() {
parent::tearDown();
unset($this->storage);
}
/**
* test open
*
* @return void
*/
public function testOpen() {
$this->assertTrue($this->storage->open());
}
/**
* test write()
*
* @return void
*/
public function testWrite() {
$this->storage->write('abc', 'Some value');
$this->assertEquals('Some value', Cache::read('abc', 'session_test'), 'Value was not written.');
$this->assertFalse(Cache::read('abc', 'default'), 'Cache should only write to the given config.');
}
/**
* test reading.
*
* @return void
*/
public function testRead() {
$this->storage->write('test_one', 'Some other value');
$this->assertEquals('Some other value', $this->storage->read('test_one'), 'Incorrect value.');
}
/**
* test destroy
*
* @return void
*/
public function testDestroy() {
$this->storage->write('test_one', 'Some other value');
$this->assertTrue($this->storage->destroy('test_one'), 'Value was not deleted.');
$this->assertFalse(Cache::read('test_one', 'session_test'), 'Value stuck around.');
}
}