diff --git a/core/profiles/demo_umami/modules/demo_umami_content/default_content/article_body/.htaccess b/core/profiles/demo_umami/modules/demo_umami_content/default_content/.htaccess similarity index 100% rename from core/profiles/demo_umami/modules/demo_umami_content/default_content/article_body/.htaccess rename to core/profiles/demo_umami/modules/demo_umami_content/default_content/.htaccess diff --git a/core/profiles/demo_umami/modules/demo_umami_content/default_content/images/.htaccess b/core/profiles/demo_umami/modules/demo_umami_content/default_content/images/.htaccess deleted file mode 100644 index ae4e251c81098acde0b94f18dac95ba966cd281e..0000000000000000000000000000000000000000 --- a/core/profiles/demo_umami/modules/demo_umami_content/default_content/images/.htaccess +++ /dev/null @@ -1,12 +0,0 @@ -# Deny all requests from Apache 2.4+. - - Require all denied - - -# Deny all requests from Apache 2.0-2.2. - - Deny from all - -# Turn off all options we don't need. -Options None -Options +FollowSymLinks diff --git a/core/profiles/demo_umami/modules/demo_umami_content/default_content/recipe_instructions/.htaccess b/core/profiles/demo_umami/modules/demo_umami_content/default_content/recipe_instructions/.htaccess deleted file mode 100644 index bdcdd2f5c88242af4c79bbdd05ddba3f0df7ff91..0000000000000000000000000000000000000000 --- a/core/profiles/demo_umami/modules/demo_umami_content/default_content/recipe_instructions/.htaccess +++ /dev/null @@ -1,11 +0,0 @@ -# Deny all requests from Apache 2.4+. - - Require all denied - - -# Deny all requests from Apache 2.0-2.2. - - Deny from all - -# Turn off all options we don't need. -Options -Indexes -ExecCGI -Includes -MultiViews diff --git a/core/profiles/demo_umami/modules/demo_umami_content/tests/src/Functional/DefaultContentFilesAccessTest.php b/core/profiles/demo_umami/modules/demo_umami_content/tests/src/Functional/DefaultContentFilesAccessTest.php new file mode 100644 index 0000000000000000000000000000000000000000..26c92d0b88c8b27b9f73b0db17684b044c5b7dc8 --- /dev/null +++ b/core/profiles/demo_umami/modules/demo_umami_content/tests/src/Functional/DefaultContentFilesAccessTest.php @@ -0,0 +1,38 @@ +assertNotSame('demo_umami', Settings::get('install_profile')); + + $files_to_test = [ + 'images/chocolate-brownie-umami.jpg', + 'recipe_instructions/chocolate-brownie-umami.html', + 'article_body/lets-hear-it-for-carrots.html', + 'articles.csv', + ]; + foreach ($files_to_test as $file) { + // Hard code the path since the demo_umami profile is not installed. + $content_path = "core/profiles/demo_umami/modules/demo_umami_content/default_content/$file"; + $this->assertFileExists($this->root . '/' . $content_path); + $this->drupalGet($content_path); + $this->assertSession()->statusCodeEquals(403); + } + } + +} diff --git a/core/profiles/demo_umami/tests/src/Functional/DemoUmamiProfileTest.php b/core/profiles/demo_umami/tests/src/Functional/DemoUmamiProfileTest.php index bfa1de25c738b916eb4f76980011ffc269c430a8..f6025fd6034939744f730636ae90cb979dbd22ce 100644 --- a/core/profiles/demo_umami/tests/src/Functional/DemoUmamiProfileTest.php +++ b/core/profiles/demo_umami/tests/src/Functional/DemoUmamiProfileTest.php @@ -163,37 +163,4 @@ public function testDemonstrationWarningMessage() { $web_assert->pageTextNotContains('This site is intended for demonstration purposes.'); } - /** - * Tests that sample images are not accessible to the webserver. - */ - public function testAccessDeniedToSampleImages() { - $file_name = 'chocolate-brownie-umami.jpg'; - $file_path = '/' . drupal_get_path('module', 'demo_umami_content') . '/default_content/images/' . $file_name; - $this->assertTrue(file_exists(DRUPAL_ROOT . $file_path)); - $this->drupalGet($file_path); - $this->assertSession()->statusCodeEquals(403); - } - - /** - * Tests that sample recipes are not accessible to the webserver. - */ - public function testAccessDeniedToSampleRecipes() { - $file_name = 'chocolate-brownie-umami.html'; - $file_path = '/' . drupal_get_path('module', 'demo_umami_content') . '/default_content/recipe_instructions/' . $file_name; - $this->assertTrue(file_exists(DRUPAL_ROOT . $file_path)); - $this->drupalGet($file_path); - $this->assertSession()->statusCodeEquals(403); - } - - /** - * Tests that sample articles are not accessible to the webserver. - */ - public function testAccessDeniedToSampleArticles() { - $file_name = 'lets-hear-it-for-carrots.html'; - $file_path = '/' . drupal_get_path('module', 'demo_umami_content') . '/default_content/article_body/' . $file_name; - $this->assertTrue(file_exists(DRUPAL_ROOT . $file_path)); - $this->drupalGet($file_path); - $this->assertSession()->statusCodeEquals(403); - } - }