mailgun-php/tests/MailgunTest.php

71 lines
2.3 KiB
PHP
Raw Permalink Normal View History

<?PHP
2016-07-24 14:42:47 +03:00
/*
* Copyright (C) 2013-2016 Mailgun
*
* 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-08-10 18:06:27 +03:00
namespace Mailgun\Tests;
use Mailgun\Mailgun;
2014-05-14 17:06:05 +04:00
class MailgunTest extends \Mailgun\Tests\MailgunTestCase
{
public function testSendMessageMissingRequiredMIMEParametersExceptionGetsFlung()
{
2016-07-24 14:42:47 +03:00
$this->setExpectedException('\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters');
$client = new Mailgun();
2016-07-24 14:42:47 +03:00
$client->sendMessage('test.mailgun.com', 'etss', 1);
}
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',
'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',
'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));
}
2016-07-24 14:42:47 +03:00
public function testVerifyWebhookEmptyRequest()
{
$client = new Mailgun('key-3ax6xnjp29jd6fds4gc373sgvjxteol0');
2016-07-24 14:42:47 +03:00
$postData = [];
assert(!$client->verifyWebhookSignature($postData));
}
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);
}
public function testGetAttachmentFail()
{
$this->setExpectedException('\\Mailgun\\Connection\\Exceptions\\GenericHTTPError');
$attachmentUrl = 'https://api.mailgun.net/non.existing.uri/1/2/3';
$client = new Mailgun('key-3ax6xnjp29jd6fds4gc373sgvjxteol0');
$client->getAttachment($attachmentUrl);
}
}