[Workflow] Make many internal services as hidden

This commit is contained in:
Grégoire Pineau 2020-01-13 14:17:08 +01:00
parent ddc016988e
commit b4776d6558
2 changed files with 14 additions and 14 deletions

View File

@ -632,7 +632,7 @@ class FrameworkExtension extends Extension
if ('workflow' === $type) { if ('workflow' === $type) {
$transitionDefinition = new Definition(Workflow\Transition::class, [$transition['name'], $transition['from'], $transition['to']]); $transitionDefinition = new Definition(Workflow\Transition::class, [$transition['name'], $transition['from'], $transition['to']]);
$transitionDefinition->setPublic(false); $transitionDefinition->setPublic(false);
$transitionId = sprintf('%s.transition.%s', $workflowId, $transitionCounter++); $transitionId = sprintf('.%s.transition.%s', $workflowId, $transitionCounter++);
$container->setDefinition($transitionId, $transitionDefinition); $container->setDefinition($transitionId, $transitionDefinition);
$transitions[] = new Reference($transitionId); $transitions[] = new Reference($transitionId);
if (isset($transition['guard'])) { if (isset($transition['guard'])) {
@ -654,7 +654,7 @@ class FrameworkExtension extends Extension
foreach ($transition['to'] as $to) { foreach ($transition['to'] as $to) {
$transitionDefinition = new Definition(Workflow\Transition::class, [$transition['name'], $from, $to]); $transitionDefinition = new Definition(Workflow\Transition::class, [$transition['name'], $from, $to]);
$transitionDefinition->setPublic(false); $transitionDefinition->setPublic(false);
$transitionId = sprintf('%s.transition.%s', $workflowId, $transitionCounter++); $transitionId = sprintf('.%s.transition.%s', $workflowId, $transitionCounter++);
$container->setDefinition($transitionId, $transitionDefinition); $container->setDefinition($transitionId, $transitionDefinition);
$transitions[] = new Reference($transitionId); $transitions[] = new Reference($transitionId);
if (isset($transition['guard'])) { if (isset($transition['guard'])) {
@ -750,7 +750,7 @@ class FrameworkExtension extends Extension
$listener->addTag('kernel.event_listener', ['event' => sprintf('workflow.%s.transition', $name), 'method' => 'onTransition']); $listener->addTag('kernel.event_listener', ['event' => sprintf('workflow.%s.transition', $name), 'method' => 'onTransition']);
$listener->addTag('kernel.event_listener', ['event' => sprintf('workflow.%s.enter', $name), 'method' => 'onEnter']); $listener->addTag('kernel.event_listener', ['event' => sprintf('workflow.%s.enter', $name), 'method' => 'onEnter']);
$listener->addArgument(new Reference('logger')); $listener->addArgument(new Reference('logger'));
$container->setDefinition(sprintf('%s.listener.audit_trail', $workflowId), $listener); $container->setDefinition(sprintf('.%s.listener.audit_trail', $workflowId), $listener);
} }
// Add Guard Listener // Add Guard Listener
@ -779,7 +779,7 @@ class FrameworkExtension extends Extension
$guard->addTag('kernel.event_listener', ['event' => $eventName, 'method' => 'onTransition']); $guard->addTag('kernel.event_listener', ['event' => $eventName, 'method' => 'onTransition']);
} }
$container->setDefinition(sprintf('%s.listener.guard', $workflowId), $guard); $container->setDefinition(sprintf('.%s.listener.guard', $workflowId), $guard);
$container->setParameter('workflow.has_guard_listeners', true); $container->setParameter('workflow.has_guard_listeners', true);
} }
} }

View File

@ -264,7 +264,7 @@ abstract class FrameworkExtensionTest extends TestCase
$params = $transitionsMetadataCall[1]; $params = $transitionsMetadataCall[1];
$this->assertCount(2, $params); $this->assertCount(2, $params);
$this->assertInstanceOf(Reference::class, $params[0]); $this->assertInstanceOf(Reference::class, $params[0]);
$this->assertSame('state_machine.pull_request.transition.0', (string) $params[0]); $this->assertSame('.state_machine.pull_request.transition.0', (string) $params[0]);
$serviceMarkingStoreWorkflowDefinition = $container->getDefinition('workflow.service_marking_store_workflow'); $serviceMarkingStoreWorkflowDefinition = $container->getDefinition('workflow.service_marking_store_workflow');
/** @var Reference $markingStoreRef */ /** @var Reference $markingStoreRef */
@ -311,7 +311,7 @@ abstract class FrameworkExtensionTest extends TestCase
$this->assertCount(5, $transitions); $this->assertCount(5, $transitions);
$this->assertSame('workflow.article.transition.0', (string) $transitions[0]); $this->assertSame('.workflow.article.transition.0', (string) $transitions[0]);
$this->assertSame([ $this->assertSame([
'request_review', 'request_review',
[ [
@ -322,7 +322,7 @@ abstract class FrameworkExtensionTest extends TestCase
], ],
], $container->getDefinition($transitions[0])->getArguments()); ], $container->getDefinition($transitions[0])->getArguments());
$this->assertSame('workflow.article.transition.1', (string) $transitions[1]); $this->assertSame('.workflow.article.transition.1', (string) $transitions[1]);
$this->assertSame([ $this->assertSame([
'journalist_approval', 'journalist_approval',
[ [
@ -333,7 +333,7 @@ abstract class FrameworkExtensionTest extends TestCase
], ],
], $container->getDefinition($transitions[1])->getArguments()); ], $container->getDefinition($transitions[1])->getArguments());
$this->assertSame('workflow.article.transition.2', (string) $transitions[2]); $this->assertSame('.workflow.article.transition.2', (string) $transitions[2]);
$this->assertSame([ $this->assertSame([
'spellchecker_approval', 'spellchecker_approval',
[ [
@ -344,7 +344,7 @@ abstract class FrameworkExtensionTest extends TestCase
], ],
], $container->getDefinition($transitions[2])->getArguments()); ], $container->getDefinition($transitions[2])->getArguments());
$this->assertSame('workflow.article.transition.3', (string) $transitions[3]); $this->assertSame('.workflow.article.transition.3', (string) $transitions[3]);
$this->assertSame([ $this->assertSame([
'publish', 'publish',
[ [
@ -356,7 +356,7 @@ abstract class FrameworkExtensionTest extends TestCase
], ],
], $container->getDefinition($transitions[3])->getArguments()); ], $container->getDefinition($transitions[3])->getArguments());
$this->assertSame('workflow.article.transition.4', (string) $transitions[4]); $this->assertSame('.workflow.article.transition.4', (string) $transitions[4]);
$this->assertSame([ $this->assertSame([
'publish', 'publish',
[ [
@ -372,10 +372,10 @@ abstract class FrameworkExtensionTest extends TestCase
{ {
$container = $this->createContainerFromFile('workflow_with_guard_expression'); $container = $this->createContainerFromFile('workflow_with_guard_expression');
$this->assertTrue($container->hasDefinition('workflow.article.listener.guard'), 'Workflow guard listener is registered as a service'); $this->assertTrue($container->hasDefinition('.workflow.article.listener.guard'), 'Workflow guard listener is registered as a service');
$this->assertTrue($container->hasParameter('workflow.has_guard_listeners'), 'Workflow guard listeners parameter exists'); $this->assertTrue($container->hasParameter('workflow.has_guard_listeners'), 'Workflow guard listeners parameter exists');
$this->assertTrue(true === $container->getParameter('workflow.has_guard_listeners'), 'Workflow guard listeners parameter is enabled'); $this->assertTrue(true === $container->getParameter('workflow.has_guard_listeners'), 'Workflow guard listeners parameter is enabled');
$guardDefinition = $container->getDefinition('workflow.article.listener.guard'); $guardDefinition = $container->getDefinition('.workflow.article.listener.guard');
$this->assertSame([ $this->assertSame([
[ [
'event' => 'workflow.article.guard.publish', 'event' => 'workflow.article.guard.publish',
@ -385,9 +385,9 @@ abstract class FrameworkExtensionTest extends TestCase
$guardsConfiguration = $guardDefinition->getArgument(0); $guardsConfiguration = $guardDefinition->getArgument(0);
$this->assertTrue(1 === \count($guardsConfiguration), 'Workflow guard configuration contains one element per transition name'); $this->assertTrue(1 === \count($guardsConfiguration), 'Workflow guard configuration contains one element per transition name');
$transitionGuardExpressions = $guardsConfiguration['workflow.article.guard.publish']; $transitionGuardExpressions = $guardsConfiguration['workflow.article.guard.publish'];
$this->assertSame('workflow.article.transition.3', (string) $transitionGuardExpressions[0]->getArgument(0)); $this->assertSame('.workflow.article.transition.3', (string) $transitionGuardExpressions[0]->getArgument(0));
$this->assertSame('!!true', $transitionGuardExpressions[0]->getArgument(1)); $this->assertSame('!!true', $transitionGuardExpressions[0]->getArgument(1));
$this->assertSame('workflow.article.transition.4', (string) $transitionGuardExpressions[1]->getArgument(0)); $this->assertSame('.workflow.article.transition.4', (string) $transitionGuardExpressions[1]->getArgument(0));
$this->assertSame('!!false', $transitionGuardExpressions[1]->getArgument(1)); $this->assertSame('!!false', $transitionGuardExpressions[1]->getArgument(1));
} }