public function testNodeAccessCacheabilitySafeguard() { // The node grants cache context should be added automatically.
$this->
drupalGet(new Url('node_access_test_auto_bubbling'
));
$this->
assertCacheContext('user.node_grants:view'
);
// The root user has the 'bypass node access' permission, which means the
// node grants cache context is not necessary.
$this->
drupalLogin($this->rootUser
);
$this->
drupalGet(new Url('node_access_test_auto_bubbling'
));
$this->
assertNoCacheContext('user.node_grants:view'
);
$this->
drupalLogout();
// Uninstall the module with the only hook_node_grants() implementation.
$this->container->
get('module_installer'
)->
uninstall(['node_access_test'
]);
$this->
rebuildContainer();
// Because there are no node grants defined, there also is no need for the
// node grants cache context to be bubbled.
$this->
drupalGet(new Url('node_access_test_auto_bubbling'
));
$this->
assertNoCacheContext('user.node_grants:view'
);
}