Files
DomFramework/Tests/cachefileTest.php
Dominique Fournier e977f9dfa1 Update tests to remove the dependancy to configuration
Change the databases to be unique by test file


git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@2670 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
2016-03-12 16:34:44 +00:00

89 lines
1.9 KiB
PHP

<?php
/** DomFramework - Tests
@package domframework
@author Dominique Fournier <dominique@fournier38.fr> */
/** Test the cache.php file */
class test_cachefile extends PHPUnit_Framework_TestCase
{
public function testInit ()
{
// Removing the cache file if it previously exists
exec ("rm -rf /tmp/cache");
}
// Unknown cache file : return FALSE
public function testRead1 ()
{
$c = new cachefile ();
$c->directory = "/tmp/cache";
$res = $c->read ("id");
$this->assertFalse ($res);
}
// Write in cache file
public function testWrite1 ()
{
$c = new cachefile ();
$c->directory = "/tmp/cache";
$res = $c->write ("id","DATA_TO_STORE", 3);
$this->assertTrue ($res);
}
// Previous cache file : return DATA_TO_STORE
public function testRead2 ()
{
$c = new cachefile ();
$c->directory = "/tmp/cache";
$res = $c->read ("id");
$this->assertSame ("DATA_TO_STORE", $res);
}
// Sleep 4s to expire the cache
public function testWait1 ()
{
sleep (4);
}
// Previous cache file but expired : return false
public function testRead3 ()
{
$c = new cachefile ();
$c->directory = "/tmp/cache";
$res = $c->read ("id");
$this->assertFalse ($res);
}
// Write in cache file
public function testWrite2 ()
{
$c = new cachefile ();
$c->directory = "/tmp/cache";
$res = $c->write ("id","DATA_TO_STORE", 30);
$this->assertTrue ($res);
}
// Create stale lock
public function testLock1 ()
{
touch ("/tmp/cache/".sha1 ("id").".lock");
}
// Previous cache in time file but lock : return content after lock timeout
public function testRead4 ()
{
$c = new cachefile ();
$c->directory = "/tmp/cache";
$res = $c->read ("id");
$this->assertSame ("DATA_TO_STORE", $res);
}
public function testDel1 ()
{
$c = new cachefile ();
$c->directory = "/tmp/cache";
$res = $c->delete ("id");
}
}