Merge branch 'bugfix/session-path-for-tests-4461'

resolves #4461
This commit is contained in:
Johannes Meyer 2013-08-05 14:51:54 +02:00
commit 9b292e6711
1 changed files with 45 additions and 25 deletions

View File

@ -4,60 +4,80 @@
namespace Tests\Icinga\Authentication;
require_once("../../library/Icinga/Authentication/Session.php");
require_once("../../library/Icinga/Authentication/PhpSession.php");
require_once("../../library/Icinga/Application/Logger.php");
require_once("../../library/Icinga/Exception/ConfigurationError.php");
require_once("Zend/Log.php");
require_once('../../library/Icinga/Authentication/Session.php');
require_once('../../library/Icinga/Authentication/PhpSession.php');
require_once('../../library/Icinga/Application/Logger.php');
require_once('../../library/Icinga/Exception/ConfigurationError.php');
require_once('Zend/Log.php');
use Icinga\Authentication\PhpSession as PhpSession;
class PHPSessionTest extends \PHPUnit_Framework_TestCase
{
private function getSession()
{
if (!is_writable('/tmp')) {
$this->markTestSkipped('Could not write to session directory');
return;
}
return new PhpSession(array(
'use_cookies' => false,
'save_path' => '/tmp'
));
}
/**
* @runInSeparateProcess
* Test the creation of a PhpSession object
*
* @runInSeparateProcess
**/
public function testSessionCreation()
{
$session = new PhpSession();
$session = new PhpSession(array("ssesion.use_cookies"=>false));
$this->getSession();
}
/**
* @runInSeparateProcess
**/
* Test PhpSession::open()
*
* @runInSeparateProcess
*/
public function testOpenSession()
{
$this->assertEquals(session_id(), '');
$session = new PhpSession();
$this->assertEquals(session_id(), '', 'Asserting test precondition: session not being setup yet ');
$session = $this->getSession();
$session->open();
$this->assertNotEquals(session_id(), '');
$this->assertNotEquals(session_id(), '', 'Asserting a Session ID being available after PhpSession::open()');
}
/**
* @runInSeparateProcess
**/
* Test a session being closed by PhpSession::close()
*
* @runInSeparateProcess
**/
public function testCloseSession()
{
$this->assertEquals(session_id(), '');
$session = new PhpSession();
$this->assertEquals(session_id(), '', 'Asserting test precondition: session not being setup yet ');
$session = $this->getSession();
$session->open();
$this->assertNotEquals(session_id(), '');
$this->assertNotEquals(session_id(), '', 'Asserting a Session ID being available after PhpSession::open()');
$session->close();
}
/**
* @runInSeparateProcess
**/
* Test if a session is correctly purged when calling PhpSession::purge()
*
* @runInSeparateProcess
*/
public function testPurgeSession()
{
$this->assertEquals(session_id(), '');
$session = new PhpSession();
$this->assertEquals(session_id(), '', 'Asserting test precondition: session not being setup yet ');
$session = $this->getSession();
$session->open();
$this->assertNotEquals(session_id(), '');
$this->assertNotEquals(session_id(), '', 'Asserting a Session ID being available after PhpSession::open()');
$session->purge();
$this->assertEquals(session_id(), '');
$this->assertEquals(session_id(), '', 'Asserting no Session ID being available after PhpSession::purge()');
}
}