From d6e48c6bc24e104fcef77fdeaea3dab355bd5bc1 Mon Sep 17 00:00:00 2001 From: Nyholm Date: Sun, 5 Aug 2018 11:33:47 +0200 Subject: [PATCH] Added test for Message API --- tests/Api/MessageTest.php | 51 +++++++++++++++++++++++++++++++++++++++ tests/Api/TestCase.php | 3 +++ 2 files changed, 54 insertions(+) diff --git a/tests/Api/MessageTest.php b/tests/Api/MessageTest.php index cc1fd76..f926cbd 100644 --- a/tests/Api/MessageTest.php +++ b/tests/Api/MessageTest.php @@ -11,12 +11,40 @@ namespace Mailgun\Tests\Api; use GuzzleHttp\Psr7\Response; use Mailgun\Api\Message; +use Mailgun\Model\Message\SendResponse; +use Mailgun\Model\Message\ShowResponse; /** * @author Tobias Nyholm */ class MessageTest extends TestCase { + public function testSend() + { + $this->setRequestMethod('POST'); + $this->setRequestUri('/v3/example.com/messages'); + $this->setHydrateClass(SendResponse::class); + $this->setRequestBody([ + 'from' => 'bob@example.com', + 'to' => 'sally@example.com', + 'subject' => 'Test file path attachments', + 'text' => 'Test', + 'attachment' => 'resource', + ]); + + $api = $this->getApiInstance(); + $api->send('example.com', [ + 'from' => 'bob@example.com', + 'to' => 'sally@example.com', + 'subject' => 'Test file path attachments', + 'text' => 'Test', + 'attachment' => [ + ['filePath'=>__DIR__.'/../TestAssets/mailgun_icon1.png', 'filename'=>'mailgun_icon1.png'], + ] + ]); + + } + public function testSendMime() { $api = $this->getApiMock(); @@ -61,6 +89,29 @@ class MessageTest extends TestCase $api->sendMime('foo', ['mailbox@myapp.com'], 'mime message', ['o:Foo' => 'bar']); } + public function testShow() + { + $this->setRequestMethod('GET'); + $this->setRequestUri('url'); + $this->setHydrateClass(ShowResponse::class); + + $api = $this->getApiInstance(); + $api->show('url'); + } + + public function testShowRaw() + { + $this->setRequestMethod('GET'); + $this->setRequestUri('url'); + $this->setRequestHeaders([ + 'Accept' => 'message/rfc2822' + ]); + $this->setHydrateClass(ShowResponse::class); + + $api = $this->getApiInstance(); + $api->show('url', true); + } + /** * {@inheritdoc} */ diff --git a/tests/Api/TestCase.php b/tests/Api/TestCase.php index 5796d7a..d1eb9dd 100644 --- a/tests/Api/TestCase.php +++ b/tests/Api/TestCase.php @@ -177,6 +177,9 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase // Check every item in body. foreach ($body as $item) { + if ($this->requestBody[$item['name']] === 'resource' && is_resource($item['content'])) { + continue; + } if ($this->requestBody[$item['name']] !== $item['content']) { return false; }