120 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Zend Framework (http://framework.zend.com/).
 | |
|  *
 | |
|  * @link       http://github.com/zendframework/zf2 for the canonical source repository
 | |
|  *
 | |
|  * @copyright  Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
 | |
|  * @license    http://framework.zend.com/license/new-bsd New BSD License
 | |
|  *
 | |
|  * @category   ZendService
 | |
|  */
 | |
| namespace ZendServiceTest\Google\Gcm;
 | |
| 
 | |
| use PHPUnit\Framework\TestCase;
 | |
| use ZendService\Google\Gcm\Message;
 | |
| use ZendService\Google\Gcm\Response;
 | |
| 
 | |
| /**
 | |
|  * @category   ZendService
 | |
|  * @group      ZendService
 | |
|  * @group      ZendService_Google
 | |
|  * @group      ZendService_Google_Gcm
 | |
|  */
 | |
| class ResponseTest extends TestCase
 | |
| {
 | |
|     /**
 | |
|      * @var Message
 | |
|      */
 | |
|     private $m;
 | |
| 
 | |
|     public function setUp()
 | |
|     {
 | |
|         $this->m = new Message();
 | |
|     }
 | |
| 
 | |
|     public function testConstructorExpectedBehavior()
 | |
|     {
 | |
|         $response = new Response();
 | |
|         self::assertNull($response->getResponse());
 | |
|         self::assertNull($response->getMessage());
 | |
| 
 | |
|         $message = new Message();
 | |
|         $response = new Response(null, $message);
 | |
|         self::assertEquals($message, $response->getMessage());
 | |
|         self::assertNull($response->getResponse());
 | |
| 
 | |
|         $message = new Message();
 | |
|         $responseArray = [
 | |
|             'results' => [
 | |
|                 ['message_id' => '1:1234'],
 | |
|             ],
 | |
|             'success' => 1,
 | |
|             'failure' => 0,
 | |
|             'canonical_ids' => 0,
 | |
|             'multicast_id' => 1,
 | |
|         ];
 | |
|         $response = new Response($responseArray, $message);
 | |
|         self::assertEquals($responseArray, $response->getResponse());
 | |
|         self::assertEquals($message, $response->getMessage());
 | |
|     }
 | |
| 
 | |
|     public function testInvalidConstructorThrowsException()
 | |
|     {
 | |
|         if (PHP_VERSION_ID < 70000) {
 | |
|             self::markTestSkipped('PHP 7 required.');
 | |
|         }
 | |
| 
 | |
|         $this->expectException(\TypeError::class);
 | |
|         new Response('{bad');
 | |
|     }
 | |
| 
 | |
|     public function testInvalidConstructorThrowsExceptionOnPhp7()
 | |
|     {
 | |
|         if (PHP_VERSION_ID >= 70000) {
 | |
|             self::markTestSkipped('PHP >=5.5 required.');
 | |
|         }
 | |
| 
 | |
|         $this->expectException(\PHPUnit_Framework_Error::class);
 | |
|         new Response('{bad');
 | |
|     }
 | |
| 
 | |
|     public function testMessageExpectedBehavior()
 | |
|     {
 | |
|         $message = new Message();
 | |
|         $response = new Response();
 | |
|         $response->setMessage($message);
 | |
|         self::assertEquals($message, $response->getMessage());
 | |
|     }
 | |
| 
 | |
|     public function testResponse()
 | |
|     {
 | |
|         $responseArr = [
 | |
|             'results' => [
 | |
|                 ['message_id' => '1:234'],
 | |
|             ],
 | |
|             'success' => 1,
 | |
|             'failure' => 0,
 | |
|             'canonical_ids' => 0,
 | |
|             'multicast_id' => '123',
 | |
|         ];
 | |
|         $response = new Response();
 | |
|         $response->setResponse($responseArr);
 | |
|         self::assertEquals($responseArr, $response->getResponse());
 | |
|         self::assertEquals(1, $response->getSuccessCount());
 | |
|         self::assertEquals(0, $response->getFailureCount());
 | |
|         self::assertEquals(0, $response->getCanonicalCount());
 | |
|         // test results non correlated
 | |
|         $expected = [['message_id' => '1:234']];
 | |
|         self::assertEquals($expected, $response->getResults());
 | |
|         $expected = [0 => '1:234'];
 | |
|         self::assertEquals($expected, $response->getResult(Response::RESULT_MESSAGE_ID));
 | |
| 
 | |
|         $message = new Message();
 | |
|         $message->setRegistrationIds(['ABCDEF']);
 | |
|         $response->setMessage($message);
 | |
|         $expected = ['ABCDEF' => '1:234'];
 | |
|         self::assertEquals($expected, $response->getResult(Response::RESULT_MESSAGE_ID));
 | |
|     }
 | |
| }
 | 
