Problem/Motivation

In #540008: Add a container parameter that can remove the special behavior of UID#1 an approach was taken where we can simply flag tests that are failing if we turn off user 1's super user powers, so that they can be taken care of in a followup. This issue is to collect all of these followups.

The goal is to have no tests in Drupal core that rely on UID1's special privileges so that we:

  1. Know these tests are correctly assigning the necessary permissions to run
  2. Can turn off the super user access policy in D11, knowing it won't break core
  3. Can remove the super user access policy in D12, providing an admin account recovery tool to replace it

Steps to reproduce

Go into any of the tests flagged with:

  /**
   * {@inheritdoc}
   *
   * @todo Remove and fix test to not rely on super user.
   * @see https://www.drupal.org/project/drupal/issues/3437620
   */

And:

  1. Remove the code below that sets the usesSuperUserAccessPolicy to TRUE.
  2. Run the test to see which test methods are failing

Proposed resolution

Assign the right permissions to make the test go green without the super user access policy. Those few tests that specifically test said policy can obviously stay, but will be removed along with the policy in D12.

Remaining tasks

  • core/tests/Drupal/
    • FunctionalTests/Theme/ClaroTest.php
    • KernelTests/Core/Entity/RouteProviderTest.php
    • KernelTests/Core/Render/RenderCacheTest.php

Issue fork drupal-3439925

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

vensires created an issue. See original summary.

simonbaese made their first commit to this issue’s fork.

simonbaese’s picture

Status: Active » Needs review

After aligning with @kristiaanvandeneynde the RenderCacheTest should be removed entirely. See related issue #3436395: UserRolesCacheContext can lead to poisoned cache returns for user 1.

smustgrave’s picture

Status: Needs review » Needs work

Removing the tests appear to be scope creep though. Believe the test removal should be done in the issue you mentioned.

simonbaese’s picture

Status: Needs work » Postponed

Then the mentioned issue should be solved first, because we can not fix this issue if not removing the test.

smustgrave’s picture

So actually could just leave that one test as is (revert in MR).
Put a todo in it to #3436395: UserRolesCacheContext can lead to poisoned cache returns for user 1 that it will be removed
Updated #3436395: UserRolesCacheContext can lead to poisoned cache returns for user 1 to make sure they remove the test there.

Then the other 2 can move forward.

simonbaese’s picture

Status: Postponed » Needs review

@smustgrave I reverted the deletion of the RenderCacheTest. Can you please make respective comments and add todos in the other issues. I am having a hard time understanding your last comment.

smustgrave’s picture

Status: Needs review » Reviewed & tested by the community
Issue tags: +Needs Review Queue Initiative
Related issues: +#3436395: UserRolesCacheContext can lead to poisoned cache returns for user 1

Added todo to the test we aren't updating here and updated IS in #3436395: UserRolesCacheContext can lead to poisoned cache returns for user 1

alexpott’s picture

Version: 11.x-dev » 10.3.x-dev
Status: Reviewed & tested by the community » Fixed

Committed and pushed cbad32ab34 to 11.x and 097371801c to 10.3.x. Thanks!

  • alexpott committed 09737180 on 10.3.x
    Issue #3439925 by simonbaese, smustgrave, vensires: Fix Core tests that...

  • alexpott committed cbad32ab on 11.x
    Issue #3439925 by simonbaese, smustgrave, vensires: Fix Core tests that...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.