function FileManagedAccessTest::testFileAccess in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/file/src/Tests/FileManagedAccessTest.php \Drupal\file\Tests\FileManagedAccessTest::testFileAccess()
Tests if public file is always accessible.
File
- core/
modules/ file/ src/ Tests/ FileManagedAccessTest.php, line 22 - Contains \Drupal\file\Tests\FileManagedAccessTest.
Class
- FileManagedAccessTest
- Tests access to managed files.
Namespace
Drupal\file\TestsCode
function testFileAccess() {
// Create a new file entity.
$file = File::create(array(
'uid' => 1,
'filename' => 'drupal.txt',
'uri' => 'public://drupal.txt',
'filemime' => 'text/plain',
'status' => FILE_STATUS_PERMANENT,
));
file_put_contents($file
->getFileUri(), 'hello world');
// Save it, inserting a new record.
$file
->save();
// Create authenticated user to check file access.
$account = $this
->createUser(array(
'access site reports',
));
$this
->assertTrue($file
->access('view', $account), 'Public file is viewable to authenticated user');
$this
->assertTrue($file
->access('download', $account), 'Public file is downloadable to authenticated user');
// Create anonymous user to check file access.
$account = $this
->createUser()
->getAnonymousUser();
$this
->assertTrue($file
->access('view', $account), 'Public file is viewable to anonymous user');
$this
->assertTrue($file
->access('download', $account), 'Public file is downloadable to anonymous user');
// Create a new file entity.
$file = File::create(array(
'uid' => 1,
'filename' => 'drupal.txt',
'uri' => 'private://drupal.txt',
'filemime' => 'text/plain',
'status' => FILE_STATUS_PERMANENT,
));
file_put_contents($file
->getFileUri(), 'hello world');
// Save it, inserting a new record.
$file
->save();
// Create authenticated user to check file access.
$account = $this
->createUser(array(
'access site reports',
));
$this
->assertFalse($file
->access('view', $account), 'Private file is not viewable to authenticated user');
$this
->assertFalse($file
->access('download', $account), 'Private file is not downloadable to authenticated user');
// Create anonymous user to check file access.
$account = $this
->createUser()
->getAnonymousUser();
$this
->assertFalse($file
->access('view', $account), 'Private file is not viewable to anonymous user');
$this
->assertFalse($file
->access('download', $account), 'Private file is not downloadable to anonymous user');
}