@@ -32,10 +32,47 @@ public function testJobMessageSerialize()
3232 new DemoJob ($ id )
3333 );
3434
35+ $ serialized = $ message ->__serialize ();
36+ $ this ->assertArrayHasKey ('job ' , $ serialized );
37+ $ this ->assertArrayHasKey ('attempts ' , $ serialized );
38+
39+ $ this ->assertInstanceOf (MessageInterface::class, $ message );
40+ $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
41+ $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
42+ $ this ->assertInstanceOf (DemoJob::class, $ message ->job ());
43+ $ this ->assertSame ($ id , $ message ->job ()->id );
44+ }
45+
46+ public function testJobMessageSerializeCompatible ()
47+ {
48+ $ id = rand (0 , 9999 );
49+ $ message = new JobMessage (
50+ new DemoJob ($ id )
51+ );
52+
53+ $ serialized = $ message ->__serialize ();
54+
55+ $ serialized = [
56+ 'job ' => $ serialized ['job ' ],
57+ 'attempts ' => 3 ,
58+ ];
59+ $ message ->__unserialize ($ serialized );
60+
61+ $ this ->assertInstanceOf (MessageInterface::class, $ message );
62+ $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
63+ $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
64+ $ this ->assertInstanceOf (DemoJob::class, $ message ->job ());
65+ $ this ->assertSame ($ id , $ message ->job ()->id );
66+ $ this ->assertSame (3 , $ message ->getAttempts ());
67+
68+ $ serialized = [new DemoJob ($ id ), 5 ];
69+ $ message ->__unserialize ($ serialized );
70+
3571 $ this ->assertInstanceOf (MessageInterface::class, $ message );
3672 $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
3773 $ this ->assertInstanceOf (JobInterface::class, $ message ->job ());
3874 $ this ->assertInstanceOf (DemoJob::class, $ message ->job ());
3975 $ this ->assertSame ($ id , $ message ->job ()->id );
76+ $ this ->assertSame (5 , $ message ->getAttempts ());
4077 }
4178}
0 commit comments