add unit tests for watcher policies
This commit is contained in:
parent
2166683e3b
commit
eea1abae20
|
@ -11,7 +11,7 @@ namespace Test\Files\Cache;
|
||||||
class Watcher extends \PHPUnit_Framework_TestCase {
|
class Watcher extends \PHPUnit_Framework_TestCase {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \OC\Files\Storage\Storage[] $storages;
|
* @var \OC\Files\Storage\Storage[] $storages
|
||||||
*/
|
*/
|
||||||
private $storages = array();
|
private $storages = array();
|
||||||
|
|
||||||
|
@ -105,6 +105,60 @@ class Watcher extends \PHPUnit_Framework_TestCase {
|
||||||
$this->assertTrue($cache->inCache('foo.txt/bar.txt'));
|
$this->assertTrue($cache->inCache('foo.txt/bar.txt'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testPolicyNever() {
|
||||||
|
$storage = $this->getTestStorage();
|
||||||
|
$cache = $storage->getCache();
|
||||||
|
$updater = $storage->getWatcher();
|
||||||
|
|
||||||
|
//set the mtime to the past so it can detect an mtime change
|
||||||
|
$cache->put('foo.txt', array('storage_mtime' => 10));
|
||||||
|
|
||||||
|
$updater->setPolicy(\OC\Files\Cache\Watcher::CHECK_NEVER);
|
||||||
|
|
||||||
|
$storage->file_put_contents('foo.txt', 'q');
|
||||||
|
$this->assertFalse($updater->checkUpdate('foo.txt'));
|
||||||
|
|
||||||
|
$cache->put('foo.txt', array('storage_mtime' => 20));
|
||||||
|
$storage->file_put_contents('foo.txt', 'w');
|
||||||
|
$this->assertFalse($updater->checkUpdate('foo.txt'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPolicyOnce() {
|
||||||
|
$storage = $this->getTestStorage();
|
||||||
|
$cache = $storage->getCache();
|
||||||
|
$updater = $storage->getWatcher();
|
||||||
|
|
||||||
|
//set the mtime to the past so it can detect an mtime change
|
||||||
|
$cache->put('foo.txt', array('storage_mtime' => 10));
|
||||||
|
|
||||||
|
$updater->setPolicy(\OC\Files\Cache\Watcher::CHECK_ONCE);
|
||||||
|
|
||||||
|
$storage->file_put_contents('foo.txt', 'q');
|
||||||
|
$this->assertTrue($updater->checkUpdate('foo.txt'));
|
||||||
|
|
||||||
|
$cache->put('foo.txt', array('storage_mtime' => 20));
|
||||||
|
$storage->file_put_contents('foo.txt', 'w');
|
||||||
|
$this->assertFalse($updater->checkUpdate('foo.txt'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPolicyAlways() {
|
||||||
|
$storage = $this->getTestStorage();
|
||||||
|
$cache = $storage->getCache();
|
||||||
|
$updater = $storage->getWatcher();
|
||||||
|
|
||||||
|
//set the mtime to the past so it can detect an mtime change
|
||||||
|
$cache->put('foo.txt', array('storage_mtime' => 10));
|
||||||
|
|
||||||
|
$updater->setPolicy(\OC\Files\Cache\Watcher::CHECK_ALWAYS);
|
||||||
|
|
||||||
|
$storage->file_put_contents('foo.txt', 'q');
|
||||||
|
$this->assertTrue($updater->checkUpdate('foo.txt'));
|
||||||
|
|
||||||
|
$cache->put('foo.txt', array('storage_mtime' => 20));
|
||||||
|
$storage->file_put_contents('foo.txt', 'w');
|
||||||
|
$this->assertTrue($updater->checkUpdate('foo.txt'));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param bool $scan
|
* @param bool $scan
|
||||||
* @return \OC\Files\Storage\Storage
|
* @return \OC\Files\Storage\Storage
|
||||||
|
|
Loading…
Reference in New Issue