2017-05-16 16:20:33 +03:00
|
|
|
<?php
|
2016-07-24 14:42:47 +03:00
|
|
|
|
2016-09-18 10:56:14 +03:00
|
|
|
/*
|
2017-11-22 11:37:04 +03:00
|
|
|
* Copyright (C) 2013 Mailgun
|
2016-09-18 10:56:14 +03:00
|
|
|
*
|
|
|
|
* This software may be modified and distributed under the terms
|
2016-12-06 21:12:52 +03:00
|
|
|
* of the MIT license. See the LICENSE file for details.
|
2016-09-18 10:56:14 +03:00
|
|
|
*/
|
|
|
|
|
2016-08-10 18:06:27 +03:00
|
|
|
namespace Mailgun\Tests;
|
2014-05-13 17:52:39 +04:00
|
|
|
|
|
|
|
use Mailgun\Mailgun;
|
|
|
|
|
2014-05-14 17:06:05 +04:00
|
|
|
class MailgunTest extends \Mailgun\Tests\MailgunTestCase
|
|
|
|
{
|
2014-05-13 17:52:39 +04:00
|
|
|
public function testSendMessageMissingRequiredMIMEParametersExceptionGetsFlung()
|
|
|
|
{
|
2016-07-24 14:42:47 +03:00
|
|
|
$this->setExpectedException('\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters');
|
2014-05-13 17:52:39 +04:00
|
|
|
|
|
|
|
$client = new Mailgun();
|
2016-07-24 14:42:47 +03:00
|
|
|
$client->sendMessage('test.mailgun.com', 'etss', 1);
|
2014-05-13 17:52:39 +04:00
|
|
|
}
|
2014-06-25 01:36:21 +04:00
|
|
|
|
2016-07-24 14:42:47 +03:00
|
|
|
public function testVerifyWebhookGood()
|
|
|
|
{
|
2014-06-25 01:36:21 +04:00
|
|
|
$client = new Mailgun('key-3ax6xnjp29jd6fds4gc373sgvjxteol0');
|
2016-07-24 14:42:47 +03:00
|
|
|
$postData = [
|
2014-06-25 01:36:21 +04:00
|
|
|
'timestamp' => '1403645220',
|
2016-10-15 03:20:46 +03:00
|
|
|
'token' => '5egbgr1vjgqxtrnp65xfznchgdccwh5d6i09vijqi3whgowmn6',
|
2014-06-25 01:36:21 +04:00
|
|
|
'signature' => '9cfc5c41582e51246e73c88d34db3af0a3a2692a76fbab81492842f000256d33',
|
2016-07-24 14:42:47 +03:00
|
|
|
];
|
2014-06-25 01:36:21 +04:00
|
|
|
assert($client->verifyWebhookSignature($postData));
|
|
|
|
}
|
|
|
|
|
2016-07-24 14:42:47 +03:00
|
|
|
public function testVerifyWebhookBad()
|
|
|
|
{
|
2014-06-25 01:36:21 +04:00
|
|
|
$client = new Mailgun('key-3ax6xnjp29jd6fds4gc373sgvjxteol0');
|
2016-07-24 14:42:47 +03:00
|
|
|
$postData = [
|
2014-06-25 01:36:21 +04:00
|
|
|
'timestamp' => '1403645220',
|
2016-10-15 03:20:46 +03:00
|
|
|
'token' => 'owyldpe6nxhmrn78epljl6bj0orrki1u3d2v5e6cnlmmuox8jr',
|
2014-06-25 01:36:21 +04:00
|
|
|
'signature' => '9cfc5c41582e51246e73c88d34db3af0a3a2692a76fbab81492842f000256d33',
|
2016-07-24 14:42:47 +03:00
|
|
|
];
|
2014-06-25 01:36:21 +04:00
|
|
|
assert(!$client->verifyWebhookSignature($postData));
|
|
|
|
}
|
2015-09-13 21:01:16 +03:00
|
|
|
|
2016-07-24 14:42:47 +03:00
|
|
|
public function testVerifyWebhookEmptyRequest()
|
|
|
|
{
|
2015-09-13 21:01:16 +03:00
|
|
|
$client = new Mailgun('key-3ax6xnjp29jd6fds4gc373sgvjxteol0');
|
2016-07-24 14:42:47 +03:00
|
|
|
$postData = [];
|
2015-09-13 21:01:16 +03:00
|
|
|
assert(!$client->verifyWebhookSignature($postData));
|
|
|
|
}
|
2017-02-28 10:10:04 +03:00
|
|
|
|
|
|
|
public function testGetAttachmentOk()
|
|
|
|
{
|
|
|
|
$attachmentUrl = 'http://example.com';
|
|
|
|
$client = new Mailgun('key-3ax6xnjp29jd6fds4gc373sgvjxteol0');
|
|
|
|
$response = $client->getAttachment($attachmentUrl);
|
|
|
|
|
|
|
|
$this->assertInstanceOf('stdClass', $response);
|
|
|
|
$this->assertEquals($response->http_response_code, 200);
|
|
|
|
}
|
2014-05-13 17:52:39 +04:00
|
|
|
}
|