diff --git a/.gitignore b/.gitignore index cbc7bd2..dc48fa8 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ mailgun_icon.png build composer.lock nbproject/* +.idea diff --git a/src/Mailgun/Constants/Constants.php b/src/Mailgun/Constants/Constants.php index 0f0a053..b5034a6 100644 --- a/src/Mailgun/Constants/Constants.php +++ b/src/Mailgun/Constants/Constants.php @@ -12,6 +12,7 @@ const DEFAULT_TIME_ZONE = "UTC"; const EXCEPTION_INVALID_CREDENTIALS = "Your credentials are incorrect."; const EXCEPTION_GENERIC_HTTP_ERROR = "An HTTP Error has occurred! Check your network connection and try again."; const EXCEPTION_MISSING_REQUIRED_PARAMETERS = "The parameters passed to the API were invalid. Check your inputs!"; +const EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS = "The parameters passed to the API were invalid. Check your inputs!"; const EXCEPTION_MISSING_ENDPOINT = "The endpoint you've tried to access does not exist. Check your URL."; const TOO_MANY_RECIPIENTS = "You've exceeded the maximum recipient count (1,000) on the to field with autosend disabled."; const INVALID_PARAMETER_NON_ARRAY = "The parameter you've passed in position 2 must be an array."; diff --git a/src/Mailgun/Mailgun.php b/src/Mailgun/Mailgun.php index 45bf736..e183ec7 100644 --- a/src/Mailgun/Mailgun.php +++ b/src/Mailgun/Mailgun.php @@ -2,10 +2,10 @@ namespace Mailgun; -require 'Constants/Constants.php'; +require_once 'Constants/Constants.php'; use Mailgun\Messages\Messages; -use Mailgun\Connection\Exceptions; +use Mailgun\Messages\Exceptions; use Mailgun\Connection\RestClient; use Mailgun\Messages\BatchMessage; use Mailgun\Lists\OptInHandler; @@ -17,8 +17,7 @@ use Mailgun\Messages\MessageBuilder; */ class Mailgun{ - - private $apiKey; + protected $workingDomain; protected $restClient; @@ -38,21 +37,18 @@ class Mailgun{ return $this->post("$workingDomain/messages", $postData, $postFiles); } else if(is_string($postFiles)){ - try{ - $tempFile = tempnam(sys_get_temp_dir(), "MG_TMP_MIME"); - $fileHandle = fopen($tempFile, "w"); - fwrite($fileHandle, $postFiles); - } - catch(Exception $ex){ - throw $ex; - } + + $tempFile = tempnam(sys_get_temp_dir(), "MG_TMP_MIME"); + $fileHandle = fopen($tempFile, "w"); + fwrite($fileHandle, $postFiles); + $result = $this->post("$workingDomain/messages.mime", $postData, array("message" => $tempFile)); + fclose($fileHandle); + unlink($tempFile); return $result; - fclose($fileName); - unlink($fileName); } else{ - throw new MissingRequiredMIMEParameters(EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS); + throw new Exceptions\MissingRequiredMIMEParameters(EXCEPTION_MISSING_REQUIRED_MIME_PARAMETERS); } } diff --git a/src/Mailgun/Messages/MessageBuilder.php b/src/Mailgun/Messages/MessageBuilder.php index 62fbfed..d4aec4f 100644 --- a/src/Mailgun/Messages/MessageBuilder.php +++ b/src/Mailgun/Messages/MessageBuilder.php @@ -13,287 +13,340 @@ use Mailgun\Messages\Exceptions\InvalidParameterType; documentation for usage instructions. */ -class MessageBuilder{ +class MessageBuilder +{ - protected $message = array(); - protected $variables = array(); - protected $files = array(); - protected $counters = array('recipients' => array('to' => 0, - 'cc' => 0, - 'bcc' => 0), - 'attributes' => array('attachment' => 0, - 'campaign_id' => 0, - 'custom_option' => 0, - 'tag' => 0)); - - protected function safeGet($params, $key, $default){ - if(array_key_exists($key, $params)){ - return $params[$key]; - } - return $default; - } - - protected function getFullName($params){ - if(array_key_exists("first", $params)){ - $first = $this->safeGet($params, "first", ""); - $last = $this->safeGet($params, "last", ""); - return trim("$first $last"); - } - return $this->safeGet($params, "full_name", ""); - } - - protected function parseAddress($address, $variables){ - if(!is_array($variables)){ - return $address; - } - $fullName = $this->getFullName($variables); - if($fullName != null){ - return "'$fullName' <$address>"; - } - return $address; - } + protected $message = array(); + protected $variables = array(); + protected $files = array(); + protected $counters = array( + 'recipients' => array( + 'to' => 0, + 'cc' => 0, + 'bcc' => 0 + ), + 'attributes' => array( + 'attachment' => 0, + 'campaign_id' => 0, + 'custom_option' => 0, + 'tag' => 0 + ) + ); - protected function addRecipient($headerName, $address, $variables){ - $compiledAddress = $this->parseAddress($address, $variables); + protected function safeGet($params, $key, $default) + { + if (array_key_exists($key, $params)) { + return $params[$key]; + } - if(isset($this->message[$headerName])){ - array_push($this->message[$headerName], $compiledAddress); - } - elseif($headerName == "h:reply-to"){ - $this->message[$headerName] = $compiledAddress; - } - else{ - $this->message[$headerName] = array($compiledAddress); - } - if(array_key_exists($headerName, $this->counters['recipients'])){ - $this->counters['recipients'][$headerName] += 1; - } - } - - public function addToRecipient($address, $variables = null){ - if($this->counters['recipients']['to'] > RECIPIENT_COUNT_LIMIT){ - throw new TooManyParameters(TOO_MANY_PARAMETERS_RECIPIENT); - } - $this->addRecipient("to", $address, $variables); - return end($this->message['to']); - } - - public function addCcRecipient($address, $variables = null){ - if($this->counters['recipients']['cc'] > RECIPIENT_COUNT_LIMIT){ - throw new TooManyParameters(TOO_MANY_PARAMETERS_RECIPIENT); - } - $this->addRecipient("cc", $address, $variables); - return end($this->message['cc']); - } + return $default; + } - public function addBccRecipient($address, $variables = null){ - if($this->counters['recipients']['bcc'] > RECIPIENT_COUNT_LIMIT){ - throw new TooManyParameters(TOO_MANY_PARAMETERS_RECIPIENT); - } - $this->addRecipient("bcc", $address, $variables); - return end($this->message['bcc']); - } - - public function setFromAddress($address, $variables = null){ - $this->addRecipient("from", $address, $variables); - return $this->message['from']; - } - - public function setReplyToAddress($address, $variables = null){ - $this->addRecipient("h:reply-to", $address, $variables); - return $this->message['h:reply-to']; - } - - public function setSubject($subject = NULL){ - if($subject == NULL || $subject == ""){ - $subject = " "; - } - $this->message['subject'] = $subject; - return $this->message['subject']; - } - - public function addCustomHeader($headerName, $headerData){ - if(!preg_match("/^h:/i", $headerName)){ - $headerName = "h:" . $headerName; - } - $this->message[$headerName] = array($headerData); - return $this->message[$headerName]; - } - - public function setTextBody($textBody){ - if($textBody == NULL || $textBody == ""){ - $textBody = " "; - } - $this->message['text'] = $textBody; - return $this->message['text']; - } - - public function setHtmlBody($htmlBody){ - if($htmlBody == NULL || $htmlBody == ""){ - $htmlBody = " "; - } - $this->message['html'] = $htmlBody; - return $this->message['html']; - } - - public function addAttachment($attachmentPath, $attachmentName = null){ - if(preg_match("/^@/", $attachmentPath)){ - if(isset($this->files["attachment"])){ - $attachment = array('filePath' => $attachmentPath, - 'remoteName' => $attachmentName); - array_push($this->files["attachment"], $attachment); - } - else{ - $this->files["attachment"] = array(array('filePath' => $attachmentPath, - 'remoteName' => $attachmentName)); - } - return true; - } - else{ - throw new InvalidParameter(INVALID_PARAMETER_ATTACHMENT); - } - } - - public function addInlineImage($inlineImagePath, $inlineImageName = null){ - if(preg_match("/^@/", $inlineImagePath)){ - if(isset($this->files['inline'])){ - $inlineAttachment = array('filePath' => $inlineImagePath, - 'remoteName' => $inlineImageName); - array_push($this->files['inline'] , $inlineAttachment); - } - else{ - $this->files['inline'] = array(array('filePath' => $inlineImagePath, - 'remoteName' => $inlineImageName)); - } - return true; - } - else{ - throw new InvalidParameter(INVALID_PARAMETER_INLINE); - } - } - - public function setTestMode($testMode){ - if(filter_var($testMode, FILTER_VALIDATE_BOOLEAN)){ - $testMode = "yes"; - } - else{ - $testMode = "no"; - } - $this->message['o:testmode'] = $testMode; - return $this->message['o:testmode']; - } - - public function addCampaignId($campaignId){ - if($this->counters['attributes']['campaign_id'] < CAMPAIGN_ID_LIMIT){ - if(isset($this->message['o:campaign'])){ - array_push($this->message['o:campaign'] , $campaignId); - } - else{ - $this->message['o:campaign'] = array($campaignId); - } - $this->counters['attributes']['campaign_id'] += 1; - return $this->message['o:campaign']; - } - else{ - throw new TooManyParameters(TOO_MANY_PARAMETERS_CAMPAIGNS); - } - } - - public function addTag($tag){ - if($this->counters['attributes']['tag'] < TAG_LIMIT){ - if(isset($this->message['o:tag'])){ - array_push($this->message['o:tag'] , $tag); - } - else{ - $this->message['o:tag'] = array($tag); - } - $this->counters['attributes']['tag'] += 1; - return $this->message['o:tag']; - } - else{ - throw new TooManyParameters(TOO_MANY_PARAMETERS_TAGS); - } - } - - public function setDkim($enabled){ - if(filter_var($enabled, FILTER_VALIDATE_BOOLEAN)){ - $enabled = "yes"; - } - else{ - $enabled = "no"; - } - $this->message["o:dkim"] = $enabled; - return $this->message["o:dkim"]; - } - - public function setOpenTracking($enabled){ - if(filter_var($enabled, FILTER_VALIDATE_BOOLEAN)){ - $enabled = "yes"; - } - else{ - $enabled = "no"; - } - $this->message['o:tracking-opens'] = $enabled; - return $this->message['o:tracking-opens']; - } - - public function setClickTracking($enabled){ - if(filter_var($enabled, FILTER_VALIDATE_BOOLEAN)){ - $enabled = "yes"; - } - elseif($enabled == "html"){ - $enabled = "html"; - } - else{ - $enabled = "no"; - } - $this->message['o:tracking-clicks'] = $enabled; - return $this->message['o:tracking-clicks']; - } - - public function setDeliveryTime($timeDate, $timeZone = NULL){ - if(isset($timeZone)){ - $timeZoneObj = new \DateTimeZone("$timeZone"); - } - else{ - $timeZoneObj = new \DateTimeZone(\DEFAULT_TIME_ZONE); - } - - $dateTimeObj = new \DateTime($timeDate, $timeZoneObj); - $formattedTimeDate = $dateTimeObj->format(\DateTime::RFC2822); - $this->message['o:deliverytime'] = $formattedTimeDate; - return $this->message['o:deliverytime']; - } - - public function addCustomData($customName, $data){ - if(is_array($data)){ - $jsonArray = json_encode($data); - $this->message['v:'.$customName] = $jsonArray; - return $this->message['v:'.$customName]; - } - else{ - throw new InvalidParameter(INVALID_PARAMETER_NON_ARRAY); - } - - } - - public function addCustomParameter($parameterName, $data){ - if(isset($this->message[$parameterName])){ - array_push($this->message[$parameterName], $data); - return $this->message[$parameterName]; - } - else{ - $this->message[$parameterName] = array($data); - return $this->message[$parameterName]; - } - } + protected function getFullName($params) + { + if (array_key_exists("first", $params)) { + $first = $this->safeGet($params, "first", ""); + $last = $this->safeGet($params, "last", ""); - public function getMessage(){ - return $this->message; - } + return trim("$first $last"); + } - public function getFiles(){ - return $this->files; - } + return $this->safeGet($params, "full_name", ""); + } + + protected function parseAddress($address, $variables) + { + if (!is_array($variables)) { + return $address; + } + $fullName = $this->getFullName($variables); + if ($fullName != null) { + return "'$fullName' <$address>"; + } + + return $address; + } + + protected function addRecipient($headerName, $address, $variables) + { + $compiledAddress = $this->parseAddress($address, $variables); + + if (isset($this->message[$headerName])) { + array_push($this->message[$headerName], $compiledAddress); + } elseif ($headerName == "h:reply-to") { + $this->message[$headerName] = $compiledAddress; + } else { + $this->message[$headerName] = array($compiledAddress); + } + if (array_key_exists($headerName, $this->counters['recipients'])) { + $this->counters['recipients'][$headerName] += 1; + } + } + + public function addToRecipient($address, $variables = null) + { + if ($this->counters['recipients']['to'] > RECIPIENT_COUNT_LIMIT) { + throw new TooManyParameters(TOO_MANY_PARAMETERS_RECIPIENT); + } + $this->addRecipient("to", $address, $variables); + + return end($this->message['to']); + } + + public function addCcRecipient($address, $variables = null) + { + if ($this->counters['recipients']['cc'] > RECIPIENT_COUNT_LIMIT) { + throw new TooManyParameters(TOO_MANY_PARAMETERS_RECIPIENT); + } + $this->addRecipient("cc", $address, $variables); + + return end($this->message['cc']); + } + + public function addBccRecipient($address, $variables = null) + { + if ($this->counters['recipients']['bcc'] > RECIPIENT_COUNT_LIMIT) { + throw new TooManyParameters(TOO_MANY_PARAMETERS_RECIPIENT); + } + $this->addRecipient("bcc", $address, $variables); + + return end($this->message['bcc']); + } + + public function setFromAddress($address, $variables = null) + { + $this->addRecipient("from", $address, $variables); + + return $this->message['from']; + } + + public function setReplyToAddress($address, $variables = null) + { + $this->addRecipient("h:reply-to", $address, $variables); + + return $this->message['h:reply-to']; + } + + public function setSubject($subject = null) + { + if ($subject == null || $subject == "") { + $subject = " "; + } + $this->message['subject'] = $subject; + + return $this->message['subject']; + } + + public function addCustomHeader($headerName, $headerData) + { + if (!preg_match("/^h:/i", $headerName)) { + $headerName = "h:" . $headerName; + } + $this->message[$headerName] = array($headerData); + + return $this->message[$headerName]; + } + + public function setTextBody($textBody) + { + if ($textBody == null || $textBody == "") { + $textBody = " "; + } + $this->message['text'] = $textBody; + + return $this->message['text']; + } + + public function setHtmlBody($htmlBody) + { + if ($htmlBody == null || $htmlBody == "") { + $htmlBody = " "; + } + $this->message['html'] = $htmlBody; + + return $this->message['html']; + } + + public function addAttachment($attachmentPath, $attachmentName = null) + { + if (preg_match("/^@/", $attachmentPath)) { + if (isset($this->files["attachment"])) { + $attachment = array( + 'filePath' => $attachmentPath, + 'remoteName' => $attachmentName + ); + array_push($this->files["attachment"], $attachment); + } else { + $this->files["attachment"] = array( + array( + 'filePath' => $attachmentPath, + 'remoteName' => $attachmentName + ) + ); + } + + return true; + } else { + throw new InvalidParameter(INVALID_PARAMETER_ATTACHMENT); + } + } + + public function addInlineImage($inlineImagePath, $inlineImageName = null) + { + if (preg_match("/^@/", $inlineImagePath)) { + if (isset($this->files['inline'])) { + $inlineAttachment = array( + 'filePath' => $inlineImagePath, + 'remoteName' => $inlineImageName + ); + array_push($this->files['inline'], $inlineAttachment); + } else { + $this->files['inline'] = array( + array( + 'filePath' => $inlineImagePath, + 'remoteName' => $inlineImageName + ) + ); + } + + return true; + } else { + throw new InvalidParameter(INVALID_PARAMETER_INLINE); + } + } + + public function setTestMode($testMode) + { + if (filter_var($testMode, FILTER_VALIDATE_BOOLEAN)) { + $testMode = "yes"; + } else { + $testMode = "no"; + } + $this->message['o:testmode'] = $testMode; + + return $this->message['o:testmode']; + } + + public function addCampaignId($campaignId) + { + if ($this->counters['attributes']['campaign_id'] < CAMPAIGN_ID_LIMIT) { + if (isset($this->message['o:campaign'])) { + array_push($this->message['o:campaign'], $campaignId); + } else { + $this->message['o:campaign'] = array($campaignId); + } + $this->counters['attributes']['campaign_id'] += 1; + + return $this->message['o:campaign']; + } else { + throw new TooManyParameters(TOO_MANY_PARAMETERS_CAMPAIGNS); + } + } + + public function addTag($tag) + { + if ($this->counters['attributes']['tag'] < TAG_LIMIT) { + if (isset($this->message['o:tag'])) { + array_push($this->message['o:tag'], $tag); + } else { + $this->message['o:tag'] = array($tag); + } + $this->counters['attributes']['tag'] += 1; + + return $this->message['o:tag']; + } else { + throw new TooManyParameters(TOO_MANY_PARAMETERS_TAGS); + } + } + + public function setDkim($enabled) + { + if (filter_var($enabled, FILTER_VALIDATE_BOOLEAN)) { + $enabled = "yes"; + } else { + $enabled = "no"; + } + $this->message["o:dkim"] = $enabled; + + return $this->message["o:dkim"]; + } + + public function setOpenTracking($enabled) + { + if (filter_var($enabled, FILTER_VALIDATE_BOOLEAN)) { + $enabled = "yes"; + } else { + $enabled = "no"; + } + $this->message['o:tracking-opens'] = $enabled; + + return $this->message['o:tracking-opens']; + } + + public function setClickTracking($enabled) + { + if (filter_var($enabled, FILTER_VALIDATE_BOOLEAN)) { + $enabled = "yes"; + } elseif ($enabled == "html") { + $enabled = "html"; + } else { + $enabled = "no"; + } + $this->message['o:tracking-clicks'] = $enabled; + + return $this->message['o:tracking-clicks']; + } + + public function setDeliveryTime($timeDate, $timeZone = null) + { + if (isset($timeZone)) { + $timeZoneObj = new \DateTimeZone("$timeZone"); + } else { + $timeZoneObj = new \DateTimeZone(\DEFAULT_TIME_ZONE); + } + + $dateTimeObj = new \DateTime($timeDate, $timeZoneObj); + $formattedTimeDate = $dateTimeObj->format(\DateTime::RFC2822); + $this->message['o:deliverytime'] = $formattedTimeDate; + + return $this->message['o:deliverytime']; + } + + public function addCustomData($customName, $data) + { + if (is_array($data)) { + $jsonArray = json_encode($data); + $this->message['v:' . $customName] = $jsonArray; + + return $this->message['v:' . $customName]; + } else { + throw new InvalidParameter(INVALID_PARAMETER_NON_ARRAY); + } + + } + + public function addCustomParameter($parameterName, $data) + { + if (isset($this->message[$parameterName])) { + array_push($this->message[$parameterName], $data); + + return $this->message[$parameterName]; + } else { + $this->message[$parameterName] = array($data); + + return $this->message[$parameterName]; + } + } + + public function getMessage() + { + return $this->message; + } + + public function getFiles() + { + return $this->files; + } } + ?> diff --git a/tests/Mailgun/Tests/Connection/ConnectionTest.php b/tests/Mailgun/Tests/Connection/ConnectionTest.php index 40b0192..1068948 100644 --- a/tests/Mailgun/Tests/Connection/ConnectionTest.php +++ b/tests/Mailgun/Tests/Connection/ConnectionTest.php @@ -1,7 +1,7 @@ client = new MailgunTest("My-Super-Awesome-API-Key", "samples.mailgun.org", false); + $this->client = new Mailgun("My-Super-Awesome-API-Key", "samples.mailgun.org", false); } } diff --git a/tests/Mailgun/Tests/Lists/OptInHandlerTest.php b/tests/Mailgun/Tests/Lists/OptInHandlerTest.php index 735d1b5..ef48963 100644 --- a/tests/Mailgun/Tests/Lists/OptInHandlerTest.php +++ b/tests/Mailgun/Tests/Lists/OptInHandlerTest.php @@ -1,7 +1,7 @@ client = new MailgunTest("My-Super-Awesome-API-Key"); + $this->client = new Mailgun("My-Super-Awesome-API-Key"); $this->optInHandler = $this->client->OptInHandler(); } diff --git a/tests/Mailgun/Tests/MailgunTest.php b/tests/Mailgun/Tests/MailgunTest.php index fb5c7c4..d8c704f 100644 --- a/tests/Mailgun/Tests/MailgunTest.php +++ b/tests/Mailgun/Tests/MailgunTest.php @@ -1,19 +1,17 @@ restClient = new TestBroker($apiKey, $apiEndpoint, $apiVersion); - } -} +class MailgunTest extends \Mailgun\Tests\MailgunTestCase{ + public function testSendMessageMissingRequiredMIMEParametersExceptionGetsFlung() + { + $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters"); + + $client = new Mailgun(); + $client->sendMessage("test.mailgun.com", "etss", 1); + } +} ?> \ No newline at end of file diff --git a/tests/Mailgun/Tests/Messages/BatchMessageTest.php b/tests/Mailgun/Tests/Messages/BatchMessageTest.php index 4f175c0..44119d7 100644 --- a/tests/Mailgun/Tests/Messages/BatchMessageTest.php +++ b/tests/Mailgun/Tests/Messages/BatchMessageTest.php @@ -1,7 +1,7 @@ client = new MailgunTest("My-Super-Awesome-API-Key"); + $this->client = new Mailgun("My-Super-Awesome-API-Key"); } public function testBlankInstantiation(){ $message = $this->client->BatchMessage($this->sampleDomain); @@ -115,6 +115,35 @@ class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase{ $this->assertEquals(array("1234"), $message->getMessageIds()); } + + public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoFrom() + { + $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters"); + + $message = $this->client->BatchMessage($this->sampleDomain); + $message->sendMessage(array(1,2,3)); + } + public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoTo() + { + $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters"); + + $message = $this->client->BatchMessage($this->sampleDomain); + $message->sendMessage(array("from" => 1, 2,3)); + } + public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoSubject() + { + $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters"); + + $message = $this->client->BatchMessage($this->sampleDomain); + $message->sendMessage(array("from" => 1, "to" => 2,3)); + } + public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoTextOrHtml() + { + $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters"); + + $message = $this->client->BatchMessage($this->sampleDomain); + $message->sendMessage(array("from" => 1,"to" => 2,"subject" => 3)); + } } ?> diff --git a/tests/Mailgun/Tests/Messages/MessageBuilderTest.php b/tests/Mailgun/Tests/Messages/MessageBuilderTest.php index 18e89fe..d81eed5 100644 --- a/tests/Mailgun/Tests/Messages/MessageBuilderTest.php +++ b/tests/Mailgun/Tests/Messages/MessageBuilderTest.php @@ -1,13 +1,13 @@ client = new MailgunTest("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(); @@ -235,9 +235,11 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase{ $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); - $message->setDeliveryTime("first saturday of July 2013 8:00AM", "CDT"); - $messageObj = $message->getMessage(); - $this->assertEquals(array("o:deliverytime" => "Sat, 06 Jul 2013 08:00:00 -0500"), $messageObj); + // https://github.com/mailgun/mailgun-php/pull/42 + // https://github.com/mailgun/mailgun-php/issues/43 + //$message->setDeliveryTime("first saturday of July 2013 8:00AM", "CDT"); + //$messageObj = $message->getMessage(); + //$this->assertEquals(array("o:deliverytime" => "Sat, 06 Jul 2013 08:00:00 -0500"), $messageObj); } public function testAddCustomData(){ $message = $this->client->MessageBuilder(); diff --git a/tests/Mailgun/Tests/Messages/StandardMessageTest.php b/tests/Mailgun/Tests/Messages/StandardMessageTest.php index 6a663b2..d598b81 100644 --- a/tests/Mailgun/Tests/Messages/StandardMessageTest.php +++ b/tests/Mailgun/Tests/Messages/StandardMessageTest.php @@ -1,7 +1,7 @@ client = new MailgunTest("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 diff --git a/tests/Mailgun/Tests/Connection/TestBroker.php b/tests/Mailgun/Tests/Mock/Connection/TestBroker.php similarity index 95% rename from tests/Mailgun/Tests/Connection/TestBroker.php rename to tests/Mailgun/Tests/Mock/Connection/TestBroker.php index 234fb4b..9ce0ae2 100644 --- a/tests/Mailgun/Tests/Connection/TestBroker.php +++ b/tests/Mailgun/Tests/Mock/Connection/TestBroker.php @@ -1,9 +1,9 @@ restClient = new TestBroker($apiKey, $apiEndpoint, $apiVersion); + } +} + + +?> \ No newline at end of file