public function testGetAccessToken()
 {
     $app = new FacebookApp('id', 'secret');
     $accessToken = $app->getAccessToken();
     $this->assertInstanceOf('Facebook\\Entities\\AccessToken', $accessToken);
     $this->assertEquals('id|secret', (string) $accessToken);
 }
 /**
  * @group integration
  */
 public function testCanCreateATestUserAndGetTheProfileAndThenDeleteTheTestUser()
 {
     $this->initializeTestApp();
     // Create a test user
     $testUserPath = '/' . FacebookTestCredentials::$appId . '/accounts/test-users';
     $params = ['installed' => true, 'name' => 'Foo Phpunit User', 'locale' => 'en_US', 'permissions' => implode(',', ['read_stream', 'user_photos'])];
     $request = new FacebookRequest(static::$testFacebookApp, static::$testFacebookApp->getAccessToken(), 'POST', $testUserPath, $params);
     $response = static::$testFacebookClient->sendRequest($request)->getGraphObject();
     $testUserId = $response->getProperty('id');
     $testUserAccessToken = $response->getProperty('access_token');
     // Get the test user's profile
     $request = new FacebookRequest(static::$testFacebookApp, $testUserAccessToken, 'GET', '/me');
     $graphObject = static::$testFacebookClient->sendRequest($request)->getGraphObject();
     $this->assertInstanceOf('Facebook\\GraphNodes\\GraphObject', $graphObject);
     $this->assertNotNull($graphObject->getProperty('id'));
     $this->assertEquals('Foo Phpunit User', $graphObject->getProperty('name'));
     // Delete test user
     $request = new FacebookRequest(static::$testFacebookApp, static::$testFacebookApp->getAccessToken(), 'DELETE', '/' . $testUserId);
     $graphObject = static::$testFacebookClient->sendRequest($request)->getGraphObject();
     $this->assertTrue($graphObject->getProperty('success'));
 }
 /**
  * Get more info about an access token.
  *
  * @param FacebookApp $app The FacebookApp entity.
  * @param FacebookClient $client The Facebook client.
  *
  * @return GraphSessionInfo
  */
 public function getInfo(FacebookApp $app, FacebookClient $client)
 {
     $params = ['input_token' => $this->accessToken];
     $request = new FacebookRequest($app, $app->getAccessToken(), 'GET', '/debug_token', $params);
     $response = $client->sendRequest($request);
     $graphObject = $response->getGraphSessionInfo();
     // Update the data on this token
     if ($graphObject->getExpiresAt()) {
         $this->expiresAt = $graphObject->getExpiresAt();
     }
     return $graphObject;
 }