Laravel version update
Laravel version update
This commit is contained in:
		| @@ -1,223 +1,232 @@ | ||||
| <?php namespace LaravelFCM\Mocks; | ||||
| <?php | ||||
|  | ||||
| namespace LaravelFCM\Mocks; | ||||
|  | ||||
| use LaravelFCM\Response\DownstreamResponse; | ||||
| use LaravelFCM\Response\DownstreamResponseContract; | ||||
|  | ||||
| /** | ||||
|  * Class MockDownstreamResponse **Only use it for testing** | ||||
|  * | ||||
|  * @package LaravelFCM\Response | ||||
|  * Class MockDownstreamResponse **Only use it for testing**. | ||||
|  */ | ||||
| class MockDownstreamResponse implements DownstreamResponseContract { | ||||
| class MockDownstreamResponse implements DownstreamResponseContract | ||||
| { | ||||
|     /** | ||||
|      * @internal | ||||
|      * | ||||
|      * @var int | ||||
|      */ | ||||
|     protected $numberTokensSuccess = 0; | ||||
|  | ||||
|     /** | ||||
|      * @internal | ||||
|      * | ||||
|      * @var | ||||
|      */ | ||||
|     protected $messageId; | ||||
|  | ||||
| 	/** | ||||
| 	 * @internal | ||||
| 	 * | ||||
| 	 * @var int | ||||
| 	 */ | ||||
| 	protected $numberTokensSuccess = 0; | ||||
|     /** | ||||
|      * @internal | ||||
|      * | ||||
|      * @var array | ||||
|      */ | ||||
|     protected $tokensToDelete = []; | ||||
|  | ||||
|     /** | ||||
|      * @internal | ||||
|      * | ||||
|      * @var array | ||||
|      */ | ||||
|     protected $tokensToModify = []; | ||||
|     /** | ||||
|      * @internal | ||||
|      * | ||||
|      * @var array | ||||
|      */ | ||||
|     protected $tokensToRetry = []; | ||||
|  | ||||
| 	/** | ||||
| 	 * @internal | ||||
| 	 * | ||||
| 	 * @var | ||||
| 	 */ | ||||
| 	protected $messageId; | ||||
|     /** | ||||
|      * @internal | ||||
|      * | ||||
|      * @var array | ||||
|      */ | ||||
|     protected $tokensWithError = []; | ||||
|  | ||||
| 	/** | ||||
| 	 * @internal | ||||
| 	 * | ||||
| 	 * @var array | ||||
| 	 */ | ||||
| 	protected $tokensToDelete = []; | ||||
|     /** | ||||
|      * @internal | ||||
|      * | ||||
|      * @var bool | ||||
|      */ | ||||
|     protected $hasMissingToken = false; | ||||
|  | ||||
| 	/** | ||||
| 	 * @internal | ||||
| 	 * | ||||
| 	 * @var array | ||||
| 	 */ | ||||
|     /** | ||||
|      * DownstreamResponse constructor. | ||||
|      * | ||||
|      * @param $numberSuccess | ||||
|      */ | ||||
|     public function __construct($numberSuccess) | ||||
|     { | ||||
|         $this->numberTokensSuccess = $numberSuccess; | ||||
|     } | ||||
|  | ||||
| 	protected $tokensToModify = []; | ||||
| 	/** | ||||
| 	 * @internal | ||||
| 	 * | ||||
| 	 * @var array | ||||
| 	 */ | ||||
|     /** | ||||
|      * Not using it. | ||||
|      * | ||||
|      * @param DownstreamResponse $response | ||||
|      * | ||||
|      * @throws \Exception | ||||
|      */ | ||||
|     public function merge(DownstreamResponse $response) | ||||
|     { | ||||
|         throw new \Exception('You cannot use this method for mocking response'); | ||||
|     } | ||||
|  | ||||
| 	protected $tokensToRetry = []; | ||||
|     /** | ||||
|      * Get the number of device reached with success + numberTokenToModify. | ||||
|      * | ||||
|      * @return int | ||||
|      */ | ||||
|     public function numberSuccess() | ||||
|     { | ||||
|         return $this->numberTokensSuccess + count($this->tokensToModify); | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * @internal | ||||
| 	 * | ||||
| 	 * @var array | ||||
| 	 */ | ||||
| 	protected $tokensWithError = []; | ||||
|     /** | ||||
|      * Get the number of device which thrown an error. | ||||
|      * | ||||
|      * @return int | ||||
|      */ | ||||
|     public function numberFailure() | ||||
|     { | ||||
|         return count($this->tokensToDelete()) + count($this->tokensWithError); | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * @internal | ||||
| 	 * @var bool | ||||
| 	 */ | ||||
| 	protected $hasMissingToken = false; | ||||
|     /** | ||||
|      * Get the number of device that you need to modify their token. | ||||
|      * | ||||
|      * @return int | ||||
|      */ | ||||
|     public function numberModification() | ||||
|     { | ||||
|         return count($this->tokensToModify()); | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * DownstreamResponse constructor. | ||||
| 	 * | ||||
| 	 * @param $numberSuccess | ||||
| 	 */ | ||||
| 	public function __construct($numberSuccess) | ||||
| 	{ | ||||
| 		$this->numberTokensSuccess = $numberSuccess; | ||||
| 	} | ||||
|     /** | ||||
|      * Add a token to delete. | ||||
|      * | ||||
|      * @param $token | ||||
|      * @return MockDownstreamResponse | ||||
|      */ | ||||
|     public function addTokenToDelete($token) | ||||
|     { | ||||
|         $this->tokensToDelete[] = $token; | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * Not using it | ||||
| 	 * | ||||
| 	 * @param DownstreamResponse $response | ||||
| 	 * | ||||
| 	 * @throws \Exception | ||||
| 	 */ | ||||
| 	public function merge(DownstreamResponse $response) | ||||
| 	{ | ||||
| 		throw new \Exception('You cannot use this method for mocking response'); | ||||
| 	} | ||||
|     /** | ||||
|      * get token to delete | ||||
|      * remove all tokens returned by this method in your database. | ||||
|      * | ||||
|      * @return array | ||||
|      */ | ||||
|     public function tokensToDelete() | ||||
|     { | ||||
|         return $this->tokensToDelete; | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * Get the number of device reached with success + numberTokenToModify | ||||
| 	 * | ||||
| 	 * @return int | ||||
| 	 */ | ||||
| 	public function numberSuccess() | ||||
| 	{ | ||||
| 		return $this->numberTokensSuccess + count($this->tokensToModify); | ||||
| 	} | ||||
|     /** | ||||
|      * Add a token to modify. | ||||
|      * | ||||
|      * @param $oldToken | ||||
|      * @param $newToken | ||||
|      * @return MockDownstreamResponse | ||||
|      */ | ||||
|     public function addTokenToModify($oldToken, $newToken) | ||||
|     { | ||||
|         $this->tokensToModify[$oldToken] = $newToken; | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * Get the number of device which thrown an error | ||||
| 	 * | ||||
| 	 * @return int | ||||
| 	 */public function numberFailure() | ||||
| 	{ | ||||
| 		return count($this->tokensToDelete()) + count($this->tokensWithError); | ||||
| 	} | ||||
|     /** | ||||
|      * get token to modify | ||||
|      * key: oldToken | ||||
|      * value: new token | ||||
|      * find the old token in your database and replace it with the new one. | ||||
|      * | ||||
|      * @return array | ||||
|      */ | ||||
|     public function tokensToModify() | ||||
|     { | ||||
|         return $this->tokensToModify; | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * Get the number of device that you need to modify their token | ||||
| 	 * | ||||
| 	 * @return int | ||||
| 	 */ | ||||
| 	public function numberModification() | ||||
| 	{ | ||||
| 		return count($this->tokensToModify()); | ||||
| 	} | ||||
|     /** | ||||
|      * Add a token to retry. | ||||
|      * | ||||
|      * @param $token | ||||
|      * @return MockDownstreamResponse | ||||
|      */ | ||||
|     public function addTokenToRetry($token) | ||||
|     { | ||||
|         $this->tokensToRetry[] = $token; | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * Add a token to delete | ||||
| 	 * | ||||
| 	 * @param $token | ||||
| 	 */ | ||||
| 	public function addTokenToDelete($token) | ||||
| 	{ | ||||
| 		$this->tokensToDelete[] = $token; | ||||
| 	} | ||||
|     /** | ||||
|      * Get tokens that you should resend using exponential backoof. | ||||
|      * | ||||
|      * @return array | ||||
|      */ | ||||
|     public function tokensToRetry() | ||||
|     { | ||||
|         return $this->tokensToRetry; | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * get token to delete | ||||
| 	 * remove all tokens returned by this method in your database | ||||
| 	 * | ||||
| 	 * @return array | ||||
| 	 */ | ||||
| 	public function tokensToDelete() | ||||
| 	{ | ||||
| 		return $this->tokensToDelete; | ||||
| 	} | ||||
|     /** | ||||
|      * Add a token to errors. | ||||
|      * | ||||
|      * @param $token | ||||
|      * @param $message | ||||
|      * @return MockDownstreamResponse | ||||
|      */ | ||||
|     public function addTokenWithError($token, $message) | ||||
|     { | ||||
|         $this->tokensWithError[$token] = $message; | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * Add a token to modify | ||||
| 	 * | ||||
| 	 * @param $oldToken | ||||
| 	 * @param $newToken | ||||
| 	 */ | ||||
| 	public function addTokenToModify($oldToken, $newToken) | ||||
| 	{ | ||||
| 		$this->tokensToModify[$oldToken] = $newToken; | ||||
| 	} | ||||
|     /** | ||||
|      * Get tokens that thrown an error | ||||
|      * key : token | ||||
|      * value : error | ||||
|      * In production, remove these tokens from you database. | ||||
|      * | ||||
|      * @return array | ||||
|      */ | ||||
|     public function tokensWithError() | ||||
|     { | ||||
|         return $this->tokensWithError; | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * get token to modify | ||||
| 	 * key: oldToken | ||||
| 	 * value: new token | ||||
| 	 * find the old token in your database and replace it with the new one | ||||
| 	 * | ||||
| 	 * @return array | ||||
| 	 */ | ||||
| 	public function tokensToModify() | ||||
| 	{ | ||||
| 		return $this->tokensToModify; | ||||
| 	} | ||||
|     /** | ||||
|      * change missing token state. | ||||
|      * | ||||
|      * @param $hasMissingToken | ||||
|      * @return MockDownstreamResponse | ||||
|      */ | ||||
|     public function setMissingToken($hasMissingToken) | ||||
|     { | ||||
|         $this->hasMissingToken = $hasMissingToken; | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * Add a token to retry | ||||
| 	 * | ||||
| 	 * @param $token | ||||
| 	 */ | ||||
| 	public function addTokenToRetry($token) | ||||
| 	{ | ||||
| 		$this->tokensToRetry[] = $token; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Get tokens that you should resend using exponential backoof | ||||
| 	 * | ||||
| 	 * @return array | ||||
| 	 */ | ||||
| 	public function tokensToRetry() | ||||
| 	{ | ||||
| 		return $this->tokensToRetry; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Add a token to errors | ||||
| 	 * | ||||
| 	 * @param $token | ||||
| 	 * @param $message | ||||
| 	 */ | ||||
| 	public function addTokenWithError($token, $message) | ||||
| 	{ | ||||
| 		$this->tokensWithError[$token] = $message; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Get tokens that thrown an error | ||||
| 	 * key : token | ||||
| 	 * value : error | ||||
| 	 * In production, remove these tokens from you database | ||||
| 	 * | ||||
| 	 * @return array | ||||
| 	 */ | ||||
| 	public function tokensWithError() | ||||
| 	{ | ||||
| 		return $this->tokensWithError; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * change missing token state | ||||
| 	 * @param $hasMissingToken | ||||
| 	 */ | ||||
| 	public function setMissingToken($hasMissingToken) | ||||
| 	{ | ||||
| 		$this->hasMissingToken = $hasMissingToken; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * check if missing tokens was given to the request | ||||
| 	 * If true, remove all the empty token in your database | ||||
| 	 * | ||||
| 	 * @return bool | ||||
| 	 */ | ||||
| 	public function hasMissingToken() | ||||
| 	{ | ||||
| 		return $this->hasMissingToken; | ||||
| 	} | ||||
| } | ||||
|     /** | ||||
|      * check if missing tokens was given to the request | ||||
|      * If true, remove all the empty token in your database. | ||||
|      * | ||||
|      * @return bool | ||||
|      */ | ||||
|     public function hasMissingToken() | ||||
|     { | ||||
|         return $this->hasMissingToken; | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Manish Verma
					Manish Verma