3
3
* Copyright © Magento, Inc. All rights reserved.
4
4
* See COPYING.txt for license details.
5
5
*/
6
+ declare (strict_types=1 );
6
7
7
8
namespace Magento \MessageQueue \Test \Unit \Model ;
8
9
9
- use Magento \Framework \MessageQueue \ConsumerInterface ;
10
- use Magento \MessageQueue \Model \ConsumerRunner ;
10
+ use Magento \Framework \App \MaintenanceMode ;
11
11
use Magento \Framework \Exception \LocalizedException ;
12
+ use Magento \Framework \MessageQueue \ConsumerFactory ;
13
+ use Magento \Framework \MessageQueue \ConsumerInterface ;
12
14
use Magento \Framework \Phrase ;
15
+ use Magento \Framework \TestFramework \Unit \Helper \ObjectManager ;
16
+ use Magento \MessageQueue \Model \ConsumerRunner ;
17
+ use PHPUnit \Framework \MockObject \MockObject ;
18
+ use PHPUnit \Framework \TestCase ;
13
19
14
- /**
15
- * Unit tests for consumer runner
16
- */
17
- class ConsumerRunnerTest extends \PHPUnit \Framework \TestCase
20
+ class ConsumerRunnerTest extends TestCase
18
21
{
19
- /** @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager */
22
+ const STUB_SLEEP_INTERVAL = 0 ;
23
+
24
+ /**
25
+ * @var ObjectManager
26
+ */
20
27
private $ objectManager ;
21
28
22
29
/**
@@ -25,12 +32,12 @@ class ConsumerRunnerTest extends \PHPUnit\Framework\TestCase
25
32
private $ consumerRunner ;
26
33
27
34
/**
28
- * @var \Magento\Framework\MessageQueue\ ConsumerFactory|\PHPUnit_Framework_MockObject_MockObject
35
+ * @var ConsumerFactory|MockObject
29
36
*/
30
37
private $ consumerFactoryMock ;
31
38
32
39
/**
33
- * @var \Magento\Framework\App\ MaintenanceMode|\PHPUnit_Framework_MockObject_MockObject
40
+ * @var MaintenanceMode|MockObject
34
41
*/
35
42
private $ maintenanceModeMock ;
36
43
@@ -39,21 +46,23 @@ class ConsumerRunnerTest extends \PHPUnit\Framework\TestCase
39
46
*/
40
47
protected function setUp ()
41
48
{
42
- $ this ->objectManager = new \Magento \Framework \TestFramework \Unit \Helper \ObjectManager ($ this );
43
- $ this ->consumerFactoryMock = $ this ->getMockBuilder (\Magento \Framework \MessageQueue \ConsumerFactory::class)
49
+ $ this ->objectManager = new ObjectManager ($ this );
50
+
51
+ $ this ->consumerFactoryMock = $ this ->getMockBuilder (ConsumerFactory::class)
44
52
->disableOriginalConstructor ()
45
53
->getMock ();
46
- $ this ->maintenanceModeMock = $ this ->getMockBuilder (\ Magento \ Framework \ App \ MaintenanceMode::class)
54
+ $ this ->maintenanceModeMock = $ this ->getMockBuilder (MaintenanceMode::class)
47
55
->disableOriginalConstructor ()
48
56
->getMock ();
57
+
49
58
$ this ->consumerRunner = $ this ->objectManager ->getObject (
50
- \ Magento \ MessageQueue \ Model \ ConsumerRunner::class,
59
+ ConsumerRunner::class,
51
60
[
52
61
'consumerFactory ' => $ this ->consumerFactoryMock ,
53
- 'maintenanceMode ' => $ this ->maintenanceModeMock
62
+ 'maintenanceMode ' => $ this ->maintenanceModeMock ,
63
+ 'maintenanceSleepInterval ' => self ::STUB_SLEEP_INTERVAL
54
64
]
55
65
);
56
- parent ::setUp ();
57
66
}
58
67
59
68
/**
@@ -64,8 +73,8 @@ protected function setUp()
64
73
public function testMagicMethod ()
65
74
{
66
75
$ isMaintenanceModeOn = false ;
67
- /** @var ConsumerInterface|\PHPUnit_Framework_MockObject_MockObject $consumerMock */
68
- $ consumerMock = $ this ->getMockBuilder (\ Magento \ Framework \ MessageQueue \ ConsumerInterface::class)->getMock ();
76
+ /** @var ConsumerInterface|MockObject $consumerMock */
77
+ $ consumerMock = $ this ->getMockBuilder (ConsumerInterface::class)->getMock ();
69
78
$ consumerMock ->expects ($ this ->once ())->method ('process ' );
70
79
$ consumerName = 'someConsumerName ' ;
71
80
$ this ->consumerFactoryMock
@@ -81,12 +90,13 @@ public function testMagicMethod()
81
90
/**
82
91
* Ensure that exception will be thrown if requested magic method does not correspond to any declared consumer.
83
92
*
84
- * @expectedException \Magento\Framework\Exception\LocalizedException
85
- * @expectedExceptionMessage "nonDeclaredConsumer" callback method specified in crontab.xml must
86
93
* @return void
87
94
*/
88
95
public function testMagicMethodNoRelatedConsumer ()
89
96
{
97
+ $ this ->expectException (LocalizedException::class);
98
+ $ this ->expectExceptionMessage ('"nonDeclaredConsumer" callback method specified in crontab.xml must ' );
99
+
90
100
$ consumerName = 'nonDeclaredConsumer ' ;
91
101
$ this ->consumerFactoryMock
92
102
->expects ($ this ->once ())
@@ -105,8 +115,9 @@ public function testMagicMethodNoRelatedConsumer()
105
115
public function testMagicMethodMaintenanceModeIsOn ()
106
116
{
107
117
$ isMaintenanceModeOn = true ;
108
- /** @var ConsumerInterface|\PHPUnit_Framework_MockObject_MockObject $consumerMock */
109
- $ consumerMock = $ this ->getMockBuilder (\Magento \Framework \MessageQueue \ConsumerInterface::class)->getMock ();
118
+
119
+ /** @var ConsumerInterface|MockObject $consumerMock */
120
+ $ consumerMock = $ this ->getMockBuilder (ConsumerInterface::class)->getMock ();
110
121
$ consumerMock ->expects ($ this ->never ())->method ('process ' );
111
122
$ consumerName = 'someConsumerName ' ;
112
123
$ this ->consumerFactoryMock
0 commit comments