From 677953067f2bb5502a70f0d004f1ac844b18a128 Mon Sep 17 00:00:00 2001 From: emkael Date: Mon, 16 Jan 2017 22:04:43 +0100 Subject: * Facebook support --- .../FacebookSignedRequestFromInputHelperTest.php | 113 +++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 lib/facebook-graph-sdk/tests/Helpers/FacebookSignedRequestFromInputHelperTest.php (limited to 'lib/facebook-graph-sdk/tests/Helpers/FacebookSignedRequestFromInputHelperTest.php') diff --git a/lib/facebook-graph-sdk/tests/Helpers/FacebookSignedRequestFromInputHelperTest.php b/lib/facebook-graph-sdk/tests/Helpers/FacebookSignedRequestFromInputHelperTest.php new file mode 100644 index 0000000..d9bd803 --- /dev/null +++ b/lib/facebook-graph-sdk/tests/Helpers/FacebookSignedRequestFromInputHelperTest.php @@ -0,0 +1,113 @@ +getParams(); + $rawResponse = json_encode([ + 'access_token' => 'foo_access_token_from:' . $params['code'], + ]); + + return new FacebookResponse($request, $rawResponse, 200); + } +} + +class FacebookSignedRequestFromInputHelperTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var FooSignedRequestHelper + */ + protected $helper; + + public $rawSignedRequestAuthorizedWithAccessToken = 'vdZXlVEQ5NTRRTFvJ7Jeo_kP4SKnBDvbNP0fEYKS0Sg=.eyJvYXV0aF90b2tlbiI6ImZvb190b2tlbiIsImFsZ29yaXRobSI6IkhNQUMtU0hBMjU2IiwiaXNzdWVkX2F0IjoxNDAyNTUxMDMxLCJ1c2VyX2lkIjoiMTIzIn0='; + public $rawSignedRequestAuthorizedWithCode = 'oBtmZlsFguNQvGRETDYQQu1-PhwcArgbBBEK4urbpRA=.eyJjb2RlIjoiZm9vX2NvZGUiLCJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImlzc3VlZF9hdCI6MTQwNjMxMDc1MiwidXNlcl9pZCI6IjEyMyJ9'; + public $rawSignedRequestUnauthorized = 'KPlyhz-whtYAhHWr15N5TkbS_avz-2rUJFpFkfXKC88=.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImlzc3VlZF9hdCI6MTQwMjU1MTA4Nn0='; + + public function setUp() + { + $app = new FacebookApp('123', 'foo_app_secret'); + $this->helper = new FooSignedRequestHelper($app, new FooSignedRequestHelperFacebookClient()); + } + + public function testSignedRequestDataCanBeRetrievedFromPostData() + { + $_POST['signed_request'] = 'foo_signed_request'; + + $rawSignedRequest = $this->helper->getRawSignedRequestFromPost(); + + $this->assertEquals('foo_signed_request', $rawSignedRequest); + } + + public function testSignedRequestDataCanBeRetrievedFromCookieData() + { + $_COOKIE['fbsr_123'] = 'foo_signed_request'; + + $rawSignedRequest = $this->helper->getRawSignedRequestFromCookie(); + + $this->assertEquals('foo_signed_request', $rawSignedRequest); + } + + public function testAccessTokenWillBeNullWhenAUserHasNotYetAuthorizedTheApp() + { + $this->helper->instantiateSignedRequest($this->rawSignedRequestUnauthorized); + $accessToken = $this->helper->getAccessToken(); + + $this->assertNull($accessToken); + } + + public function testAnAccessTokenCanBeInstantiatedWhenRedirectReturnsAnAccessToken() + { + $this->helper->instantiateSignedRequest($this->rawSignedRequestAuthorizedWithAccessToken); + $accessToken = $this->helper->getAccessToken(); + + $this->assertInstanceOf('Facebook\Authentication\AccessToken', $accessToken); + $this->assertEquals('foo_token', $accessToken->getValue()); + } + + public function testAnAccessTokenCanBeInstantiatedWhenRedirectReturnsACode() + { + $this->helper->instantiateSignedRequest($this->rawSignedRequestAuthorizedWithCode); + $accessToken = $this->helper->getAccessToken(); + + $this->assertInstanceOf('Facebook\Authentication\AccessToken', $accessToken); + $this->assertEquals('foo_access_token_from:foo_code', $accessToken->getValue()); + } +} -- cgit v1.2.3