token = $this->loadToken(); $this->memcacheHost = getenv('MEMCACHE_HOST') ? getenv('MEMCACHE_HOST') : null; $this->memcachePort = getenv('MEMCACHE_PORT') ? getenv('MEMCACHE_PORT') : null; } public function getClient() { $client = new Google_Client(); $client->setDeveloperKey(self::KEY); if (strlen($this->token)) { $client->setAccessToken($this->token); } if (strlen($this->memcacheHost)) { $client->setClassConfig('Google_Cache_Memcache', 'host', $this->memcacheHost); $client->setClassConfig('Google_Cache_Memcache', 'port', $this->memcachePort); } return $client; } public function checkToken() { if (!strlen($this->token)) { $this->markTestSkipped("Test requires access token\nrun \"php tests/OAuthHelper.php\""); return false; } return true; } public function loadToken() { if (file_exists($f = dirname(__FILE__) . DIRECTORY_SEPARATOR . '.accessToken')) { $t = file_get_contents($f); if ($token = json_decode($t, true)) { if ($token['expires_in'] + $token['created'] > time()) { return $t; } } } } }