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
|
<?php
/**
* Prepare the test setup.
*/
require_once dirname(__FILE__) . '/Base.php';
/**
* Copyright 2016-2017 Horde LLC (http://www.horde.org/)
*
* @author Jan Schneider <jan@horde.org>
* @category Horde
* @package Horde_SessionHandler
* @subpackage UnitTests
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
*/
class Horde_SessionHandler_Storage_MongoTest extends Horde_SessionHandler_Storage_Base
{
protected static $reason;
protected static $mongo;
public function testWrite()
{
$this->_write();
}
/**
* @depends testWrite
*/
public function testRead()
{
$this->_read();
}
/**
* @depends testWrite
*/
public function testReopen()
{
$this->_reopen();
}
/**
* @depends testWrite
*/
public function testList()
{
$this->_list();
}
/**
* @depends testList
*/
public function testDestroy()
{
$this->_destroy();
}
public static function setUpBeforeClass(): void
{
if (($config = self::getConfig('SESSIONHANDLER_MONGO_TEST_CONFIG', __DIR__ . '/..')) &&
isset($config['sessionhandler']['mongo'])) {
$factory = new Horde_Test_Factory_Mongo();
self::$mongo = $factory->create(array(
'config' => $config['sessionhandler']['mongo'],
'dbname' => 'horde_sessionhandler_test'
));
}
if (empty(self::$mongo)) {
self::$reason = 'MongoDB not available.';
return;
}
self::$handler = new Horde_SessionHandler_Storage_Mongo(array(
'mongo_db' => self::$mongo
));
parent::setUpBeforeClass();
}
public function setUp(): void
{
if (!self::$handler) {
$this->markTestSkipped(self::$reason);
}
}
public static function tearDownAfterClass(): void
{
if (self::$mongo) {
self::$mongo->selectDB(null)->drop();
}
parent::tearDownAfterClass();
}
}
|