1616use Hyperf \AsyncQueue \JobMessage ;
1717use Hyperf \AsyncQueue \MessageInterface ;
1818use HyperfTest \AsyncQueue \Stub \DemoJob ;
19- use HyperfTest \AsyncQueue \Stub \OldJobMessage ;
2019use PHPUnit \Framework \Attributes \CoversNothing ;
2120use PHPUnit \Framework \TestCase ;
2221
@@ -36,19 +35,18 @@ public function testJobMessageSerialize()
3635
3736 $ serialized = $ message ->__serialize ();
3837
39- $ this ->assertEquals ($ serialized [0 ], $ serialized ['job ' ]);
40- $ this ->assertEquals ($ serialized [1 ], $ serialized ['attempts ' ]);
4138 $ this ->assertArrayHasKey ('job ' , $ serialized );
4239 $ this ->assertArrayHasKey ('attempts ' , $ serialized );
40+ $ this ->assertInstanceOf (JobInterface::class, $ serialized ['job ' ]);
41+ $ this ->assertSame (0 , $ serialized ['attempts ' ]);
4342
4443 $ this ->assertInstanceOf (MessageInterface::class, $ message );
4544 $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
46- $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
4745 $ this ->assertInstanceOf (DemoJob::class, $ message ->job ());
4846 $ this ->assertSame ($ id , $ message ->job ()->id );
4947 }
5048
51- public function testJobMessageSerializeCompatible ()
49+ public function testJobMessageUnserialize ()
5250 {
5351 $ id = rand (0 , 9999 );
5452 $ message = new JobMessage (
@@ -57,61 +55,26 @@ public function testJobMessageSerializeCompatible()
5755
5856 $ serialized = $ message ->__serialize ();
5957
60- $ this ->assertEquals ( $ serialized [ 0 ] , $ serialized[ ' job ' ] );
61- $ this ->assertEquals ( $ serialized [ 1 ] , $ serialized[ ' attempts ' ] );
58+ $ this ->assertArrayHasKey ( ' job ' , $ serialized );
59+ $ this ->assertArrayHasKey ( ' attempts ' , $ serialized );
6260
6361 $ message = unserialize (serialize ($ message ));
6462 $ this ->assertInstanceOf (MessageInterface::class, $ message );
6563 $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
66- $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
6764 $ this ->assertInstanceOf (DemoJob::class, $ message ->job ());
6865 $ this ->assertSame ($ id , $ message ->job ()->id );
6966 $ this ->assertSame (0 , $ message ->getAttempts ());
7067
7168 $ serialized = [
72- 'job ' => $ serialized ['job ' ] ?? $ serialized [ 0 ] ,
69+ 'job ' => $ serialized ['job ' ],
7370 'attempts ' => 3 ,
7471 ];
7572 $ message ->__unserialize ($ serialized );
7673
7774 $ this ->assertInstanceOf (MessageInterface::class, $ message );
7875 $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
79- $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
8076 $ this ->assertInstanceOf (DemoJob::class, $ message ->job ());
8177 $ this ->assertSame ($ id , $ message ->job ()->id );
8278 $ this ->assertSame (3 , $ message ->getAttempts ());
83-
84- $ serialized = [new DemoJob ($ id ), 5 ];
85- $ message ->__unserialize ($ serialized );
86-
87- $ this ->assertInstanceOf (MessageInterface::class, $ message );
88- $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
89- $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
90- $ this ->assertInstanceOf (DemoJob::class, $ message ->job ());
91- $ this ->assertSame ($ id , $ message ->job ()->id );
92- $ this ->assertSame (5 , $ message ->getAttempts ());
93- }
94-
95- public function testUnserializeAsOldJobMessage ()
96- {
97- $ id = rand (0 , 9999 );
98- $ message = new JobMessage (
99- new DemoJob ($ id )
100- );
101-
102- $ serialized = serialize ($ message );
103- $ serialized = str_replace (
104- sprintf ('O:%d:"%s ' , strlen (JobMessage::class), JobMessage::class),
105- sprintf ('O:%d:"%s ' , strlen (OldJobMessage::class), OldJobMessage::class),
106- $ serialized
107- );
108- $ message = unserialize ($ serialized );
109-
110- $ this ->assertInstanceOf (MessageInterface::class, $ message );
111- $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
112- $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
113- $ this ->assertInstanceOf (DemoJob::class, $ message ->job ());
114- $ this ->assertSame ($ id , $ message ->job ()->id );
115- $ this ->assertSame (0 , $ message ->getAttempts ());
11679 }
11780}
0 commit comments