/** * @see parent * @param Bronto_Api_Exception $exception * @param Bronto_Api $api * @param Bronto_Object $request * @return boolean */ public function recover(Bronto_Api_Exception $exception, Bronto_Api $api, Bronto_Object $request) { $canRetry = $exception->getAttempts() < $api->getOptions()->getRetries(); if ($exception->isRecoverable() && $canRetry) { if ($exception->isInvalidSession()) { $api->login(); return true; } else { if ($exception->isNetworkRelated() && !$request->hasUpdates()) { // Incrementally backoff the read request $backOff = $api->getOptions()->getBackOff() * $exception->getAttempts(); sleep($backOff); return true; } } } return false; }
/** * @param string $token * @throws Bronto_Api_Exception */ public function __construct($token) { $this->brontoAPI = new Bronto_Api(); $this->brontoAPI->setToken($token); $this->brontoAPI->login(); }
/** * @covers Bronto_Api::login * @covers Bronto_Api::isAuthenticated */ public function testValidToken() { $api = new Bronto_Api(TEST_API_TOKEN_1); $api->login(); $this->assertTrue($api->isAuthenticated()); }