phpmyadmin/test/Environment_test.php
Zarubin Stas f7d7102d2f - Unit Test grouped by library directory
- Added configuration file phpunit.xml.dist and bootstraper-dist.php
 - Ignoring phpunit.xml, bootstraper.php and build/
2011-06-29 20:06:27 +03:00

73 lines
2.2 KiB
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* tests for environment like OS, PHP, modules, ...
*
* @package phpMyAdmin-test
*/
/**
*
*/
require_once 'config.sample.inc.php';
/**
* @package phpMyAdmin-test
*/
class Environment_test extends PHPUnit_Framework_TestCase
{
public function testPhpVersion()
{
$this->assertTrue(version_compare('5.2', phpversion(), '<='),
'phpMyAdmin requires PHP 5.2 or above');
}
public function testMySQL()
{
global $cfg;
foreach($cfg['Servers'] as $i=>$server){
// Check config for the server
if (!isset($server["host"])){
$this->fail("Couldn't determine the host. Please check configuration for the server id: $i");
}
if (!isset($server["pmadb"])){
$this->markTestSkipped(); // If DB is not specified there is no reason to check connect.
}
elseif(!isset($server["controluser"])){
$this->fail("Please specify user for server $i and database ".$server["pmadb"]);
}
try{
if (!isset($server["controlpass"])){
$pdo = new PDO("mysql:host=".$server["host"].";dbname=".$server["pmadb"], $server['controluser']);
}
else{
$pdo = new PDO("mysql:host=".$server["host"].";dbname=".$server["pmadb"], $server['controluser'], $server['controlpass']);
}
$this->assertNull($pdo->errorCode());
//$pdo->beginTransaction();
$test = $pdo->exec("SHOW TABLES;");
//$pdo->commit();
$this->assertEquals(0, $pdo->errorCode());
}
catch (Exception $e){
$this->fail("Error: ".$e->getMessage());
}
// Check id MySQL server is 5 version
preg_match("/^(\d+)?\.(\d+)?\.(\*|\d+)/", $pdo->getAttribute(constant("PDO::ATTR_SERVER_VERSION")), $version_parts);
$this->assertEquals(5, $version_parts[1]);
}
}
//TODO: Think about this test
// public function testSession()
// {
// $this->markTestIncomplete();
// }
}
?>