UpdateDeleteFileIfStaleTest.php
Same filename in other branches
Namespace
Drupal\Tests\update\KernelFile
-
core/
modules/ update/ tests/ src/ Kernel/ UpdateDeleteFileIfStaleTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\update\Kernel;
use Drupal\KernelTests\KernelTestBase;
/**
* Tests the update_delete_file_if_stale() function.
*
* @group update
*/
class UpdateDeleteFileIfStaleTest extends KernelTestBase {
/**
* {@inheritdoc}
*/
protected static $modules = [
'system',
'update',
];
/**
* Tests the deletion of stale files.
*/
public function testUpdateDeleteFileIfStale() : void {
$file_system = $this->container
->get('file_system');
$file_name = $file_system->saveData($this->randomMachineName(), 'public://');
$this->assertNotNull($file_name);
$file_path = $file_system->realpath($file_name);
// During testing, the file change and the stale checking occurs in the same
// request, so the beginning of request will be before the file changes and
// \Drupal::time()->getRequestTime() - $filectime is negative or zero.
// Set the maximum age to a number even smaller than that.
$this->config('system.file')
->set('temporary_maximum_age', 100000)
->save();
// First test that the file is not stale and thus not deleted.
$deleted = update_delete_file_if_stale($file_path);
$this->assertFalse($deleted);
$this->assertFileExists($file_path);
// Set the maximum age to a number smaller than
// \Drupal::time()->getRequestTime() - $filectime.
$this->config('system.file')
->set('temporary_maximum_age', -100000)
->save();
// Now attempt to delete the file; as it should be considered stale, this
// attempt should succeed.
$deleted = update_delete_file_if_stale($file_path);
$this->assertTrue($deleted);
$this->assertFileDoesNotExist($file_path);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
UpdateDeleteFileIfStaleTest | Tests the update_delete_file_if_stale() function. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.