function AccessTest::testFileCacheability
Same name in other branches
- 9 core/modules/file/tests/src/Kernel/AccessTest.php \Drupal\Tests\file\Kernel\AccessTest::testFileCacheability()
- 8.9.x core/modules/file/tests/src/Kernel/AccessTest.php \Drupal\Tests\file\Kernel\AccessTest::testFileCacheability()
- 10 core/modules/file/tests/src/Kernel/AccessTest.php \Drupal\Tests\file\Kernel\AccessTest::testFileCacheability()
Tests cacheability metadata.
File
-
core/
modules/ file/ tests/ src/ Kernel/ AccessTest.php, line 169
Class
- AccessTest
- Tests for the File access control.
Namespace
Drupal\Tests\file\KernelCode
public function testFileCacheability() : void {
$file = File::create([
'filename' => 'green-scarf',
'uri' => 'private://green-scarf',
'filemime' => 'text/plain',
]);
$file->setPermanent();
$file->save();
\Drupal::service('session')->set('anonymous_allowed_file_ids', [
$file->id() => $file->id(),
]);
$account = User::getAnonymousUser();
$file->setOwnerId($account->id())
->save();
$this->assertSame([
'session',
'user',
], $file->access('view', $account, TRUE)
->getCacheContexts());
$this->assertSame([
'session',
'user',
], $file->access('download', $account, TRUE)
->getCacheContexts());
$account = $this->createUser();
$file->setOwnerId($account->id())
->save();
$this->assertSame([
'user',
], $file->access('view', $account, TRUE)
->getCacheContexts());
$this->assertSame([
'user',
], $file->access('download', $account, TRUE)
->getCacheContexts());
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.