.../contact/src/Access/ContactPageAccess.php | 2 +- .../contact/src/Controller/ContactController.php | 4 ++-- .../contact/src/Tests/ContactPersonalTest.php | 6 ++---- .../ContentTranslationManageAccessCheckTest.php | 22 ---------------------- .../modules/node/src/Tests/Views/FrontPageTest.php | 7 +++---- .../Tests/Cache/PageCacheTagsIntegrationTest.php | 3 +-- .../tests/src/Unit/PermissionAccessCheckTest.php | 21 --------------------- .../src/Unit/UserAccessControlHandlerTest.php | 20 -------------------- core/modules/views/src/Tests/GlossaryTest.php | 1 - .../Drupal/Tests/Core/Access/AccessResultTest.php | 1 - .../Tests/Core/Entity/EntityAccessCheckTest.php | 22 ---------------------- .../Tests/Core/Route/RoleAccessCheckTest.php | 22 ---------------------- 12 files changed, 9 insertions(+), 122 deletions(-) diff --git a/core/modules/contact/src/Access/ContactPageAccess.php b/core/modules/contact/src/Access/ContactPageAccess.php index 6eed7af..0d6ffcb 100644 --- a/core/modules/contact/src/Access/ContactPageAccess.php +++ b/core/modules/contact/src/Access/ContactPageAccess.php @@ -62,7 +62,7 @@ public function access(UserInterface $user, AccountInterface $account) { // Anonymous users cannot have contact forms. if ($contact_account->isAnonymous()) { - return AccessResult::forbidden()->cachePerRole(); + return AccessResult::forbidden()->cachePerPermissions(); } // Users may not contact themselves. diff --git a/core/modules/contact/src/Controller/ContactController.php b/core/modules/contact/src/Controller/ContactController.php index bfc8564..58dc800 100644 --- a/core/modules/contact/src/Controller/ContactController.php +++ b/core/modules/contact/src/Controller/ContactController.php @@ -61,7 +61,7 @@ public function contactSitePage(ContactFormInterface $contact_form = NULL) { $form = $this->entityFormBuilder()->getForm($message); $form['#title'] = String::checkPlain($contact_form->label()); - $form['#cache']['contexts'][] = 'user.roles'; + $form['#cache']['contexts'][] = 'user.permissions'; $form['#cache']['tags'] = Cache::mergeTags(isset($form['#cache']['tags']) ? $form['#cache']['tags'] : [], $config->getCacheTags()); return $form; } @@ -92,7 +92,7 @@ public function contactPersonalPage(UserInterface $user) { $form = $this->entityFormBuilder()->getForm($message); $form['#title'] = $this->t('Contact @username', array('@username' => $user->getUsername())); - $form['#cache']['contexts'][] = 'user.roles'; + $form['#cache']['contexts'][] = 'user.permissions'; return $form; } diff --git a/core/modules/contact/src/Tests/ContactPersonalTest.php b/core/modules/contact/src/Tests/ContactPersonalTest.php index 42b9b6a..b710cf4 100644 --- a/core/modules/contact/src/Tests/ContactPersonalTest.php +++ b/core/modules/contact/src/Tests/ContactPersonalTest.php @@ -152,15 +152,13 @@ function testPersonalContactAccess() { // Test that anonymous users can access admin user's contact form. $this->drupalGet('user/' . $this->adminUser->id() . '/contact'); $this->assertResponse(200); - $this->assertCacheContext('user.roles'); - $this->assertCacheTag('config:user.role.anonymous'); + $this->assertCacheContext('user.permissions'); // Revoke the personal contact permission for the anonymous user. user_role_revoke_permissions(RoleInterface::ANONYMOUS_ID, array('access user contact forms')); $this->drupalGet('user/' . $this->contactUser->id() . '/contact'); $this->assertResponse(403); - $this->assertCacheContext('user.roles'); - $this->assertCacheTag('config:user.role.anonymous'); + $this->assertCacheContext('user.permissions'); $this->drupalGet('user/' . $this->adminUser->id() . '/contact'); $this->assertResponse(403); diff --git a/core/modules/content_translation/tests/src/Unit/Access/ContentTranslationManageAccessCheckTest.php b/core/modules/content_translation/tests/src/Unit/Access/ContentTranslationManageAccessCheckTest.php index 3bb8cf9..0487d08 100644 --- a/core/modules/content_translation/tests/src/Unit/Access/ContentTranslationManageAccessCheckTest.php +++ b/core/modules/content_translation/tests/src/Unit/Access/ContentTranslationManageAccessCheckTest.php @@ -9,7 +9,6 @@ use Drupal\content_translation\Access\ContentTranslationManageAccessCheck; use Drupal\Core\Access\AccessResult; -use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Core\Language\Language; use Drupal\Tests\UnitTestCase; use Symfony\Component\Routing\Route; @@ -23,27 +22,6 @@ */ class ContentTranslationManageAccessCheckTest extends UnitTestCase { - - /** - * {@inheritdoc} - * - * Mocks the current user service, so that ::cachePerRole() can work. - * - * @see AccessResult::cachePerRole - * - * @todo remove this when https://www.drupal.org/node/2428703 lands. - */ - protected function setUp() { - parent::setUp(); - $container = new ContainerBuilder(); - $current_user = $this->getMock('\Drupal\Core\Session\AccountProxyInterface'); - $current_user->expects($this->any()) - ->method('getRoles') - ->willReturn(['authenticated', 'llama_herder']); - $container->set('current_user', $current_user); - \Drupal::setContainer($container); - } - /** * Tests the create access method. * diff --git a/core/modules/node/src/Tests/Views/FrontPageTest.php b/core/modules/node/src/Tests/Views/FrontPageTest.php index 9e14395..1e27ace 100644 --- a/core/modules/node/src/Tests/Views/FrontPageTest.php +++ b/core/modules/node/src/Tests/Views/FrontPageTest.php @@ -241,7 +241,7 @@ protected function assertFrontPageViewCacheTags($do_assert_views_caches) { $view = Views::getView('frontpage'); $view->setDisplay('page_1'); - $cache_contexts = ['user.node_grants:view', 'languages', 'user.roles']; + $cache_contexts = ['user.node_grants:view', 'languages', 'user.permissions']; // Test before there are any nodes. $empty_node_listing_cache_tags = [ @@ -257,7 +257,7 @@ protected function assertFrontPageViewCacheTags($do_assert_views_caches) { $this->assertPageCacheContextsAndTags( Url::fromRoute('view.frontpage.page_1'), $cache_contexts, - Cache::mergeTags($empty_node_listing_cache_tags, ['config:user.role.anonymous', 'rendered']) + Cache::mergeTags($empty_node_listing_cache_tags, ['rendered']) ); // Create some nodes on the frontpage view. Add more than 10 nodes in order @@ -317,7 +317,7 @@ protected function assertFrontPageViewCacheTags($do_assert_views_caches) { $this->assertPageCacheContextsAndTags( Url::fromRoute('view.frontpage.page_1'), $cache_contexts, - Cache::mergeTags($first_page_output_cache_tags, ['config:user.role.anonymous', 'rendered']) + Cache::mergeTags($first_page_output_cache_tags, ['rendered']) ); // Second page. @@ -329,7 +329,6 @@ protected function assertFrontPageViewCacheTags($do_assert_views_caches) { 'node:4', 'node:5', // The rest. - 'config:user.role.anonymous', 'config:filter.format.plain_text', 'config:views.view.frontpage', 'node_list', diff --git a/core/modules/system/src/Tests/Cache/PageCacheTagsIntegrationTest.php b/core/modules/system/src/Tests/Cache/PageCacheTagsIntegrationTest.php index aa84eed..110482d 100644 --- a/core/modules/system/src/Tests/Cache/PageCacheTagsIntegrationTest.php +++ b/core/modules/system/src/Tests/Cache/PageCacheTagsIntegrationTest.php @@ -75,6 +75,7 @@ function testPageCacheTags() { 'route.menu_active_trails:tools', 'theme', 'timezone', + 'user.permissions', 'user.roles', ]; @@ -101,7 +102,6 @@ function testPageCacheTags() { 'config:system.menu.footer', 'config:system.menu.main', 'config:system.site', - 'config:user.role.anonymous', )); // Full node page 2. @@ -131,7 +131,6 @@ function testPageCacheTags() { 'comment_list', 'node_list', 'config:views.view.comments_recent', - 'config:user.role.anonymous', )); } diff --git a/core/modules/user/tests/src/Unit/PermissionAccessCheckTest.php b/core/modules/user/tests/src/Unit/PermissionAccessCheckTest.php index 637b571..f61aba8 100644 --- a/core/modules/user/tests/src/Unit/PermissionAccessCheckTest.php +++ b/core/modules/user/tests/src/Unit/PermissionAccessCheckTest.php @@ -8,7 +8,6 @@ namespace Drupal\Tests\user\Unit; use Drupal\Core\Access\AccessResult; -use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Tests\UnitTestCase; use Drupal\user\Access\PermissionAccessCheck; use Symfony\Component\Routing\Route; @@ -27,32 +26,12 @@ class PermissionAccessCheckTest extends UnitTestCase { */ public $accessCheck; - - /** - * Mocks the current user service, so that ::cachePerRole() can work. - * - * @see ::cachePerRole - * - * @todo remove this when https://www.drupal.org/node/2428703 lands. - */ - protected function mockCurrentUserService() { - $container = new ContainerBuilder(); - $current_user = $this->getMock('\Drupal\Core\Session\AccountProxyInterface'); - $current_user->expects($this->any()) - ->method('getRoles') - ->willReturn(['authenticated', 'llama_herder']); - $container->set('current_user', $current_user); - \Drupal::setContainer($container); - } - /** * {@inheritdoc} */ protected function setUp() { parent::setUp(); - $this->mockCurrentUserService(); - $this->accessCheck = new PermissionAccessCheck(); } diff --git a/core/modules/user/tests/src/Unit/UserAccessControlHandlerTest.php b/core/modules/user/tests/src/Unit/UserAccessControlHandlerTest.php index bbca936..79463bc 100644 --- a/core/modules/user/tests/src/Unit/UserAccessControlHandlerTest.php +++ b/core/modules/user/tests/src/Unit/UserAccessControlHandlerTest.php @@ -9,7 +9,6 @@ use Drupal\Component\Utility\String; use Drupal\Core\Access\AccessResult; -use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Tests\UnitTestCase; use Drupal\user\UserAccessControlHandler; @@ -59,23 +58,6 @@ class UserAccessControlHandlerTest extends UnitTestCase { protected $items; /** - * Mocks the current user service, so that ::cachePerRole() can work. - * - * @see ::cachePerRole - * - * @todo remove this when https://www.drupal.org/node/2428703 lands. - */ - protected function mockCurrentUserService() { - $container = new ContainerBuilder(); - $current_user = $this->getMock('\Drupal\Core\Session\AccountProxyInterface'); - $current_user->expects($this->any()) - ->method('getRoles') - ->willReturn(['authenticated', 'llama_herder']); - $container->set('current_user', $current_user); - \Drupal::setContainer($container); - } - - /** * {@inheritdoc} */ public function setUp() { @@ -126,8 +108,6 @@ public function setUp() { ->expects($this->any()) ->method('defaultAccess') ->will($this->returnValue(AccessResult::allowed())); - - $this->mockCurrentUserService(); } /** diff --git a/core/modules/views/src/Tests/GlossaryTest.php b/core/modules/views/src/Tests/GlossaryTest.php index b78225d..1df4701 100644 --- a/core/modules/views/src/Tests/GlossaryTest.php +++ b/core/modules/views/src/Tests/GlossaryTest.php @@ -88,7 +88,6 @@ public function testGlossaryView() { // Verify cache tags. $this->enablePageCaching(); $this->assertPageCacheContextsAndTags(Url::fromRoute('view.glossary.page_1'), ['languages', 'url', 'user'], [ - 'config:user.role.anonymous', 'config:views.view.glossary', 'node:' . $nodes_by_char['a'][0]->id(), 'node:' . $nodes_by_char['a'][1]->id(), 'node:' . $nodes_by_char['a'][2]->id(), 'node_list', diff --git a/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php b/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php index 79fae6a..85028fd 100644 --- a/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php +++ b/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php @@ -13,7 +13,6 @@ use Drupal\Core\Cache\Cache; use Drupal\Core\Cache\CacheableInterface; use Drupal\Tests\UnitTestCase; -use Symfony\Component\DependencyInjection\ContainerBuilder; /** * @coversDefaultClass \Drupal\Core\Access\AccessResult diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityAccessCheckTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityAccessCheckTest.php index 1332424..bc2e5cc 100644 --- a/core/tests/Drupal/Tests/Core/Entity/EntityAccessCheckTest.php +++ b/core/tests/Drupal/Tests/Core/Entity/EntityAccessCheckTest.php @@ -7,7 +7,6 @@ namespace Drupal\Tests\Core\Entity; -use Drupal\Core\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\ParameterBag; use Symfony\Component\Routing\Route; use Drupal\Core\Access\AccessResult; @@ -23,27 +22,6 @@ class EntityAccessCheckTest extends UnitTestCase { /** - * {@inheritdoc} - * - * Mocks the current user service, so that ::cachePerRole() can work. - * - * @see AccessResult::cachePerRole - * - * @todo remove this when https://www.drupal.org/node/2428703 lands. - */ - protected function setUp() { - parent::setUp(); - - $container = new ContainerBuilder(); - $current_user = $this->getMock('\Drupal\Core\Session\AccountProxyInterface'); - $current_user->expects($this->any()) - ->method('getRoles') - ->willReturn(['authenticated', 'llama_herder']); - $container->set('current_user', $current_user); - \Drupal::setContainer($container); - } - - /** * Tests the method for checking access to routes. */ public function testAccess() { diff --git a/core/tests/Drupal/Tests/Core/Route/RoleAccessCheckTest.php b/core/tests/Drupal/Tests/Core/Route/RoleAccessCheckTest.php index 12e1914..d818e47 100644 --- a/core/tests/Drupal/Tests/Core/Route/RoleAccessCheckTest.php +++ b/core/tests/Drupal/Tests/Core/Route/RoleAccessCheckTest.php @@ -8,7 +8,6 @@ namespace Drupal\Tests\Core\Route; use Drupal\Core\Access\AccessResult; -use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Core\Session\UserSession; use Drupal\Tests\UnitTestCase; use Drupal\user\Access\RoleAccessCheck; @@ -23,27 +22,6 @@ class RoleAccessCheckTest extends UnitTestCase { /** - * {@inheritdoc} - * - * Mocks the current user service, so that ::cachePerRole() can work. - * - * @see AccessResult::cachePerRole - * - * @todo remove this when https://www.drupal.org/node/2428703 lands. - */ - protected function setUp() { - parent::setUp(); - - $container = new ContainerBuilder(); - $current_user = $this->getMock('\Drupal\Core\Session\AccountProxyInterface'); - $current_user->expects($this->any()) - ->method('getRoles') - ->willReturn(['authenticated', 'llama_herder']); - $container->set('current_user', $current_user); - \Drupal::setContainer($container); - } - - /** * Generates the test route collection. * * @return \Symfony\Component\Routing\RouteCollection