diff --git a/core/modules/rest/lib/Drupal/rest/Tests/FileTest.php b/core/modules/rest/lib/Drupal/rest/Tests/FileTest.php
new file mode 100644
index 0000000..8e248f1
--- /dev/null
+++ b/core/modules/rest/lib/Drupal/rest/Tests/FileTest.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\rest\Tests\FileTest.
+ */
+
+namespace Drupal\rest\Tests;
+
+use Drupal\rest\Tests\RESTTestBase;
+
+/**
+ * Tests resource read operations on files.
+ */
+class FileTest extends RESTTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('rest', 'hal', 'file');
+
+  public static function getInfo() {
+    return array(
+      'name' => 'File resource',
+      'description' => 'Test special cases for file entities.',
+      'group' => 'REST',
+    );
+  }
+
+  /**
+   * Enables file specific REST API configuration and authentication.
+   *
+   * @param string $method
+   *   The HTTP method to be tested.
+   * @param string $operation
+   *   The operation, one of 'view', 'create', 'update' or 'delete'.
+   */
+  protected function enableFileConfiguration($method, $operation) {
+    $this->enableService('entity:file', $method);
+    $permissions = $this->entityPermissions('file', $operation);
+    $permissions[] = 'restful ' . strtolower($method) . ' entity:file';
+    $account = $this->drupalCreateUser($permissions);
+    $this->drupalLogin($account);
+  }
+
+  /**
+   * Tests access to REST resources of public files.
+   */
+  public function testFiles() {
+    $this->enableFileConfiguration('GET', 'view');
+    $file = $this->entityCreate('file');
+    $file->setFileUri('public://');
+    $file->save();
+    $this->httpRequest('entity/file/' . $file->id(), 'GET', NULL, $this->defaultMimeType);
+    $this->assertResponse(200);
+  }
+
+}
