Skip to content

Commit bfc1cef

Browse files
authoredMay 10, 2018
Merge pull request #441 from thePanz/patch-1
Improve exception messages for topic-subscribers
2 parents d8b0850 + a50057c commit bfc1cef

File tree

4 files changed

+15
-5
lines changed

4 files changed

+15
-5
lines changed
 

‎pkg/enqueue-bundle/DependencyInjection/Compiler/ExtractProcessorTagSubscriptionsTrait.php

+12-2
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,16 @@ protected function extractSubscriptions(ContainerBuilder $container, $processorS
8383

8484
if (is_subclass_of($processorClass, TopicSubscriberInterface::class)) {
8585
/** @var TopicSubscriberInterface $processorClass */
86-
foreach ($processorClass::getSubscribedTopics() as $topicName => $params) {
86+
$topics = $processorClass::getSubscribedTopics();
87+
if (!is_array($topics)) {
88+
throw new \LogicException(sprintf(
89+
'Topic subscriber configuration is invalid for "%s::getSubscribedTopics()": expected array, got %s.',
90+
$processorClass,
91+
gettype($topics)
92+
));
93+
}
94+
95+
foreach ($topics as $topicName => $params) {
8796
if (is_string($params)) {
8897
$data[] = [
8998
'topicName' => $params,
@@ -102,7 +111,8 @@ protected function extractSubscriptions(ContainerBuilder $container, $processorS
102111
];
103112
} else {
104113
throw new \LogicException(sprintf(
105-
'Topic subscriber configuration is invalid. "%s"',
114+
'Topic subscriber configuration is invalid for "%s::getSubscribedTopics()". "%s"',
115+
$processorClass,
106116
json_encode($processorClass::getSubscribedTopics())
107117
));
108118
}

‎pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildClientRoutingPassTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ public function testShouldThrowExceptionWhenTopicSubscriberConfigurationIsInvali
254254
$pass = new BuildClientRoutingPass();
255255

256256
$this->expectException(\LogicException::class);
257-
$this->expectExceptionMessage('Topic subscriber configuration is invalid. "[12345]"');
257+
$this->expectExceptionMessage('Topic subscriber configuration is invalid');
258258

259259
$pass->process($container);
260260
}

‎pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildProcessorRegistryPassTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ public function testShouldBuildRouteFromSubscriberIfProcessorNameSpecified()
180180
public function testShouldThrowExceptionWhenTopicSubscriberConfigurationIsInvalid()
181181
{
182182
$this->expectException(\LogicException::class);
183-
$this->expectExceptionMessage('Topic subscriber configuration is invalid. "[12345]"');
183+
$this->expectExceptionMessage('Topic subscriber configuration is invalid');
184184

185185
$container = $this->createContainerBuilder();
186186

‎pkg/enqueue-bundle/Tests/Unit/DependencyInjection/Compiler/BuildTopicMetaSubscribersPassTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ public function testShouldThrowExceptionWhenTopicSubscriberConfigurationIsInvali
302302
$pass = new BuildTopicMetaSubscribersPass();
303303

304304
$this->expectException(\LogicException::class);
305-
$this->expectExceptionMessage('Topic subscriber configuration is invalid. "[12345]"');
305+
$this->expectExceptionMessage('Topic subscriber configuration is invalid');
306306

307307
$pass->process($container);
308308
}

0 commit comments

Comments
 (0)
Please sign in to comment.