Skip to content

Commit 642c5ef

Browse files
committed
Fix phpunit compatibility
- null queues; - array subset; - is array; - is callable; - read attribute; - add ext-pcntl.
1 parent 30687ac commit 642c5ef

31 files changed

+186
-122
lines changed

composer.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"datadog/php-datadogstatsd": "^1.3"
4242
},
4343
"require-dev": {
44+
"ext-pcntl": "*",
4445
"phpunit/phpunit": "^9.5",
4546
"phpstan/phpstan": "^0.12",
4647
"queue-interop/queue-spec": "^0.6",
@@ -60,7 +61,8 @@
6061
"doctrine/mongodb-odm-bundle": "^3.5|^4",
6162
"alcaeus/mongo-php-adapter": "^1.0",
6263
"kwn/php-rdkafka-stubs": "^1.0.2 | ^2.0",
63-
"friendsofphp/php-cs-fixer": "^2"
64+
"friendsofphp/php-cs-fixer": "^2",
65+
"dms/phpunit-arraysubset-asserts": "^0.2.1"
6466
},
6567
"autoload": {
6668
"psr-4": {

pkg/amqp-ext/Tests/AmqpConnectionFactoryTest.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
use Enqueue\AmqpExt\AmqpContext;
77
use Enqueue\AmqpTools\RabbitMqDlxDelayStrategy;
88
use Enqueue\Test\ClassExtensionTrait;
9+
use Enqueue\Test\ReadAttributeTrait;
910
use Interop\Queue\ConnectionFactory;
1011
use PHPUnit\Framework\TestCase;
1112

1213
class AmqpConnectionFactoryTest extends TestCase
1314
{
1415
use ClassExtensionTrait;
16+
use ReadAttributeTrait;
1517

1618
public function testShouldImplementConnectionFactoryInterface()
1719
{
@@ -34,6 +36,6 @@ public function testShouldCreateLazyContext()
3436
$this->assertInstanceOf(AmqpContext::class, $context);
3537

3638
$this->assertAttributeEquals(null, 'extChannel', $context);
37-
$this->assertInternalType('callable', $this->readAttribute($context, 'extChannelFactory'));
39+
self::assertIsCallable($this->readAttribute($context, 'extChannelFactory'));
3840
}
3941
}

pkg/amqp-tools/Tests/SignalSocketHelperTest.php

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@
33
namespace Enqueue\AmqpTools\Tests;
44

55
use Enqueue\AmqpTools\SignalSocketHelper;
6+
use Enqueue\Test\ReadAttributeTrait;
67
use PHPUnit\Framework\TestCase;
78

89
class SignalSocketHelperTest extends TestCase
910
{
11+
use ReadAttributeTrait;
12+
1013
/**
1114
* @var SignalSocketHelper
1215
*/
@@ -76,7 +79,7 @@ public function testShouldRegisterHandlerOnBeforeSocketAndBackupCurrentOne()
7679

7780
$handlers = $this->readAttribute($this->signalHelper, 'handlers');
7881

79-
$this->assertInternalType('array', $handlers);
82+
self::assertIsArray($handlers);
8083
$this->assertArrayHasKey(SIGTERM, $handlers);
8184
$this->assertSame($handler, $handlers[SIGTERM]);
8285
}

pkg/dbal/Tests/DbalConnectionFactoryConfigTest.php

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Enqueue\Dbal\DbalConnectionFactory;
66
use Enqueue\Test\ClassExtensionTrait;
7+
use Enqueue\Test\ReadAttributeTrait;
78
use PHPUnit\Framework\TestCase;
89

910
/**
@@ -12,6 +13,7 @@
1213
class DbalConnectionFactoryConfigTest extends TestCase
1314
{
1415
use ClassExtensionTrait;
16+
use ReadAttributeTrait;
1517

1618
public function testThrowNeitherArrayStringNorNullGivenAsConfig()
1719
{

pkg/enqueue-bundle/Tests/Unit/DependencyInjection/ConfigurationTest.php

+23-22
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Enqueue\Bundle\Tests\Unit\DependencyInjection;
44

5+
use DMS\PHPUnitExtensions\ArraySubset\Assert;
56
use Enqueue\Bundle\DependencyInjection\Configuration;
67
use Enqueue\Test\ClassExtensionTrait;
78
use PHPUnit\Framework\TestCase;
@@ -222,7 +223,7 @@ public function testJobShouldBeDisabledByDefault()
222223
],
223224
]]);
224225

225-
$this->assertArraySubset([
226+
Assert::assertArraySubset([
226227
'default' => [
227228
'job' => [
228229
'enabled' => false,
@@ -243,7 +244,7 @@ public function testCouldEnableJob()
243244
],
244245
]]);
245246

246-
$this->assertArraySubset([
247+
Assert::assertArraySubset([
247248
'default' => [
248249
'job' => true,
249250
],
@@ -261,7 +262,7 @@ public function testDoctrinePingConnectionExtensionShouldBeDisabledByDefault()
261262
],
262263
]]);
263264

264-
$this->assertArraySubset([
265+
Assert::assertArraySubset([
265266
'default' => [
266267
'extensions' => [
267268
'doctrine_ping_connection_extension' => false,
@@ -284,7 +285,7 @@ public function testDoctrinePingConnectionExtensionCouldBeEnabled()
284285
],
285286
]]);
286287

287-
$this->assertArraySubset([
288+
Assert::assertArraySubset([
288289
'default' => [
289290
'extensions' => [
290291
'doctrine_ping_connection_extension' => true,
@@ -304,7 +305,7 @@ public function testDoctrineClearIdentityMapExtensionShouldBeDisabledByDefault()
304305
],
305306
]]);
306307

307-
$this->assertArraySubset([
308+
Assert::assertArraySubset([
308309
'default' => [
309310
'extensions' => [
310311
'doctrine_clear_identity_map_extension' => false,
@@ -327,7 +328,7 @@ public function testDoctrineClearIdentityMapExtensionCouldBeEnabled()
327328
],
328329
]]);
329330

330-
$this->assertArraySubset([
331+
Assert::assertArraySubset([
331332
'default' => [
332333
'extensions' => [
333334
'doctrine_clear_identity_map_extension' => true,
@@ -347,7 +348,7 @@ public function testDoctrineOdmClearIdentityMapExtensionShouldBeDisabledByDefaul
347348
],
348349
]]);
349350

350-
$this->assertArraySubset([
351+
Assert::assertArraySubset([
351352
'default' => [
352353
'extensions' => [
353354
'doctrine_odm_clear_identity_map_extension' => false,
@@ -370,7 +371,7 @@ public function testDoctrineOdmClearIdentityMapExtensionCouldBeEnabled()
370371
],
371372
]]);
372373

373-
$this->assertArraySubset([
374+
Assert::assertArraySubset([
374375
'default' => [
375376
'extensions' => [
376377
'doctrine_odm_clear_identity_map_extension' => true,
@@ -390,7 +391,7 @@ public function testDoctrineClosedEntityManagerExtensionShouldBeDisabledByDefaul
390391
],
391392
]]);
392393

393-
$this->assertArraySubset([
394+
Assert::assertArraySubset([
394395
'default' => [
395396
'extensions' => [
396397
'doctrine_closed_entity_manager_extension' => false,
@@ -413,7 +414,7 @@ public function testDoctrineClosedEntityManagerExtensionCouldBeEnabled()
413414
],
414415
]]);
415416

416-
$this->assertArraySubset([
417+
Assert::assertArraySubset([
417418
'default' => [
418419
'extensions' => [
419420
'doctrine_closed_entity_manager_extension' => true,
@@ -433,7 +434,7 @@ public function testResetServicesExtensionShouldBeDisabledByDefault()
433434
],
434435
]]);
435436

436-
$this->assertArraySubset([
437+
Assert::assertArraySubset([
437438
'default' => [
438439
'extensions' => [
439440
'reset_services_extension' => false,
@@ -456,7 +457,7 @@ public function testResetServicesExtensionCouldBeEnabled()
456457
],
457458
]]);
458459

459-
$this->assertArraySubset([
460+
Assert::assertArraySubset([
460461
'default' => [
461462
'extensions' => [
462463
'reset_services_extension' => true,
@@ -478,7 +479,7 @@ public function testSignalExtensionShouldBeEnabledIfPcntlExtensionIsLoaded()
478479
],
479480
]]);
480481

481-
$this->assertArraySubset([
482+
Assert::assertArraySubset([
482483
'default' => [
483484
'extensions' => [
484485
'signal_extension' => $isLoaded,
@@ -501,7 +502,7 @@ public function testSignalExtensionCouldBeDisabled()
501502
],
502503
]]);
503504

504-
$this->assertArraySubset([
505+
Assert::assertArraySubset([
505506
'default' => [
506507
'extensions' => [
507508
'signal_extension' => false,
@@ -521,7 +522,7 @@ public function testReplyExtensionShouldBeEnabledByDefault()
521522
],
522523
]]);
523524

524-
$this->assertArraySubset([
525+
Assert::assertArraySubset([
525526
'default' => [
526527
'extensions' => [
527528
'reply_extension' => true,
@@ -544,7 +545,7 @@ public function testReplyExtensionCouldBeDisabled()
544545
],
545546
]]);
546547

547-
$this->assertArraySubset([
548+
Assert::assertArraySubset([
548549
'default' => [
549550
'extensions' => [
550551
'reply_extension' => false,
@@ -564,7 +565,7 @@ public function testShouldDisableAsyncEventsByDefault()
564565
],
565566
]]);
566567

567-
$this->assertArraySubset([
568+
Assert::assertArraySubset([
568569
'default' => [
569570
'async_events' => [
570571
'enabled' => false,
@@ -586,7 +587,7 @@ public function testShouldAllowEnableAsyncEvents()
586587
],
587588
]]);
588589

589-
$this->assertArraySubset([
590+
Assert::assertArraySubset([
590591
'default' => [
591592
'async_events' => [
592593
'enabled' => true,
@@ -603,7 +604,7 @@ public function testShouldAllowEnableAsyncEvents()
603604
],
604605
]]);
605606

606-
$this->assertArraySubset([
607+
Assert::assertArraySubset([
607608
'default' => [
608609
'async_events' => [
609610
'enabled' => true,
@@ -623,7 +624,7 @@ public function testShouldSetDefaultConfigurationForConsumption()
623624
],
624625
]]);
625626

626-
$this->assertArraySubset([
627+
Assert::assertArraySubset([
627628
'default' => [
628629
'consumption' => [
629630
'receive_timeout' => 10000,
@@ -646,7 +647,7 @@ public function testShouldAllowConfigureConsumption()
646647
],
647648
]]);
648649

649-
$this->assertArraySubset([
650+
Assert::assertArraySubset([
650651
'default' => [
651652
'consumption' => [
652653
'receive_timeout' => 456,
@@ -657,6 +658,6 @@ public function testShouldAllowConfigureConsumption()
657658

658659
private function assertConfigEquals(array $expected, array $actual): void
659660
{
660-
$this->assertArraySubset($expected, $actual, false, var_export($actual, true));
661+
Assert::assertArraySubset($expected, $actual, false, var_export($actual, true));
661662
}
662663
}

pkg/enqueue-bundle/Tests/Unit/Profiler/MessageQueueCollectorTest.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Enqueue\Bundle\Tests\Unit\Profiler;
44

5+
use DMS\PHPUnitExtensions\ArraySubset\Assert;
56
use Enqueue\Bundle\Profiler\MessageQueueCollector;
67
use Enqueue\Client\MessagePriority;
78
use Enqueue\Client\ProducerInterface;
@@ -59,7 +60,7 @@ public function testShouldReturnSentMessageArrayTakenFromTraceableProducers()
5960

6061
$collector->collect(new Request(), new Response());
6162

62-
$this->assertArraySubset(
63+
Assert::assertArraySubset(
6364
[
6465
'foo' => [
6566
[

pkg/enqueue/Tests/Client/ConsumptionExtension/DelayRedeliveredMessageExtensionTest.php

+4-5
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Interop\Queue\Destination;
1616
use Interop\Queue\Message as TransportMessage;
1717
use Interop\Queue\Processor;
18+
use Interop\Queue\Queue;
1819
use PHPUnit\Framework\MockObject\MockObject;
1920
use PHPUnit\Framework\TestCase;
2021
use Psr\Log\LoggerInterface;
@@ -169,17 +170,15 @@ private function createProcessorMock(): Processor
169170
}
170171

171172
/**
172-
* @param mixed $queue
173-
*
174-
* @return MockObject
173+
* @return MockObject|Consumer
175174
*/
176-
private function createConsumerStub($queue): Consumer
175+
private function createConsumerStub(?Queue $queue): Consumer
177176
{
178177
$consumerMock = $this->createMock(Consumer::class);
179178
$consumerMock
180179
->expects($this->any())
181180
->method('getQueue')
182-
->willReturn($queue)
181+
->willReturn($queue ?? new NullQueue('queue'))
183182
;
184183

185184
return $consumerMock;

pkg/enqueue/Tests/Client/ConsumptionExtension/ExclusiveCommandExtensionTest.php

+7-8
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Interop\Queue\Consumer;
1616
use Interop\Queue\Context as InteropContext;
1717
use Interop\Queue\Processor;
18+
use Interop\Queue\Queue;
1819
use PHPUnit\Framework\MockObject\MockObject;
1920
use PHPUnit\Framework\TestCase;
2021
use Psr\Log\NullLogger;
@@ -243,15 +244,15 @@ public function testShouldDoNothingIfAnotherQueue()
243244
}
244245

245246
/**
246-
* @return MockObject
247+
* @return MockObject|DriverInterface
247248
*/
248-
private function createDriverStub(RouteCollection $routeCollection = null): DriverInterface
249+
private function createDriverStub(?RouteCollection $routeCollection = null): DriverInterface
249250
{
250251
$driver = $this->createMock(DriverInterface::class);
251252
$driver
252253
->expects($this->any())
253254
->method('getRouteCollection')
254-
->willReturn($routeCollection)
255+
->willReturn($routeCollection ?? new RouteCollection())
255256
;
256257

257258
return $driver;
@@ -274,17 +275,15 @@ private function createProcessorMock(): Processor
274275
}
275276

276277
/**
277-
* @param mixed $queue
278-
*
279-
* @return MockObject
278+
* @return MockObject|Consumer
280279
*/
281-
private function createConsumerStub($queue): Consumer
280+
private function createConsumerStub(?Queue $queue): Consumer
282281
{
283282
$consumerMock = $this->createMock(Consumer::class);
284283
$consumerMock
285284
->expects($this->any())
286285
->method('getQueue')
287-
->willReturn($queue)
286+
->willReturn($queue ?? new NullQueue('queue'))
288287
;
289288

290289
return $consumerMock;

0 commit comments

Comments
 (0)