Apply coding style that is in src

This commit is contained in:
Iain Cambridge 2014-05-14 14:06:05 +01:00
parent 6196f8df49
commit e9e0f39ca8
9 changed files with 592 additions and 433 deletions

View File

@ -3,15 +3,19 @@ namespace Mailgun\Tests\Connection;
use Mailgun\Tests\Mock\Mailgun; use Mailgun\Tests\Mock\Mailgun;
class ConnectionTest extends \Mailgun\Tests\MailgunTestCase{ class ConnectionTest extends \Mailgun\Tests\MailgunTestCase
{
private $client; private $client;
public function setUp(){ public function setUp()
} {
public function testNewClientInstantiation(){ }
$this->client = new Mailgun("My-Super-Awesome-API-Key", "samples.mailgun.org", false);
} public function testNewClientInstantiation()
{
$this->client = new Mailgun("My-Super-Awesome-API-Key", "samples.mailgun.org", false);
}
} }
?> ?>

View File

@ -3,31 +3,48 @@ namespace Mailgun\Tests\Lists;
use Mailgun\Tests\Mock\Mailgun; use Mailgun\Tests\Mock\Mailgun;
class OptInHandler extends \Mailgun\Tests\MailgunTestCase{ class OptInHandler extends \Mailgun\Tests\MailgunTestCase
{
private $client; private $client;
private $sampleDomain = "samples.mailgun.org"; private $sampleDomain = "samples.mailgun.org";
private $optInHandler; private $optInHandler;
public function setUp(){ public function setUp()
$this->client = new Mailgun("My-Super-Awesome-API-Key"); {
$this->optInHandler = $this->client->OptInHandler(); $this->client = new Mailgun("My-Super-Awesome-API-Key");
} $this->optInHandler = $this->client->OptInHandler();
}
public function testReturnOfGenerateHash(){ public function testReturnOfGenerateHash()
$generatedHash = $this->optInHandler->generateHash('mytestlist@example.com', 'mysupersecretappid', 'testrecipient@example.com'); {
$knownHash = "eyJoIjoiMTllODc2YWNkMWRmNzk4NTc0ZTU0YzhjMzIzOTNiYTNjNzdhNGMxOCIsInAiOiJleUp5SWpvaWRHVnpkSEpsWTJsd2FXVnVkRUJsZUdGdGNHeGxMbU52YlNJc0ltd2lPaUp0ZVhSbGMzUnNhWE4wUUdWNFlXMXdiR1V1WTI5dEluMD0ifQ%3D%3D"; $generatedHash = $this->optInHandler->generateHash(
$this->assertEquals($generatedHash, $knownHash); 'mytestlist@example.com',
} 'mysupersecretappid',
'testrecipient@example.com'
);
$knownHash = "eyJoIjoiMTllODc2YWNkMWRmNzk4NTc0ZTU0YzhjMzIzOTNiYTNjNzdhNGMxOCIsInAiOiJleUp5SWpvaWRHVnpkSEpsWTJsd2FXVnVkRUJsZUdGdGNHeGxMbU52YlNJc0ltd2lPaUp0ZVhSbGMzUnNhWE4wUUdWNFlXMXdiR1V1WTI5dEluMD0ifQ%3D%3D";
$this->assertEquals($generatedHash, $knownHash);
}
public function testGoodHash(){ public function testGoodHash()
$validation = $this->optInHandler->validateHash('mysupersecretappid', 'eyJoIjoiMTllODc2YWNkMWRmNzk4NTc0ZTU0YzhjMzIzOTNiYTNjNzdhNGMxOCIsInAiOiJleUp5SWpvaWRHVnpkSEpsWTJsd2FXVnVkRUJsZUdGdGNHeGxMbU52YlNJc0ltd2lPaUp0ZVhSbGMzUnNhWE4wUUdWNFlXMXdiR1V1WTI5dEluMD0ifQ%3D%3D'); {
$this->assertArrayHasKey('recipientAddress', $validation); $validation = $this->optInHandler->validateHash(
$this->assertArrayHasKey('mailingList', $validation); 'mysupersecretappid',
} 'eyJoIjoiMTllODc2YWNkMWRmNzk4NTc0ZTU0YzhjMzIzOTNiYTNjNzdhNGMxOCIsInAiOiJleUp5SWpvaWRHVnpkSEpsWTJsd2FXVnVkRUJsZUdGdGNHeGxMbU52YlNJc0ltd2lPaUp0ZVhSbGMzUnNhWE4wUUdWNFlXMXdiR1V1WTI5dEluMD0ifQ%3D%3D'
public function testBadHash(){ );
$validation = $this->optInHandler->validateHash('mybadsecretappid', 'eyJoIjoiMTllODc2YWNkMWRmNzk4NTc0ZTU0YzhjMzIzOTNiYTNjNzdhNGMxOCIsInAiOiJleUp5SWpvaWRHVnpkSEpsWTJsd2FXVnVkRUJsZUdGdGNHeGxMbU52YlNJc0ltd2lPaUp0ZVhSbGMzUnNhWE4wUUdWNFlXMXdiR1V1WTI5dEluMD0ifQ%3D%3D'); $this->assertArrayHasKey('recipientAddress', $validation);
$this->assertFalse($validation); $this->assertArrayHasKey('mailingList', $validation);
} }
public function testBadHash()
{
$validation = $this->optInHandler->validateHash(
'mybadsecretappid',
'eyJoIjoiMTllODc2YWNkMWRmNzk4NTc0ZTU0YzhjMzIzOTNiYTNjNzdhNGMxOCIsInAiOiJleUp5SWpvaWRHVnpkSEpsWTJsd2FXVnVkRUJsZUdGdGNHeGxMbU52YlNJc0ltd2lPaUp0ZVhSbGMzUnNhWE4wUUdWNFlXMXdiR1V1WTI5dEluMD0ifQ%3D%3D'
);
$this->assertFalse($validation);
}
} }
?> ?>

View File

@ -3,7 +3,8 @@ namespace Mailgun\Tests\Lists;
use Mailgun\Mailgun; use Mailgun\Mailgun;
class MailgunTest extends \Mailgun\Tests\MailgunTestCase{ class MailgunTest extends \Mailgun\Tests\MailgunTestCase
{
public function testSendMessageMissingRequiredMIMEParametersExceptionGetsFlung() public function testSendMessageMissingRequiredMIMEParametersExceptionGetsFlung()
{ {

View File

@ -4,6 +4,8 @@ namespace Mailgun\Tests;
use Guzzle\Tests\GuzzleTestCase; use Guzzle\Tests\GuzzleTestCase;
abstract class MailgunTestCase extends GuzzleTestCase{} abstract class MailgunTestCase extends GuzzleTestCase
{
}
?> ?>

View File

@ -3,114 +3,136 @@ namespace Mailgun\Tests\Messages;
use Mailgun\Tests\Mock\Mailgun; use Mailgun\Tests\Mock\Mailgun;
class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase{ class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase
{
private $client; private $client;
private $sampleDomain = "samples.mailgun.org"; private $sampleDomain = "samples.mailgun.org";
public function setUp(){ public function setUp()
$this->client = new Mailgun("My-Super-Awesome-API-Key"); {
} $this->client = new Mailgun("My-Super-Awesome-API-Key");
public function testBlankInstantiation(){ }
$message = $this->client->BatchMessage($this->sampleDomain);
$this->assertTrue(is_array($message->getMessage()));
}
public function testAddRecipient(){
$message = $this->client->BatchMessage($this->sampleDomain);
$message->addToRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$messageObj= $message->getMessage();
$this->assertEquals(array("to" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message)); public function testBlankInstantiation()
$property = $reflectionClass->getProperty('counters'); {
$message = $this->client->BatchMessage($this->sampleDomain);
$this->assertTrue(is_array($message->getMessage()));
}
public function testAddRecipient()
{
$message = $this->client->BatchMessage($this->sampleDomain);
$message->addToRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$messageObj = $message->getMessage();
$this->assertEquals(array("to" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('counters');
$property->setAccessible(true); $property->setAccessible(true);
$array = $property->getValue($message); $array = $property->getValue($message);
$this->assertEquals(1, $array['recipients']['to']); $this->assertEquals(1, $array['recipients']['to']);
} }
public function testRecipientVariablesOnTo(){
$message = $this->client->BatchMessage($this->sampleDomain);
$message->addToRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$messageObj= $message->getMessage();
$this->assertEquals(array("to" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message)); public function testRecipientVariablesOnTo()
$property = $reflectionClass->getProperty('batchRecipientAttributes'); {
$message = $this->client->BatchMessage($this->sampleDomain);
$message->addToRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$messageObj = $message->getMessage();
$this->assertEquals(array("to" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('batchRecipientAttributes');
$property->setAccessible(true); $property->setAccessible(true);
$propertyValue = $property->getValue($message); $propertyValue = $property->getValue($message);
$this->assertEquals("Test", $propertyValue['test@samples.mailgun.org']['first']); $this->assertEquals("Test", $propertyValue['test@samples.mailgun.org']['first']);
$this->assertEquals("User", $propertyValue['test@samples.mailgun.org']['last']); $this->assertEquals("User", $propertyValue['test@samples.mailgun.org']['last']);
} }
public function testRecipientVariablesOnCc(){
$message = $this->client->BatchMessage($this->sampleDomain);
$message->addCcRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$messageObj= $message->getMessage();
$this->assertEquals(array("cc" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message)); public function testRecipientVariablesOnCc()
$property = $reflectionClass->getProperty('batchRecipientAttributes'); {
$message = $this->client->BatchMessage($this->sampleDomain);
$message->addCcRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$messageObj = $message->getMessage();
$this->assertEquals(array("cc" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('batchRecipientAttributes');
$property->setAccessible(true); $property->setAccessible(true);
$propertyValue = $property->getValue($message); $propertyValue = $property->getValue($message);
$this->assertEquals("Test", $propertyValue['test@samples.mailgun.org']['first']); $this->assertEquals("Test", $propertyValue['test@samples.mailgun.org']['first']);
$this->assertEquals("User", $propertyValue['test@samples.mailgun.org']['last']); $this->assertEquals("User", $propertyValue['test@samples.mailgun.org']['last']);
} }
public function testRecipientVariablesOnBcc(){
$message = $this->client->BatchMessage($this->sampleDomain);
$message->addBccRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$messageObj= $message->getMessage();
$this->assertEquals(array("bcc" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message)); public function testRecipientVariablesOnBcc()
$property = $reflectionClass->getProperty('batchRecipientAttributes'); {
$message = $this->client->BatchMessage($this->sampleDomain);
$message->addBccRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$messageObj = $message->getMessage();
$this->assertEquals(array("bcc" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
$reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('batchRecipientAttributes');
$property->setAccessible(true); $property->setAccessible(true);
$propertyValue = $property->getValue($message); $propertyValue = $property->getValue($message);
$this->assertEquals("Test", $propertyValue['test@samples.mailgun.org']['first']); $this->assertEquals("Test", $propertyValue['test@samples.mailgun.org']['first']);
$this->assertEquals("User", $propertyValue['test@samples.mailgun.org']['last']); $this->assertEquals("User", $propertyValue['test@samples.mailgun.org']['last']);
} }
public function testAddMultipleBatchRecipients(){
$message = $this->client->BatchMessage($this->sampleDomain); public function testAddMultipleBatchRecipients()
for($i=0; $i<100; $i++){ {
$message->addToRecipient("$i@samples.mailgun.org", array("first" => "Test", "last" => "User $i")); $message = $this->client->BatchMessage($this->sampleDomain);
} for ($i = 0; $i < 100; $i++) {
$messageObj= $message->getMessage(); $message->addToRecipient("$i@samples.mailgun.org", array("first" => "Test", "last" => "User $i"));
$this->assertEquals(100, count($messageObj["to"])); }
} $messageObj = $message->getMessage();
public function testMaximumBatchSize(){ $this->assertEquals(100, count($messageObj["to"]));
$message = $this->client->BatchMessage($this->sampleDomain); }
$message->setFromAddress("samples@mailgun.org", array("first" => "Test", "last" => "User"));
$message->setSubject("This is the subject of the message!"); public function testMaximumBatchSize()
$message->setTextBody("This is the text body of the message!"); {
for($i=0; $i<1001; $i++){ $message = $this->client->BatchMessage($this->sampleDomain);
$message->addToRecipient("$i@samples.mailgun.org", array("first" => "Test", "last" => "User $i")); $message->setFromAddress("samples@mailgun.org", array("first" => "Test", "last" => "User"));
} $message->setSubject("This is the subject of the message!");
$messageObj= $message->getMessage(); $message->setTextBody("This is the text body of the message!");
$this->assertEquals(1, count($messageObj["to"])); for ($i = 0; $i < 1001; $i++) {
} $message->addToRecipient("$i@samples.mailgun.org", array("first" => "Test", "last" => "User $i"));
public function testAttributeResetOnEndBatchMessage(){ }
$message = $this->client->BatchMessage($this->sampleDomain); $messageObj = $message->getMessage();
$message->addToRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User")); $this->assertEquals(1, count($messageObj["to"]));
$message->setFromAddress("samples@mailgun.org", array("first" => "Test", "last" => "User")); }
$message->setSubject("This is the subject of the message!");
$message->setTextBody("This is the text body of the message!"); public function testAttributeResetOnEndBatchMessage()
$message->finalize(); {
$messageObj= $message->getMessage(); $message = $this->client->BatchMessage($this->sampleDomain);
$this->assertTrue(true, empty($messageObj)); $message->addToRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User"));
} $message->setFromAddress("samples@mailgun.org", array("first" => "Test", "last" => "User"));
public function testDefaultIDInVariables() { $message->setSubject("This is the subject of the message!");
$message->setTextBody("This is the text body of the message!");
$message->finalize();
$messageObj = $message->getMessage();
$this->assertTrue(true, empty($messageObj));
}
public function testDefaultIDInVariables()
{
$message = $this->client->BatchMessage($this->sampleDomain); $message = $this->client->BatchMessage($this->sampleDomain);
$message->addToRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User")); $message->addToRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$reflectionClass = new \ReflectionClass(get_class($message)); $reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('batchRecipientAttributes'); $property = $reflectionClass->getProperty('batchRecipientAttributes');
$property->setAccessible(True); $property->setAccessible(true);
$propertyValue = $property->getValue($message); $propertyValue = $property->getValue($message);
$this->assertEquals(1, $propertyValue['test-user@samples.mailgun.org']['id']); $this->assertEquals(1, $propertyValue['test-user@samples.mailgun.org']['id']);
} }
public function testgetMessageIds() {
public function testgetMessageIds()
{
$message = $this->client->BatchMessage($this->sampleDomain); $message = $this->client->BatchMessage($this->sampleDomain);
$message->addToRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User")); $message->addToRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$message->setFromAddress("samples@mailgun.org", array("first" => "Test", "last" => "User")); $message->setFromAddress("samples@mailgun.org", array("first" => "Test", "last" => "User"));
$message->setSubject("This is the subject of the message!"); $message->setSubject("This is the subject of the message!");
$message->setTextBody("This is the text body of the message!"); $message->setTextBody("This is the text body of the message!");
$message->finalize(); $message->finalize();
$this->assertEquals(array("1234"), $message->getMessageIds()); $this->assertEquals(array("1234"), $message->getMessageIds());
@ -121,30 +143,34 @@ class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase{
$this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters"); $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters");
$message = $this->client->BatchMessage($this->sampleDomain); $message = $this->client->BatchMessage($this->sampleDomain);
$message->sendMessage(array(1,2,3)); $message->sendMessage(array(1, 2, 3));
} }
public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoTo() public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoTo()
{ {
$this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters"); $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters");
$message = $this->client->BatchMessage($this->sampleDomain); $message = $this->client->BatchMessage($this->sampleDomain);
$message->sendMessage(array("from" => 1, 2,3)); $message->sendMessage(array("from" => 1, 2, 3));
} }
public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoSubject() public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoSubject()
{ {
$this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters"); $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters");
$message = $this->client->BatchMessage($this->sampleDomain); $message = $this->client->BatchMessage($this->sampleDomain);
$message->sendMessage(array("from" => 1, "to" => 2,3)); $message->sendMessage(array("from" => 1, "to" => 2, 3));
} }
public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoTextOrHtml() public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoTextOrHtml()
{ {
$this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters"); $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters");
$message = $this->client->BatchMessage($this->sampleDomain); $message = $this->client->BatchMessage($this->sampleDomain);
$message->sendMessage(array("from" => 1,"to" => 2,"subject" => 3)); $message->sendMessage(array("from" => 1, "to" => 2, "subject" => 3));
} }
} }
?> ?>

View File

@ -3,22 +3,28 @@ namespace Mailgun\Tests\Messages;
use Mailgun\Tests\Mock\Mailgun; use Mailgun\Tests\Mock\Mailgun;
class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase{ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase
private $client; {
private $client;
public function setUp(){ public function setUp()
$this->client = new Mailgun("My-Super-Awesome-API-Key", "samples.mailgun.org", false); {
} $this->client = new Mailgun("My-Super-Awesome-API-Key", "samples.mailgun.org", false);
public function testBlankInstantiation(){ }
$message = $this->client->MessageBuilder();
$this->assertTrue(is_array($message->getMessage()));
}
public function testCountersSetToZero(){
$message = $this->client->MessageBuilder();
$reflectionClass = new \ReflectionClass(get_class($message)); public function testBlankInstantiation()
$property = $reflectionClass->getProperty('counters'); {
$property->setAccessible(True); $message = $this->client->MessageBuilder();
$this->assertTrue(is_array($message->getMessage()));
}
public function testCountersSetToZero()
{
$message = $this->client->MessageBuilder();
$reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('counters');
$property->setAccessible(true);
$propertyValue = $property->getValue($message); $propertyValue = $property->getValue($message);
$this->assertEquals(0, $propertyValue['recipients']['to']); $this->assertEquals(0, $propertyValue['recipients']['to']);
$this->assertEquals(0, $propertyValue['recipients']['cc']); $this->assertEquals(0, $propertyValue['recipients']['cc']);
@ -26,237 +32,322 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase{
$this->assertEquals(0, $propertyValue['attributes']['attachment']); $this->assertEquals(0, $propertyValue['attributes']['attachment']);
$this->assertEquals(0, $propertyValue['attributes']['campaign_id']); $this->assertEquals(0, $propertyValue['attributes']['campaign_id']);
$this->assertEquals(0, $propertyValue['attributes']['custom_option']); $this->assertEquals(0, $propertyValue['attributes']['custom_option']);
$this->assertEquals(0, $propertyValue['attributes']['tag']); $this->assertEquals(0, $propertyValue['attributes']['tag']);
} }
public function testAddToRecipient(){
$message = $this->client->MessageBuilder(); public function testAddToRecipient()
$message->addToRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User")); {
$messageObj = $message->getMessage(); $message = $this->client->MessageBuilder();
$this->assertEquals(array("to" => array("'Test User' <test@samples.mailgun.org>")), $messageObj); $message->addToRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
} $messageObj = $message->getMessage();
public function testAddCcRecipient(){ $this->assertEquals(array("to" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
$message = $this->client->MessageBuilder(); }
$message->addCcRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$messageObj = $message->getMessage(); public function testAddCcRecipient()
$this->assertEquals(array("cc" => array("'Test User' <test@samples.mailgun.org>")), $messageObj); {
} $message = $this->client->MessageBuilder();
public function testAddBccRecipient(){ $message->addCcRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$message = $this->client->MessageBuilder(); $messageObj = $message->getMessage();
$message->addBccRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User")); $this->assertEquals(array("cc" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
$messageObj = $message->getMessage(); }
$this->assertEquals(array("bcc" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
} public function testAddBccRecipient()
public function testToRecipientCount() { {
$message = $this->client->MessageBuilder();
$message->addBccRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$messageObj = $message->getMessage();
$this->assertEquals(array("bcc" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
}
public function testToRecipientCount()
{
$message = $this->client->MessageBuilder(); $message = $this->client->MessageBuilder();
$message->addToRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User")); $message->addToRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$reflectionClass = new \ReflectionClass(get_class($message)); $reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('counters'); $property = $reflectionClass->getProperty('counters');
$property->setAccessible(true); $property->setAccessible(true);
$array = $property->getValue($message); $array = $property->getValue($message);
$this->assertEquals(1, $array['recipients']['to']); $this->assertEquals(1, $array['recipients']['to']);
} }
public function testCcRecipientCount() {
public function testCcRecipientCount()
{
$message = $this->client->MessageBuilder(); $message = $this->client->MessageBuilder();
$message->addCcRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User")); $message->addCcRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$reflectionClass = new \ReflectionClass(get_class($message)); $reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('counters'); $property = $reflectionClass->getProperty('counters');
$property->setAccessible(true); $property->setAccessible(true);
$array = $property->getValue($message); $array = $property->getValue($message);
$this->assertEquals(1, $array['recipients']['cc']); $this->assertEquals(1, $array['recipients']['cc']);
} }
public function testBccRecipientCount() {
public function testBccRecipientCount()
{
$message = $this->client->MessageBuilder(); $message = $this->client->MessageBuilder();
$message->addBccRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User")); $message->addBccRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$reflectionClass = new \ReflectionClass(get_class($message)); $reflectionClass = new \ReflectionClass(get_class($message));
$property = $reflectionClass->getProperty('counters'); $property = $reflectionClass->getProperty('counters');
$property->setAccessible(true); $property->setAccessible(true);
$array = $property->getValue($message); $array = $property->getValue($message);
$this->assertEquals(1, $array['recipients']['bcc']); $this->assertEquals(1, $array['recipients']['bcc']);
} }
public function testSetFromAddress(){
$message = $this->client->MessageBuilder(); public function testSetFromAddress()
$message->setFromAddress("test@samples.mailgun.org", array("first" => "Test", "last" => "User")); {
$messageObj = $message->getMessage(); $message = $this->client->MessageBuilder();
$this->assertEquals(array("from" => array("'Test User' <test@samples.mailgun.org>")), $messageObj); $message->setFromAddress("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
} $messageObj = $message->getMessage();
public function testSetReplyTo(){ $this->assertEquals(array("from" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
$message = $this->client->MessageBuilder(); }
$message->setReplyToAddress("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$messageObj = $message->getMessage(); public function testSetReplyTo()
$this->assertEquals(array("h:reply-to" => "'Test User' <test@samples.mailgun.org>"), $messageObj); {
} $message = $this->client->MessageBuilder();
public function testSetSubject(){ $message->setReplyToAddress("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
$message = $this->client->MessageBuilder(); $messageObj = $message->getMessage();
$message->setSubject("Test Subject"); $this->assertEquals(array("h:reply-to" => "'Test User' <test@samples.mailgun.org>"), $messageObj);
$messageObj = $message->getMessage(); }
$this->assertEquals(array("subject" => "Test Subject"), $messageObj);
} public function testSetSubject()
public function testAddCustomHeader(){ {
$message = $this->client->MessageBuilder(); $message = $this->client->MessageBuilder();
$message->addCustomHeader("My-Header", "123"); $message->setSubject("Test Subject");
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(array("h:My-Header" => array("123")), $messageObj); $this->assertEquals(array("subject" => "Test Subject"), $messageObj);
} }
public function testSetTextBody(){
$message = $this->client->MessageBuilder(); public function testAddCustomHeader()
$message->setTextBody("This is the text body!"); {
$messageObj = $message->getMessage(); $message = $this->client->MessageBuilder();
$this->assertEquals(array("text" => "This is the text body!"), $messageObj); $message->addCustomHeader("My-Header", "123");
} $messageObj = $message->getMessage();
public function testSetHtmlBody(){ $this->assertEquals(array("h:My-Header" => array("123")), $messageObj);
$message = $this->client->MessageBuilder(); }
$message->setHtmlBody("<html><body>This is an awesome email</body></html>");
$messageObj = $message->getMessage(); public function testSetTextBody()
$this->assertEquals(array("html" => "<html><body>This is an awesome email</body></html>"), $messageObj); {
} $message = $this->client->MessageBuilder();
public function testAddAttachments(){ $message->setTextBody("This is the text body!");
$message = $this->client->MessageBuilder(); $messageObj = $message->getMessage();
$message->addAttachment("@../TestAssets/mailgun_icon.png"); $this->assertEquals(array("text" => "This is the text body!"), $messageObj);
$message->addAttachment("@../TestAssets/rackspace_logo.png"); }
$messageObj = $message->getFiles();
$this->assertEquals(array(array('filePath' => "@../TestAssets/mailgun_icon.png", public function testSetHtmlBody()
'remoteName' => null), {
array('filePath' => "@../TestAssets/rackspace_logo.png", $message = $this->client->MessageBuilder();
'remoteName' => null)), $messageObj["attachment"]); $message->setHtmlBody("<html><body>This is an awesome email</body></html>");
} $messageObj = $message->getMessage();
public function testAddInlineImages(){ $this->assertEquals(array("html" => "<html><body>This is an awesome email</body></html>"), $messageObj);
$message = $this->client->MessageBuilder(); }
$message->addInlineImage("@../TestAssets/mailgun_icon.png");
$message->addInlineImage("@../TestAssets/rackspace_logo.png"); public function testAddAttachments()
$messageObj = $message->getFiles(); {
$this->assertEquals(array(array('filePath' => "@../TestAssets/mailgun_icon.png", $message = $this->client->MessageBuilder();
'remoteName' => null), $message->addAttachment("@../TestAssets/mailgun_icon.png");
array('filePath' => "@../TestAssets/rackspace_logo.png", $message->addAttachment("@../TestAssets/rackspace_logo.png");
'remoteName' => null)), $messageObj['inline']); $messageObj = $message->getFiles();
} $this->assertEquals(
public function testAddAttachmentsPostName(){ array(
$message = $this->client->MessageBuilder(); array(
$message->addAttachment('@../TestAssets/mailgun_icon.png', 'mg_icon.png'); 'filePath' => "@../TestAssets/mailgun_icon.png",
$message->addAttachment('@../TestAssets/rackspace_logo.png', 'rs_logo.png'); 'remoteName' => null
$messageObj = $message->getFiles(); ),
$this->assertEquals(array(array('filePath' => '@../TestAssets/mailgun_icon.png', array(
'remoteName' => 'mg_icon.png'), 'filePath' => "@../TestAssets/rackspace_logo.png",
array('filePath' => '@../TestAssets/rackspace_logo.png', 'remoteName' => null
'remoteName' => 'rs_logo.png')), $messageObj["attachment"]); )
} ),
public function testAddInlineImagePostName(){ $messageObj["attachment"]
$message = $this->client->MessageBuilder(); );
$message->addInlineImage('@../TestAssets/mailgun_icon.png', 'mg_icon.png'); }
$message->addInlineImage('@../TestAssets/rackspace_logo.png', 'rs_logo.png');
$messageObj = $message->getFiles(); public function testAddInlineImages()
$this->assertEquals(array(array('filePath' => '@../TestAssets/mailgun_icon.png', {
'remoteName' => 'mg_icon.png'), $message = $this->client->MessageBuilder();
array('filePath' => '@../TestAssets/rackspace_logo.png', $message->addInlineImage("@../TestAssets/mailgun_icon.png");
'remoteName' => 'rs_logo.png')), $messageObj['inline']); $message->addInlineImage("@../TestAssets/rackspace_logo.png");
} $messageObj = $message->getFiles();
public function testsetTestMode(){ $this->assertEquals(
$message = $this->client->MessageBuilder(); array(
$message->setTestMode(true); array(
$messageObj = $message->getMessage(); 'filePath' => "@../TestAssets/mailgun_icon.png",
$this->assertEquals(array("o:testmode" => "yes"), $messageObj); 'remoteName' => null
$message->setTestMode(false); ),
$messageObj = $message->getMessage(); array(
$this->assertEquals(array("o:testmode" => "no"), $messageObj); 'filePath' => "@../TestAssets/rackspace_logo.png",
$message->setTestMode("yes"); 'remoteName' => null
$messageObj = $message->getMessage(); )
$this->assertEquals(array("o:testmode" => "yes"), $messageObj); ),
$message->setTestMode("no"); $messageObj['inline']
$messageObj = $message->getMessage(); );
$this->assertEquals(array("o:testmode" => "no"), $messageObj); }
}
public function addCampaignId(){ public function testAddAttachmentsPostName()
$message = $this->client->MessageBuilder(); {
$message->addCampaignId("ABC123"); $message = $this->client->MessageBuilder();
$message->addCampaignId("XYZ987"); $message->addAttachment('@../TestAssets/mailgun_icon.png', 'mg_icon.png');
$message->addCampaignId("TUV456"); $message->addAttachment('@../TestAssets/rackspace_logo.png', 'rs_logo.png');
$message->addCampaignId("NONO123"); $messageObj = $message->getFiles();
$messageObj = $message->getMessage(); $this->assertEquals(
$this->assertEquals(array("o:campaign" => array("ABC123", "XYZ987", "TUV456")), $messageObj); array(
} array(
public function testSetDkim(){ 'filePath' => '@../TestAssets/mailgun_icon.png',
$message = $this->client->MessageBuilder(); 'remoteName' => 'mg_icon.png'
$message->setDkim(true); ),
$messageObj = $message->getMessage(); array(
$this->assertEquals(array("o:dkim" => "yes"), $messageObj); 'filePath' => '@../TestAssets/rackspace_logo.png',
$message->setDkim(false); 'remoteName' => 'rs_logo.png'
$messageObj = $message->getMessage(); )
$this->assertEquals(array("o:dkim" => "no"), $messageObj); ),
$message->setDkim("yes"); $messageObj["attachment"]
$messageObj = $message->getMessage(); );
$this->assertEquals(array("o:dkim" => "yes"), $messageObj); }
$message->setDkim("no");
$messageObj = $message->getMessage(); public function testAddInlineImagePostName()
$this->assertEquals(array("o:dkim" => "no"), $messageObj); {
} $message = $this->client->MessageBuilder();
public function testSetClickTracking(){ $message->addInlineImage('@../TestAssets/mailgun_icon.png', 'mg_icon.png');
$message = $this->client->MessageBuilder(); $message->addInlineImage('@../TestAssets/rackspace_logo.png', 'rs_logo.png');
$message->setClickTracking(true); $messageObj = $message->getFiles();
$messageObj = $message->getMessage(); $this->assertEquals(
$this->assertEquals(array("o:tracking-clicks" => "yes"), $messageObj); array(
$message->setClickTracking(false); array(
$messageObj = $message->getMessage(); 'filePath' => '@../TestAssets/mailgun_icon.png',
$this->assertEquals(array("o:tracking-clicks" => "no"), $messageObj); 'remoteName' => 'mg_icon.png'
$message->setClickTracking("yes"); ),
$messageObj = $message->getMessage(); array(
$this->assertEquals(array("o:tracking-clicks" => "yes"), $messageObj); 'filePath' => '@../TestAssets/rackspace_logo.png',
$message->setClickTracking("no"); 'remoteName' => 'rs_logo.png'
$messageObj = $message->getMessage(); )
$this->assertEquals(array("o:tracking-clicks" => "no"), $messageObj); ),
} $messageObj['inline']
public function testSetOpenTracking(){ );
$message = $this->client->MessageBuilder(); }
$message->setOpenTracking(true);
$messageObj = $message->getMessage(); public function testsetTestMode()
$this->assertEquals(array("o:tracking-opens" => "yes"), $messageObj); {
$message->setOpenTracking(false); $message = $this->client->MessageBuilder();
$messageObj = $message->getMessage(); $message->setTestMode(true);
$this->assertEquals(array("o:tracking-opens" => "no"), $messageObj); $messageObj = $message->getMessage();
$message->setOpenTracking("yes"); $this->assertEquals(array("o:testmode" => "yes"), $messageObj);
$messageObj = $message->getMessage(); $message->setTestMode(false);
$this->assertEquals(array("o:tracking-opens" => "yes"), $messageObj); $messageObj = $message->getMessage();
$message->setOpenTracking("no"); $this->assertEquals(array("o:testmode" => "no"), $messageObj);
$messageObj = $message->getMessage(); $message->setTestMode("yes");
$this->assertEquals(array("o:tracking-opens" => "no"), $messageObj); $messageObj = $message->getMessage();
} $this->assertEquals(array("o:testmode" => "yes"), $messageObj);
public function testSetDeliveryTime(){ $message->setTestMode("no");
$message = $this->client->MessageBuilder(); $messageObj = $message->getMessage();
$message->setDeliveryTime("January 15, 2014 8:00AM", "CST"); $this->assertEquals(array("o:testmode" => "no"), $messageObj);
$messageObj = $message->getMessage(); }
$this->assertEquals(array("o:deliverytime" => "Wed, 15 Jan 2014 08:00:00 -0600"), $messageObj);
$message->setDeliveryTime("January 15, 2014 8:00AM", "UTC"); public function addCampaignId()
$messageObj = $message->getMessage(); {
$this->assertEquals(array("o:deliverytime" => "Wed, 15 Jan 2014 08:00:00 +0000"), $messageObj); $message = $this->client->MessageBuilder();
$message->setDeliveryTime("January 15, 2014 8:00AM"); $message->addCampaignId("ABC123");
$messageObj = $message->getMessage(); $message->addCampaignId("XYZ987");
$this->assertEquals(array("o:deliverytime" => "Wed, 15 Jan 2014 08:00:00 +0000"), $messageObj); $message->addCampaignId("TUV456");
$message->setDeliveryTime("1/15/2014 13:50:01", "CDT"); $message->addCampaignId("NONO123");
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(array("o:deliverytime" => "Wed, 15 Jan 2014 13:50:01 -0600"), $messageObj); $this->assertEquals(array("o:campaign" => array("ABC123", "XYZ987", "TUV456")), $messageObj);
}
public function testSetDkim()
{
$message = $this->client->MessageBuilder();
$message->setDkim(true);
$messageObj = $message->getMessage();
$this->assertEquals(array("o:dkim" => "yes"), $messageObj);
$message->setDkim(false);
$messageObj = $message->getMessage();
$this->assertEquals(array("o:dkim" => "no"), $messageObj);
$message->setDkim("yes");
$messageObj = $message->getMessage();
$this->assertEquals(array("o:dkim" => "yes"), $messageObj);
$message->setDkim("no");
$messageObj = $message->getMessage();
$this->assertEquals(array("o:dkim" => "no"), $messageObj);
}
public function testSetClickTracking()
{
$message = $this->client->MessageBuilder();
$message->setClickTracking(true);
$messageObj = $message->getMessage();
$this->assertEquals(array("o:tracking-clicks" => "yes"), $messageObj);
$message->setClickTracking(false);
$messageObj = $message->getMessage();
$this->assertEquals(array("o:tracking-clicks" => "no"), $messageObj);
$message->setClickTracking("yes");
$messageObj = $message->getMessage();
$this->assertEquals(array("o:tracking-clicks" => "yes"), $messageObj);
$message->setClickTracking("no");
$messageObj = $message->getMessage();
$this->assertEquals(array("o:tracking-clicks" => "no"), $messageObj);
}
public function testSetOpenTracking()
{
$message = $this->client->MessageBuilder();
$message->setOpenTracking(true);
$messageObj = $message->getMessage();
$this->assertEquals(array("o:tracking-opens" => "yes"), $messageObj);
$message->setOpenTracking(false);
$messageObj = $message->getMessage();
$this->assertEquals(array("o:tracking-opens" => "no"), $messageObj);
$message->setOpenTracking("yes");
$messageObj = $message->getMessage();
$this->assertEquals(array("o:tracking-opens" => "yes"), $messageObj);
$message->setOpenTracking("no");
$messageObj = $message->getMessage();
$this->assertEquals(array("o:tracking-opens" => "no"), $messageObj);
}
public function testSetDeliveryTime()
{
$message = $this->client->MessageBuilder();
$message->setDeliveryTime("January 15, 2014 8:00AM", "CST");
$messageObj = $message->getMessage();
$this->assertEquals(array("o:deliverytime" => "Wed, 15 Jan 2014 08:00:00 -0600"), $messageObj);
$message->setDeliveryTime("January 15, 2014 8:00AM", "UTC");
$messageObj = $message->getMessage();
$this->assertEquals(array("o:deliverytime" => "Wed, 15 Jan 2014 08:00:00 +0000"), $messageObj);
$message->setDeliveryTime("January 15, 2014 8:00AM");
$messageObj = $message->getMessage();
$this->assertEquals(array("o:deliverytime" => "Wed, 15 Jan 2014 08:00:00 +0000"), $messageObj);
$message->setDeliveryTime("1/15/2014 13:50:01", "CDT");
$messageObj = $message->getMessage();
$this->assertEquals(array("o:deliverytime" => "Wed, 15 Jan 2014 13:50:01 -0600"), $messageObj);
// https://github.com/mailgun/mailgun-php/pull/42 // https://github.com/mailgun/mailgun-php/pull/42
// https://github.com/mailgun/mailgun-php/issues/43 // https://github.com/mailgun/mailgun-php/issues/43
//$message->setDeliveryTime("first saturday of July 2013 8:00AM", "CDT"); //$message->setDeliveryTime("first saturday of July 2013 8:00AM", "CDT");
//$messageObj = $message->getMessage(); //$messageObj = $message->getMessage();
//$this->assertEquals(array("o:deliverytime" => "Sat, 06 Jul 2013 08:00:00 -0500"), $messageObj); //$this->assertEquals(array("o:deliverytime" => "Sat, 06 Jul 2013 08:00:00 -0500"), $messageObj);
} }
public function testAddCustomData(){
$message = $this->client->MessageBuilder();
$message->addCustomData("My-Super-Awesome-Data", array("What" => "Mailgun Rocks!"));
$messageObj = $message->getMessage();
$this->assertEquals(array("v:My-Super-Awesome-Data" => "{\"What\":\"Mailgun Rocks!\"}"), $messageObj);
}
public function testAddCustomParameter(){
$message = $this->client->MessageBuilder();
$message->addCustomParameter("my-option", "yes");
$message->addCustomParameter("o:my-other-option", "no");
$messageObj = $message->getMessage();
$this->assertEquals(array("my-option" => array("yes"), "o:my-other-option" => array("no")), $messageObj);
}
public function testSetMessage(){ public function testAddCustomData()
$message = [1,2,3,4,5]; {
$message = $this->client->MessageBuilder();
$message->addCustomData("My-Super-Awesome-Data", array("What" => "Mailgun Rocks!"));
$messageObj = $message->getMessage();
$this->assertEquals(array("v:My-Super-Awesome-Data" => "{\"What\":\"Mailgun Rocks!\"}"), $messageObj);
}
public function testAddCustomParameter()
{
$message = $this->client->MessageBuilder();
$message->addCustomParameter("my-option", "yes");
$message->addCustomParameter("o:my-other-option", "no");
$messageObj = $message->getMessage();
$this->assertEquals(array("my-option" => array("yes"), "o:my-other-option" => array("no")), $messageObj);
}
public function testSetMessage()
{
$message = [1, 2, 3, 4, 5];
$messageBuilder = $this->client->MessageBuilder(); $messageBuilder = $this->client->MessageBuilder();
$messageBuilder->setMessage($message); $messageBuilder->setMessage($message);

View File

@ -3,16 +3,20 @@ namespace Mailgun\Tests\Messages;
use Mailgun\Tests\Mock\Mailgun; use Mailgun\Tests\Mock\Mailgun;
class StandardMessageTest extends \Mailgun\Tests\MailgunTestCase{ class StandardMessageTest extends \Mailgun\Tests\MailgunTestCase
{
private $client; private $client;
private $sampleDomain = "samples.mailgun.org"; private $sampleDomain = "samples.mailgun.org";
public function setUp(){ public function setUp()
$this->client = new Mailgun("My-Super-Awesome-API-Key"); {
} $this->client = new Mailgun("My-Super-Awesome-API-Key");
public function testSendMIMEMessage(){ }
$customMime = "Received: by luna.mailgun.net with SMTP mgrt 8728174999085; Mon, 10 Jun 2013 09:50:58 +0000
public function testSendMIMEMessage()
{
$customMime = "Received: by luna.mailgun.net with SMTP mgrt 8728174999085; Mon, 10 Jun 2013 09:50:58 +0000
Mime-Version: 1.0 Mime-Version: 1.0
Content-Type: text/plain; charset=\"ascii\" Content-Type: text/plain; charset=\"ascii\"
Subject: This is the Subject! Subject: This is the Subject!
@ -25,16 +29,22 @@ class StandardMessageTest extends \Mailgun\Tests\MailgunTestCase{
Sender: test@test.mailgun.com Sender: test@test.mailgun.com
Mailgun is testing!"; Mailgun is testing!";
$envelopeFields = array('to' => 'test@test.mailgun.org'); $envelopeFields = array('to' => 'test@test.mailgun.org');
$result = $this->client->sendMessage("test.mailgun.org", $envelopeFields, $customMime); $result = $this->client->sendMessage("test.mailgun.org", $envelopeFields, $customMime);
$this->assertEquals("test.mailgun.org/messages.mime", $result->http_endpoint_url); $this->assertEquals("test.mailgun.org/messages.mime", $result->http_endpoint_url);
} }
public function testSendMessage(){ public function testSendMessage()
$message = array('to' => 'test@test.mailgun.org', 'from' => 'sender@test.mailgun.org', 'subject' => 'This is my test subject', 'text' => 'Testing!'); {
$result = $this->client->sendMessage("test.mailgun.org", $message); $message = array('to' => 'test@test.mailgun.org',
$this->assertEquals("test.mailgun.org/messages", $result->http_endpoint_url); 'from' => 'sender@test.mailgun.org',
'subject' => 'This is my test subject',
'text' => 'Testing!'
);
$result = $this->client->sendMessage("test.mailgun.org", $message);
$this->assertEquals("test.mailgun.org/messages", $result->http_endpoint_url);
} }
} }
?> ?>

View File

@ -3,58 +3,65 @@ namespace Mailgun\Tests\Mock\Connection;
use Mailgun\Connection\RestClient; use Mailgun\Connection\RestClient;
class TestBroker extends RestClient { class TestBroker extends RestClient
private $apiKey; {
private $apiKey;
protected $apiEndpoint; protected $apiEndpoint;
public function __construct($apiKey = null, $apiEndpoint = "api.mailgun.net", $apiVersion = "v2"){ public function __construct($apiKey = null, $apiEndpoint = "api.mailgun.net", $apiVersion = "v2")
$this->apiKey = $apiKey; {
$this->apiEndpoint = $apiEndpoint; $this->apiKey = $apiKey;
} $this->apiEndpoint = $apiEndpoint;
}
public function post($endpointUrl, $postData = array(), $files = array()){ public function post($endpointUrl, $postData = array(), $files = array())
return $this->responseHandler($endpointUrl, $httpResponseCode = 200); {
} return $this->responseHandler($endpointUrl, $httpResponseCode = 200);
public function get($endpointUrl, $queryString = array()){ }
return $this->responseHandler($endpointUrl, $httpResponseCode = 200);
}
public function delete($endpointUrl){
return $this->responseHandler($endpointUrl, $httpResponseCode = 200);
}
public function put($endpointUrl, $queryString){
return $this->responseHandler($endpointUrl, $httpResponseCode = 200);
}
public function responseHandler($endpointUrl, $httpResponseCode = 200){ public function get($endpointUrl, $queryString = array())
if($httpResponseCode === 200){ {
$result = new \stdClass(); return $this->responseHandler($endpointUrl, $httpResponseCode = 200);
$result->http_response_body = new \stdClass(); }
$jsonResponseData = json_decode('{"message": "Some JSON Response Data", "id": "1234"}');
foreach($jsonResponseData as $key => $value){ public function delete($endpointUrl)
$result->http_response_body->$key = $value; {
} return $this->responseHandler($endpointUrl, $httpResponseCode = 200);
} }
elseif($httpStatusCode == 400){
throw new MissingRequiredMIMEParameters(EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS); public function put($endpointUrl, $queryString)
} {
elseif($httpStatusCode == 401){ return $this->responseHandler($endpointUrl, $httpResponseCode = 200);
throw new InvalidCredentials(EXCEPTION_INVALID_CREDENTIALS); }
}
elseif($httpStatusCode == 401){ public function responseHandler($endpointUrl, $httpResponseCode = 200)
throw new GenericHTTPError(EXCEPTION_INVALID_CREDENTIALS); {
} if ($httpResponseCode === 200) {
elseif($httpStatusCode == 404){ $result = new \stdClass();
throw new MissingEndpoint(EXCEPTION_MISSING_ENDPOINT); $result->http_response_body = new \stdClass();
} $jsonResponseData = json_decode('{"message": "Some JSON Response Data", "id": "1234"}');
else{ foreach ($jsonResponseData as $key => $value) {
throw new GenericHTTPError(EXCEPTION_GENERIC_HTTP_ERROR); $result->http_response_body->$key = $value;
return false; }
} } elseif ($httpStatusCode == 400) {
$result->http_response_code = $httpResponseCode; throw new MissingRequiredMIMEParameters(EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS);
$result->http_endpoint_url = $endpointUrl; } elseif ($httpStatusCode == 401) {
return $result; throw new InvalidCredentials(EXCEPTION_INVALID_CREDENTIALS);
} } elseif ($httpStatusCode == 401) {
throw new GenericHTTPError(EXCEPTION_INVALID_CREDENTIALS);
} elseif ($httpStatusCode == 404) {
throw new MissingEndpoint(EXCEPTION_MISSING_ENDPOINT);
} else {
throw new GenericHTTPError(EXCEPTION_GENERIC_HTTP_ERROR);
return false;
}
$result->http_response_code = $httpResponseCode;
$result->http_endpoint_url = $endpointUrl;
return $result;
}
} }

View File

@ -7,12 +7,13 @@ use Mailgun\Tests\Mock\Connection\TestBroker;
class Mailgun extends Base class Mailgun extends Base
{ {
protected $debug; protected $debug;
protected $restClient; protected $restClient;
public function __construct($apiKey = null, $apiEndpoint = "api.mailgun.net", $apiVersion = "v2"){ public function __construct($apiKey = null, $apiEndpoint = "api.mailgun.net", $apiVersion = "v2")
$this->restClient = new TestBroker($apiKey, $apiEndpoint, $apiVersion); {
} $this->restClient = new TestBroker($apiKey, $apiEndpoint, $apiVersion);
}
} }