Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
BeanstalkdReceiver example
public
function
testItReturnsTheDecodedMessageToTheHandler
(
)
{
$serializer
=
$this
->
createSerializer
(
)
;
$tube
= 'foo bar';
$beanstalkdEnvelope
=
$this
->
createBeanstalkdEnvelope
(
)
;
$connection
=
$this
->
createMock
(
Connection::
class
)
;
$connection
->
expects
(
$this
->
once
(
)
)
->
method
(
'get'
)
->
willReturn
(
$beanstalkdEnvelope
)
;
$connection
->
expects
(
$this
->
once
(
)
)
->
method
(
'getTube'
)
->
willReturn
(
$tube
)
;
$receiver
=
new
BeanstalkdReceiver
(
$connection
,
$serializer
)
;
$actualEnvelopes
=
$receiver
->
get
(
)
;
$this
->
assertCount
(
1,
$actualEnvelopes
)
;
$this
->
assertEquals
(
new
DummyMessage
(
'Hi'
)
,
$actualEnvelopes
[
0
]
->
getMessage
(
)
)
;
/** @var BeanstalkdReceivedStamp $receivedStamp */
$receivedStamp
=
$actualEnvelopes
[
0
]
->
last
(
BeanstalkdReceivedStamp::
class
)
;
$this
->
assertInstanceOf
(
BeanstalkdReceivedStamp::
class
,
$receivedStamp
)
;
$this
->
assertSame
(
'1',
$receivedStamp
->
getId
(
)
)
;
$this
->
assertSame
(
$tube
,
$receivedStamp
->
getTube
(
)
)
;
}
return
$this
->
getReceiver
(
)
->
getMessageCount
(
)
;
}
public
function
send
(
Envelope
$envelope
)
: Envelope
{
return
$this
->
getSender
(
)
->
send
(
$envelope
)
;
}
private
function
getReceiver
(
)
: BeanstalkdReceiver
{
return
$this
->receiver ??=
new
BeanstalkdReceiver
(
$this
->connection,
$this
->serializer
)
;
}
private
function
getSender
(
)
: BeanstalkdSender
{
return
$this
->sender ??=
new
BeanstalkdSender
(
$this
->connection,
$this
->serializer
)
;
}
}