1<?php 2/** 3 * @author Jan Schneider <jan@horde.org> 4 * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 5 * @category Horde 6 * @package Horde_SessionHandler 7 * @subpackage UnitTests 8 */ 9class Horde_SessionHandler_Storage_Base extends Horde_Test_Case 10{ 11 protected static $handler; 12 protected static $dir; 13 14 protected function _write() 15 { 16 $this->assertTrue(self::$handler->open(self::$dir, 'sessionname')); 17 $this->assertSame('', self::$handler->read('sessionid')); 18 $this->assertTrue(self::$handler->write('sessionid', 'sessiondata')); 19 } 20 21 protected function _read() 22 { 23 $this->assertEquals('sessiondata', self::$handler->read('sessionid')); 24 } 25 26 protected function _reopen() 27 { 28 $this->assertTrue(self::$handler->close()); 29 $this->assertTrue(self::$handler->open(self::$dir, 'sessionname')); 30 $this->assertEquals('sessiondata', self::$handler->read('sessionid')); 31 $this->assertTrue(self::$handler->close()); 32 } 33 34 protected function _list() 35 { 36 $this->assertTrue(self::$handler->close()); 37 $this->assertTrue(self::$handler->open(self::$dir, 'sessionname')); 38 self::$handler->read('sessionid2'); 39 $this->assertTrue(self::$handler->write('sessionid2', 'sessiondata2')); 40 /* List while session is active. */ 41 $ids = self::$handler->getSessionIDs(); 42 sort($ids); 43 $this->assertEquals(array('sessionid', 'sessionid2'), $ids); 44 $this->assertTrue(self::$handler->close()); 45 46 /* List while session is inactive. */ 47 $this->assertTrue(self::$handler->open(self::$dir, 'sessionname')); 48 $ids = self::$handler->getSessionIDs(); 49 sort($ids); 50 $this->assertEquals(array('sessionid', 'sessionid2'), $ids); 51 $this->assertTrue(self::$handler->close()); 52 } 53 54 protected function _destroy() 55 { 56 $this->assertTrue(self::$handler->open(self::$dir, 'sessionname')); 57 self::$handler->read('sessionid2'); 58 $this->assertTrue(self::$handler->destroy('sessionid2')); 59 $this->assertEquals(array('sessionid'), 60 self::$handler->getSessionIDs()); 61 } 62 63 protected function _gc() 64 { 65 $this->assertTrue(self::$handler->open(self::$dir, 'sessionname')); 66 $this->assertTrue(self::$handler->gc(-1)); 67 $this->assertEquals(array(), 68 self::$handler->getSessionIDs()); 69 } 70 71 public static function setUpBeforeClass() 72 { 73 self::$dir = Horde_Util::createTempDir(); 74 } 75 76 public static function tearDownAfterClass() 77 { 78 self::$handler = null; 79 } 80} 81