Revert "Issue #3393800 by mstrelan, dww, acbramley, amateescu, smustgrave, quietone: Kernel tests can't use path aliases on entities"
This reverts commit 97bdbe883c
.
merge-requests/5828/head
parent
fdacae95f3
commit
ebdb093f3d
|
@ -34,7 +34,6 @@ class MigrateBlockContentTranslationTest extends MigrateDrupal6TestBase {
|
|||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->installEntitySchema('block_content');
|
||||
$this->installEntitySchema('path_alias');
|
||||
$this->installConfig(['block']);
|
||||
$this->installConfig(['block_content']);
|
||||
$this->container->get('theme_installer')->install(['stark']);
|
||||
|
|
|
@ -32,7 +32,6 @@ class MigrateBlockTest extends MigrateDrupal6TestBase {
|
|||
*/
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->installEntitySchema('path_alias');
|
||||
|
||||
// Install the themes used for this test.
|
||||
$this->installEntitySchema('block_content');
|
||||
|
|
|
@ -37,7 +37,6 @@ class MigrateBlockContentTranslationTest extends MigrateDrupal7TestBase {
|
|||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->installEntitySchema('block_content');
|
||||
$this->installEntitySchema('path_alias');
|
||||
$this->installConfig(['block']);
|
||||
$this->installConfig(['block_content']);
|
||||
$this->container->get('theme_installer')->install(['stark']);
|
||||
|
|
|
@ -37,7 +37,6 @@ class MigrateBlockNoBlockContentTest extends MigrateDrupal7TestBase {
|
|||
$this->container->get('theme_installer')->install(['olivero', 'claro']);
|
||||
|
||||
$this->installConfig(static::$modules);
|
||||
$this->installEntitySchema('path_alias');
|
||||
|
||||
// Set Olivero and Claro as the default public and admin theme.
|
||||
$config = $this->config('system.theme');
|
||||
|
|
|
@ -34,7 +34,6 @@ class MigrateBlockTest extends MigrateDrupal7TestBase {
|
|||
*/
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->installEntitySchema('path_alias');
|
||||
|
||||
// Install the themes used for this test.
|
||||
$this->installEntitySchema('block_content');
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace Drupal\Tests\menu_link_content\Kernel;
|
||||
|
||||
use Drupal\Core\DependencyInjection\ContainerBuilder;
|
||||
use Drupal\Core\Menu\MenuTreeParameters;
|
||||
use Drupal\menu_link_content\Entity\MenuLinkContent;
|
||||
use Drupal\KernelTests\KernelTestBase;
|
||||
|
@ -44,6 +45,17 @@ class PathAliasMenuLinkContentTest extends KernelTestBase {
|
|||
module_set_weight('menu_link_content', 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function register(ContainerBuilder $container) {
|
||||
parent::register($container);
|
||||
|
||||
$definition = $container->getDefinition('path_alias.path_processor');
|
||||
$definition
|
||||
->addTag('path_processor_inbound', ['priority' => 100]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the path aliasing changing.
|
||||
*/
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types = 1);
|
||||
|
||||
namespace Drupal\Tests\path_alias\Kernel;
|
||||
|
||||
use Drupal\entity_test\Entity\EntityTest;
|
||||
use Drupal\KernelTests\KernelTestBase;
|
||||
use Drupal\Tests\Traits\Core\PathAliasTestTrait;
|
||||
|
||||
/**
|
||||
* Tests path alias on entities.
|
||||
*
|
||||
* @group path_alias
|
||||
*/
|
||||
class EntityAliasTest extends KernelTestBase {
|
||||
|
||||
use PathAliasTestTrait;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected static $modules = [
|
||||
'path_alias',
|
||||
'entity_test',
|
||||
'user',
|
||||
];
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->installEntitySchema('entity_test');
|
||||
$this->installEntitySchema('path_alias');
|
||||
$this->installEntitySchema('user');
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests transform.
|
||||
*/
|
||||
public function testEntityAlias(): void {
|
||||
EntityTest::create(['id' => 1])->save();
|
||||
$this->createPathAlias('/entity_test/1', '/entity-alias');
|
||||
$entity = EntityTest::load(1);
|
||||
$this->assertSame('/entity-alias', $entity->toUrl()->toString());
|
||||
}
|
||||
|
||||
}
|
|
@ -37,6 +37,7 @@ class RssFieldsTest extends ViewsKernelTestBase {
|
|||
$this->installConfig(['node', 'filter']);
|
||||
$this->installEntitySchema('user');
|
||||
$this->installEntitySchema('node');
|
||||
$this->installEntitySchema('path_alias');
|
||||
$this->createContentType(['type' => 'article']);
|
||||
}
|
||||
|
||||
|
|
|
@ -12,13 +12,6 @@ use Drupal\views\Plugin\views\PluginBase;
|
|||
*/
|
||||
class PluginInstanceTest extends ViewsKernelTestBase {
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected static $modules = [
|
||||
'path_alias',
|
||||
];
|
||||
|
||||
/**
|
||||
* All views plugin types.
|
||||
*
|
||||
|
|
|
@ -28,6 +28,7 @@ abstract class ViewsKernelTestBase extends KernelTestBase {
|
|||
* {@inheritdoc}
|
||||
*/
|
||||
protected static $modules = [
|
||||
'path_alias',
|
||||
'system',
|
||||
'views',
|
||||
'views_test_config',
|
||||
|
|
|
@ -20,7 +20,7 @@ class WorkspaceViewsKernelTest extends ViewsKernelTestBase {
|
|||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $modules = ['views_ui', 'workspaces', 'path_alias'];
|
||||
protected static $modules = ['views_ui', 'workspaces'];
|
||||
|
||||
/**
|
||||
* Tests creating a view of workspace entities.
|
||||
|
|
|
@ -120,10 +120,6 @@ class ResolvedLibraryDefinitionsFilesMatchTest extends KernelTestBase {
|
|||
// @todo Remove this in https://www.drupal.org/node/3039217.
|
||||
$this->installEntitySchema('user');
|
||||
|
||||
// Install the 'path_alias' entity schema because the path alias path
|
||||
// processor requires it.
|
||||
$this->installEntitySchema('path_alias');
|
||||
|
||||
// Remove demo_umami_content module as its install hook creates content
|
||||
// that relies on the presence of entity tables and various other elements
|
||||
// not present in a kernel test.
|
||||
|
|
|
@ -40,7 +40,6 @@ class ModuleConfigureRouteTest extends KernelTestBase {
|
|||
parent::setUp();
|
||||
$this->routeProvider = \Drupal::service('router.route_provider');
|
||||
$this->moduleInfo = \Drupal::service('extension.list.module')->getList();
|
||||
$this->installEntitySchema('path_alias');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace Drupal\KernelTests\Core\Routing;
|
||||
|
||||
use Drupal\Core\DependencyInjection\ContainerBuilder;
|
||||
use Drupal\KernelTests\KernelTestBase;
|
||||
use Drupal\Tests\Traits\Core\PathAliasTestTrait;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
@ -30,6 +31,20 @@ class ContentNegotiationRoutingTest extends KernelTestBase {
|
|||
$this->installEntitySchema('path_alias');
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function register(ContainerBuilder $container) {
|
||||
parent::register($container);
|
||||
|
||||
// \Drupal\KernelTests\KernelTestBase::register() removes the alias path
|
||||
// processor.
|
||||
if ($container->hasDefinition('path_alias.path_processor')) {
|
||||
$definition = $container->getDefinition('path_alias.path_processor');
|
||||
$definition->addTag('path_processor_inbound', ['priority' => 100])->addTag('path_processor_outbound', ['priority' => 300]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the content negotiation aspect of routing.
|
||||
*/
|
||||
|
|
|
@ -5,6 +5,7 @@ namespace Drupal\KernelTests\Core\Routing;
|
|||
use ColinODell\PsrTestLogger\TestLogger;
|
||||
use Drupal\Core\Cache\MemoryBackend;
|
||||
use Drupal\Core\Database\Database;
|
||||
use Drupal\Core\DependencyInjection\ContainerBuilder;
|
||||
use Drupal\Core\KeyValueStore\KeyValueMemoryFactory;
|
||||
use Drupal\Core\Path\CurrentPathStack;
|
||||
use Drupal\Core\Routing\MatcherDumper;
|
||||
|
@ -105,6 +106,19 @@ class RouteProviderTest extends KernelTestBase {
|
|||
$this->logger = new TestLogger();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function register(ContainerBuilder $container) {
|
||||
parent::register($container);
|
||||
|
||||
// Read the incoming path alias for these tests.
|
||||
if ($container->hasDefinition('path_alias.path_processor')) {
|
||||
$definition = $container->getDefinition('path_alias.path_processor');
|
||||
$definition->addTag('path_processor_inbound');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
|
@ -32,7 +32,7 @@ class Stable9LibraryOverrideTest extends StableLibraryOverrideTestBase {
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected static $modules = ['system', 'user'];
|
||||
protected static $modules = ['system', 'user', 'path_alias'];
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
|
|
|
@ -591,6 +591,16 @@ abstract class KernelTestBase extends TestCase implements ServiceProviderInterfa
|
|||
->addTag('event_subscriber');
|
||||
}
|
||||
|
||||
if ($container->hasDefinition('path_alias.path_processor')) {
|
||||
// The alias-based processor requires the path_alias entity schema to be
|
||||
// installed, so we prevent it from being registered to the path processor
|
||||
// manager. We do this by removing the tags that the compiler pass looks
|
||||
// for. This means that the URL generator can safely be used within tests.
|
||||
$container->getDefinition('path_alias.path_processor')
|
||||
->clearTag('path_processor_inbound')
|
||||
->clearTag('path_processor_outbound');
|
||||
}
|
||||
|
||||
// Relax the password hashing cost in tests to avoid performance issues.
|
||||
if ($container->hasDefinition('password')) {
|
||||
$container->getDefinition('password')
|
||||
|
|
Loading…
Reference in New Issue