OptInHandlerTest.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?PHP
  2. namespace Mailgun\Tests\Lists;
  3. use Mailgun\Tests\Mock\Mailgun;
  4. class OptInHandler extends \Mailgun\Tests\MailgunTestCase
  5. {
  6. private $client;
  7. private $sampleDomain = "samples.mailgun.org";
  8. private $optInHandler;
  9. public function setUp()
  10. {
  11. $this->client = new Mailgun("My-Super-Awesome-API-Key");
  12. $this->optInHandler = $this->client->OptInHandler();
  13. }
  14. public function testReturnOfGenerateHash()
  15. {
  16. $generatedHash = $this->optInHandler->generateHash(
  17. 'mytestlist@example.com',
  18. 'mysupersecretappid',
  19. 'testrecipient@example.com'
  20. );
  21. $knownHash = "eyJoIjoiMTllODc2YWNkMWRmNzk4NTc0ZTU0YzhjMzIzOTNiYTNjNzdhNGMxOCIsInAiOiJleUp5SWpvaWRHVnpkSEpsWTJsd2FXVnVkRUJsZUdGdGNHeGxMbU52YlNJc0ltd2lPaUp0ZVhSbGMzUnNhWE4wUUdWNFlXMXdiR1V1WTI5dEluMD0ifQ%3D%3D";
  22. $this->assertEquals($generatedHash, $knownHash);
  23. }
  24. public function testGoodHash()
  25. {
  26. $validation = $this->optInHandler->validateHash(
  27. 'mysupersecretappid',
  28. 'eyJoIjoiMTllODc2YWNkMWRmNzk4NTc0ZTU0YzhjMzIzOTNiYTNjNzdhNGMxOCIsInAiOiJleUp5SWpvaWRHVnpkSEpsWTJsd2FXVnVkRUJsZUdGdGNHeGxMbU52YlNJc0ltd2lPaUp0ZVhSbGMzUnNhWE4wUUdWNFlXMXdiR1V1WTI5dEluMD0ifQ%3D%3D'
  29. );
  30. $this->assertArrayHasKey('recipientAddress', $validation);
  31. $this->assertArrayHasKey('mailingList', $validation);
  32. }
  33. public function testBadHash()
  34. {
  35. $validation = $this->optInHandler->validateHash(
  36. 'mybadsecretappid',
  37. 'eyJoIjoiMTllODc2YWNkMWRmNzk4NTc0ZTU0YzhjMzIzOTNiYTNjNzdhNGMxOCIsInAiOiJleUp5SWpvaWRHVnpkSEpsWTJsd2FXVnVkRUJsZUdGdGNHeGxMbU52YlNJc0ltd2lPaUp0ZVhSbGMzUnNhWE4wUUdWNFlXMXdiR1V1WTI5dEluMD0ifQ%3D%3D'
  38. );
  39. $this->assertFalse($validation);
  40. }
  41. }