/** * Setup the Google Cient with our 'monitored' HTTP IO * * @return \Google_Client */ private function setupTestClient() { $obj_client = new \Google_Client(); $this->obj_fake_io = new Google_IO_Fake($obj_client); $obj_client->setIo($this->obj_fake_io); return $obj_client; }
public function testTokenAcquisition() { $client = new Google_Client(); /* Mock out refresh call */ $response_data = json_encode(array('access_token' => "ACCESS_TOKEN", 'expires_in' => "12345")); $response = $this->getMock("Google_Http_Request", array(), array('')); $response->expects($this->any())->method('getResponseHttpCode')->will($this->returnValue(200)); $response->expects($this->any())->method('getResponseBody')->will($this->returnValue($response_data)); $io = $this->getMock("Google_IO_Stream", array(), array($client)); $client->setIo($io); $io->expects($this->any())->method('makeRequest')->will($this->returnCallback(function ($request) use($response) { return $response; })); /* Run method */ $oauth = new Google_Auth_ComputeEngine($client); $oauth->acquireAccessToken(); $token = json_decode($oauth->getAccessToken(), true); /* Check results */ $this->assertEquals($token['access_token'], "ACCESS_TOKEN"); $this->assertEquals($token['expires_in'], "12345"); $this->assertTrue($token['created'] > 0); }
/** * Test that the ID token is properly refreshed. */ public function testRefreshTokenSetsValues() { $client = new Google_Client(); $response_data = json_encode(array('access_token' => "ACCESS_TOKEN", 'id_token' => "ID_TOKEN", 'expires_in' => "12345")); $response = $this->getMock("Google_Http_Request", array(), array('')); $response->expects($this->any())->method('getResponseHttpCode')->will($this->returnValue(200)); $response->expects($this->any())->method('getResponseBody')->will($this->returnValue($response_data)); $io = $this->getMock("Google_IO_Stream", array(), array($client)); $io->expects($this->any())->method('makeRequest')->will($this->returnCallback(function ($request) use(&$token, $response) { $elements = $request->getPostBody(); PHPUnit_Framework_TestCase::assertEquals($elements['grant_type'], "refresh_token"); PHPUnit_Framework_TestCase::assertEquals($elements['refresh_token'], "REFRESH_TOKEN"); return $response; })); $client->setIo($io); $oauth = new Google_Auth_OAuth2($client); $oauth->refreshToken("REFRESH_TOKEN"); $token = json_decode($oauth->getAccessToken(), true); $this->assertEquals($token['id_token'], "ID_TOKEN"); }