function UpdateDeleteFileIfStaleTest::testUpdateDeleteFileIfStale

Same name and namespace in other branches
  1. 9 core/modules/update/tests/src/Kernel/UpdateDeleteFileIfStaleTest.php \Drupal\Tests\update\Kernel\UpdateDeleteFileIfStaleTest::testUpdateDeleteFileIfStale()
  2. 8.9.x core/modules/update/tests/src/Kernel/UpdateDeleteFileIfStaleTest.php \Drupal\Tests\update\Kernel\UpdateDeleteFileIfStaleTest::testUpdateDeleteFileIfStale()
  3. 10 core/modules/update/tests/src/Kernel/UpdateDeleteFileIfStaleTest.php \Drupal\Tests\update\Kernel\UpdateDeleteFileIfStaleTest::testUpdateDeleteFileIfStale()

Tests the deletion of stale files.

File

core/modules/update/tests/src/Kernel/UpdateDeleteFileIfStaleTest.php, line 27

Class

UpdateDeleteFileIfStaleTest
Tests the <a href="/api/drupal/core%21modules%21update%21update.module/function/update_delete_file_if_stale/11.x" title="Deletes stale files and directories from the update manager disk cache." class="local">update_delete_file_if_stale</a>() function.

Namespace

Drupal\Tests\update\Kernel

Code

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);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.