abstract class Redis_Tests_AbstractUnitTestCase in Redis 7.2
Same name and namespace in other branches
- 7.3 lib/Redis/Tests/AbstractUnitTestCase.php \Redis_Tests_AbstractUnitTestCase
Hierarchy
- class \DrupalTestCase
- class \DrupalUnitTestCase
Expanded class hierarchy of Redis_Tests_AbstractUnitTestCase
File
- lib/
Redis/ Tests/ AbstractUnitTestCase.php, line 3
View source
abstract class Redis_Tests_AbstractUnitTestCase extends DrupalUnitTestCase {
/**
* Is autoloader enabled (system wide)
*
* @var boolean
*/
protected static $loaderEnabled = false;
/**
* Enable the autoloader (system wide)
*/
protected static function enableAutoload() {
if (self::$loaderEnabled) {
return;
}
if (class_exists('Redis_Client')) {
return;
}
spl_autoload_register(function ($className) {
$parts = explode('_', $className);
if ('Redis' === $parts[0]) {
$filename = __DIR__ . '/../lib/' . implode('/', $parts) . '.php';
return (bool) (include_once $filename);
}
return false;
}, null, true);
self::$loaderEnabled = true;
}
/**
* Drupal $conf array backup
*
* @var array
*/
private $originalConf = array(
'cache_lifetime' => null,
'cache_prefix' => null,
'redis_client_interface' => null,
'redis_eval_enabled' => null,
'redis_flush_mode' => null,
'redis_perm_ttl' => null,
);
/**
* Set up the Redis configuration
*
* Set up the needed variables using variable_set() if necessary.
*
* @return string
* Client interface or null if not exists
*/
protected abstract function getClientInterface();
/**
* Prepare Drupal environmment for testing
*/
private final function prepareDrupalEnvironment() {
// Site on which the tests are running may define this variable
// in their own settings.php file case in which it will be merged
// with testing site
global $conf;
foreach (array_keys($this->originalConf) as $key) {
if (isset($conf[$key])) {
$this->originalConf[$key] = $conf[$key];
unset($conf[$key]);
}
}
$conf['cache_prefix'] = $this->testId;
}
/**
* Restore Drupal environment after testing.
*/
private final function restoreDrupalEnvironment() {
$GLOBALS['conf'] = $this->originalConf + $GLOBALS['conf'];
}
/**
* Prepare client manager
*/
private final function prepareClientManager() {
$interface = $this
->getClientInterface();
if (null === $interface) {
throw new \Exception("Test skipped due to missing driver");
}
$GLOBALS['conf']['redis_client_interface'] = $interface;
Redis_Client::reset();
}
/**
* Restore client manager
*/
private final function restoreClientManager() {
Redis_Client::reset();
}
/**
* {@inheritdoc}
*/
public function setUp() {
self::enableAutoload();
$this
->prepareDrupalEnvironment();
$this
->prepareClientManager();
parent::setUp();
drupal_install_schema('system');
drupal_install_schema('locale');
}
/**
* {@inheritdoc}
*/
public function tearDown() {
drupal_uninstall_schema('locale');
drupal_uninstall_schema('system');
$this
->restoreDrupalEnvironment();
$this
->restoreClientManager();
parent::tearDown();
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DrupalTestCase:: |
protected | property | Assertions thrown in that test case. | |
DrupalTestCase:: |
protected | property | The database prefix of this test run. | |
DrupalTestCase:: |
protected | property | The original file directory, before it was changed for testing purposes. | |
DrupalTestCase:: |
public | property | Current results of this test case. | |
DrupalTestCase:: |
protected | property | Flag to indicate whether the test has been set up. | |
DrupalTestCase:: |
protected | property | ||
DrupalTestCase:: |
protected | property | ||
DrupalTestCase:: |
protected | property | This class is skipped when looking for the source of an assertion. | |
DrupalTestCase:: |
protected | property | The test run ID. | |
DrupalTestCase:: |
protected | property | Time limit for the test. | |
DrupalTestCase:: |
public | property | Whether to cache the installation part of the setUp() method. | |
DrupalTestCase:: |
public | property | Whether to cache the modules installation part of the setUp() method. | |
DrupalTestCase:: |
protected | property | URL to the verbose output file directory. | |
DrupalTestCase:: |
protected | function | Internal helper: stores the assert. | |
DrupalTestCase:: |
protected | function | Check to see if two values are equal. | |
DrupalTestCase:: |
protected | function | Check to see if a value is false (an empty string, 0, NULL, or FALSE). | |
DrupalTestCase:: |
protected | function | Check to see if two values are identical. | |
DrupalTestCase:: |
protected | function | Check to see if two values are not equal. | |
DrupalTestCase:: |
protected | function | Check to see if two values are not identical. | |
DrupalTestCase:: |
protected | function | Check to see if a value is not NULL. | |
DrupalTestCase:: |
protected | function | Check to see if a value is NULL. | |
DrupalTestCase:: |
protected | function | Check to see if a value is not false (not an empty string, 0, NULL, or FALSE). | |
DrupalTestCase:: |
public static | function | Delete an assertion record by message ID. | |
DrupalTestCase:: |
protected | function | Fire an error assertion. | 1 |
DrupalTestCase:: |
public | function | Handle errors during test runs. | 1 |
DrupalTestCase:: |
protected | function | Handle exceptions. | |
DrupalTestCase:: |
protected | function | Fire an assertion that is always negative. | |
DrupalTestCase:: |
public static | function | Converts a list of possible parameters into a stack of permutations. | |
DrupalTestCase:: |
protected | function | Cycles through backtrace until the first non-assertion method is found. | |
DrupalTestCase:: |
public static | function | Returns the database connection to the site running Simpletest. | |
DrupalTestCase:: |
public static | function | Store an assertion from outside the testing context. | |
DrupalTestCase:: |
protected | function | Fire an assertion that is always positive. | |
DrupalTestCase:: |
public static | function | Generates a random string containing letters and numbers. | |
DrupalTestCase:: |
public static | function | Generates a random string of ASCII characters of codes 32 to 126. | |
DrupalTestCase:: |
public | function | Run all tests in this class. | |
DrupalTestCase:: |
protected | function | Logs a verbose message in a text file. | |
DrupalUnitTestCase:: |
function |
Constructor for DrupalUnitTestCase. Overrides DrupalTestCase:: |
||
Redis_Tests_AbstractUnitTestCase:: |
protected static | property | Is autoloader enabled (system wide) | |
Redis_Tests_AbstractUnitTestCase:: |
private | property | Drupal $conf array backup | |
Redis_Tests_AbstractUnitTestCase:: |
protected static | function | Enable the autoloader (system wide) | |
Redis_Tests_AbstractUnitTestCase:: |
abstract protected | function | Set up the Redis configuration | 9 |
Redis_Tests_AbstractUnitTestCase:: |
final private | function | Prepare client manager | |
Redis_Tests_AbstractUnitTestCase:: |
final private | function | Prepare Drupal environmment for testing | |
Redis_Tests_AbstractUnitTestCase:: |
final private | function | Restore client manager | |
Redis_Tests_AbstractUnitTestCase:: |
final private | function | Restore Drupal environment after testing. | |
Redis_Tests_AbstractUnitTestCase:: |
public | function |
Sets up unit test environment. Overrides DrupalUnitTestCase:: |
3 |
Redis_Tests_AbstractUnitTestCase:: |
public | function |
Overrides DrupalUnitTestCase:: |
3 |