Skip to content

Commit 721201d

Browse files
author
Andrew Keynes
committed
Fix & test logic for autogenerated messageId
1 parent 37cb9a8 commit 721201d

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

src/Message/SecureXMLAbstractRequest.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,11 @@ public function setMessageId($value)
3131
*/
3232
public function getMessageId()
3333
{
34-
return empty($this->getParameter('messageId'))
35-
? substr(md5(microtime()), 0, 30)
36-
: $this->getParameter('messageId');
34+
if (empty($this->getParameter('messageId'))) {
35+
$this->setMessageId(substr(md5(microtime()), 0, 30));
36+
}
37+
38+
return $this->getParameter('messageId');
3739
}
3840

3941
public function sendData($data)

tests/Message/SecureXMLAuthorizeRequestTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,4 +96,16 @@ public function testInvalidMerchantIDFailure()
9696
$this->assertSame('504', $response->getCode());
9797
$this->assertSame('Invalid merchant ID', $response->getMessage());
9898
}
99+
100+
public function testSetMessageId()
101+
{
102+
$this->request->setMessageId('message_identifier_here');
103+
$this->assertSame('message_identifier_here', $this->request->getMessageId());
104+
}
105+
106+
public function testAutogeneratedMessageId()
107+
{
108+
$this->assertNotNull($this->request->getMessageId());
109+
$this->assertSame(30, strlen($this->request->getMessageId()));
110+
}
99111
}

0 commit comments

Comments
 (0)