def test_parse_signed_request(self): TEST_SIGNED_REQUEST = 'm2i3DMpnOG3JxFiISuLPN5sTCe9d3NMRyq3pcAtpKd8=.eyJpc3N1ZWRfYXQiOiAxMzI2MDYzOTUwLCAib2F1dGhfdG9rZW4iOiAiQUFBQ2sydEM5ekJZQkFFanlRY0VKWkN0cjgxWkFMM0ZRRXdvcjI5N2lJdFhlRFFYYkZwY0t3ZmdlNjdBdHlYYnBaQld1Z2pEZGdSdmZwbzUyTlRJU0N0ajlpZjZzWkMzSmp0ZXJtMjVyeEhPUDUzMlpDM3BFWSIsICJ1c2VyX2lkIjogMTAwMDAzMzI2OTkwOTkzLCAiYWxnb3JpdGhtIjogIkhNQUMtU0hBMjU2In0=' data = _parse_signed_request(TEST_SIGNED_REQUEST, settings.FACEBOOK_APPLICATION_SECRET_KEY) self.assertEquals(data['user_id'], 100003326990993) self.assertEquals(data['algorithm'], 'HMAC-SHA256') self.assertEquals(data['oauth_token'], 'AAACk2tC9zBYBAEjyQcEJZCtr81ZAL3FQEwor297iItXeDQXbFpcKwfge67AtyXbpZBWugjDdgRvfpo52NTISCtj9if6sZC3Jjterm25rxHOP532ZC3pEY') self.assertEquals(data['issued_at'], 1326063950)
def assertSignedRequest(sender, **kwargs): signed_request = _parse_signed_request(kwargs['signed_request'], settings.FACEBOOK_APPLICATION_SECRET_KEY) self.assertEquals(facebook_id, signed_request['user_id']) self.assertEquals(oauth_token, signed_request['oauth_token']) self.assertTrue(signed_request['issued_at'] > 0) self.assertEquals(0, signed_request['expires']) self.assertEquals('us', signed_request['user']['country']) self.assertEquals('en_US', signed_request['user']['locale']) assertSignedRequest.called = True
def test_create_signed_request(self): # test sending only user_id signed_request_user_1 = _create_signed_request(settings.FACEBOOK_APPLICATION_SECRET_KEY, user_id=1, issued_at=1254459601, add_default_data=False) self.assertEquals(signed_request_user_1, 'Y0ZEAYY9tGklJimbbSGy2dgpYz9qZyVJp18zrI9xQY0=.eyJpc3N1ZWRfYXQiOiAxMjU0NDU5NjAxLCAidXNlcl9pZCI6IDEsICJhbGdvcml0aG0iOiAiSE1BQy1TSEEyNTYifQ==') data_user_1 = _parse_signed_request(signed_request_user_1, settings.FACEBOOK_APPLICATION_SECRET_KEY) self.assertEquals(sorted(data_user_1.keys()), sorted([u'user_id', u'algorithm', u'issued_at'])) self.assertEquals(data_user_1['user_id'], 1) self.assertEquals(data_user_1['algorithm'], 'HMAC-SHA256') # test not sending a user_id which will default to user_id 1 signed_request_user_2 = _create_signed_request(settings.FACEBOOK_APPLICATION_SECRET_KEY, issued_at=1254459601, add_default_data=False) self.assertEquals(signed_request_user_1, signed_request_user_2) # test sending each available named argument today = datetime.datetime.now() tomorrow = today + datetime.timedelta(hours=1) signed_request_user_3 = _create_signed_request( app_secret = settings.FACEBOOK_APPLICATION_SECRET_KEY, user_id = '999', issued_at = 1254459600, expires = tomorrow, oauth_token = '181259711925270|1570a553ad6605705d1b7a5f.1-499729129|8XqMRhCWDKtpG-i_zRkHBDSsqqk', app_data = {}, page = { 'id': '1', 'liked': True }, add_default_data=False ) data_user_3 = _parse_signed_request(signed_request_user_3, settings.FACEBOOK_APPLICATION_SECRET_KEY) self.assertEquals(sorted(data_user_3.keys()), sorted([u'user_id', u'algorithm', u'issued_at', u'expires', u'oauth_token', u'app_data', u'page'])) self.assertEquals(data_user_3['user_id'], '999') self.assertEquals(data_user_3['algorithm'], 'HMAC-SHA256') self.assertEquals(data_user_3['issued_at'], 1254459600) self.assertEquals(data_user_3['expires'], int(time.mktime(tomorrow.timetuple()))) self.assertEquals(data_user_3['oauth_token'], '181259711925270|1570a553ad6605705d1b7a5f.1-499729129|8XqMRhCWDKtpG-i_zRkHBDSsqqk') self.assertEquals(data_user_3['app_data'], {}) self.assertEquals(data_user_3['page'], {'id': '1','liked': True}) # --------------------------------------------------------------------- # End snatched code by Reik Schatz. # ---------------------------------------------------------------------
def test_parse_signed_request(self): TEST_SIGNED_REQUEST = 'm2i3DMpnOG3JxFiISuLPN5sTCe9d3NMRyq3pcAtpKd8=.eyJpc3N1ZWRfYXQiOiAxMzI2MDYzOTUwLCAib2F1dGhfdG9rZW4iOiAiQUFBQ2sydEM5ekJZQkFFanlRY0VKWkN0cjgxWkFMM0ZRRXdvcjI5N2lJdFhlRFFYYkZwY0t3ZmdlNjdBdHlYYnBaQld1Z2pEZGdSdmZwbzUyTlRJU0N0ajlpZjZzWkMzSmp0ZXJtMjVyeEhPUDUzMlpDM3BFWSIsICJ1c2VyX2lkIjogMTAwMDAzMzI2OTkwOTkzLCAiYWxnb3JpdGhtIjogIkhNQUMtU0hBMjU2In0=' data = _parse_signed_request(TEST_SIGNED_REQUEST, settings.FACEBOOK_APPLICATION_SECRET_KEY) self.assertEquals(data['user_id'], 100003326990993) self.assertEquals(data['algorithm'], 'HMAC-SHA256') self.assertEquals( data['oauth_token'], 'AAACk2tC9zBYBAEjyQcEJZCtr81ZAL3FQEwor297iItXeDQXbFpcKwfge67AtyXbpZBWugjDdgRvfpo52NTISCtj9if6sZC3Jjterm25rxHOP532ZC3pEY' ) self.assertEquals(data['issued_at'], 1326063950)
def test_integration(self): self.assertEquals(2, User.objects.count()) mako = User.objects.get(facebook_id="100003460044223") shinra = User.objects.get(facebook_id="100003536165092") self.assertEquals("Unittest Mako", mako.full_name) self.assertEquals("Unittest Shinra", shinra.full_name) self.assertEquals(datetime.date(1980,8,8), mako.birthday) self.assertEquals(None, shinra.birthday) self.assertEquals("AAAESR2HSywMBAJu23BQ3f9RePbdG785Adhxw8Hkabotkq9oJE2CWGptph5ZBdSra35VyKJiayZAgK5aamCoOYZBLNPxXgC2i4fLi8qL29LYWz5Y9vZB6", mako.oauth_token.token) self.assertEquals("AAAESR2HSywMBAEWJNr8m2xufpP2jIoHJ3aKTUREClHgDX3inIxCz4bCqAHZB8pA0cPnmBb7gD02eIdqcQirp7IDyHTlVlU95fWOiSGZBNbCzpU2fPz", shinra.oauth_token.token) signed_request = _parse_signed_request(self.client.cookies['signed_request'].value, settings.FACEBOOK_APPLICATION_SECRET_KEY) self.assertEquals("100003460044223", signed_request['user_id']) self.assertEquals("AAAESR2HSywMBAJu23BQ3f9RePbdG785Adhxw8Hkabotkq9oJE2CWGptph5ZBdSra35VyKJiayZAgK5aamCoOYZBLNPxXgC2i4fLi8qL29LYWz5Y9vZB6", signed_request['oauth_token'])
def test_create_signed_request(self): # test sending only user_id signed_request_user_1 = _create_signed_request( settings.FACEBOOK_APPLICATION_SECRET_KEY, user_id=1, issued_at=1254459601, add_default_data=False) self.assertEquals( signed_request_user_1, 'Y0ZEAYY9tGklJimbbSGy2dgpYz9qZyVJp18zrI9xQY0=.eyJpc3N1ZWRfYXQiOiAxMjU0NDU5NjAxLCAidXNlcl9pZCI6IDEsICJhbGdvcml0aG0iOiAiSE1BQy1TSEEyNTYifQ==' ) data_user_1 = _parse_signed_request( signed_request_user_1, settings.FACEBOOK_APPLICATION_SECRET_KEY) self.assertEquals(sorted(data_user_1.keys()), sorted([u'user_id', u'algorithm', u'issued_at'])) self.assertEquals(data_user_1['user_id'], 1) self.assertEquals(data_user_1['algorithm'], 'HMAC-SHA256') # test not sending a user_id which will default to user_id 1 signed_request_user_2 = _create_signed_request( settings.FACEBOOK_APPLICATION_SECRET_KEY, issued_at=1254459601, add_default_data=False) self.assertEquals(signed_request_user_1, signed_request_user_2) # test sending each available named argument today = datetime.datetime.now() tomorrow = today + datetime.timedelta(hours=1) signed_request_user_3 = _create_signed_request( app_secret=settings.FACEBOOK_APPLICATION_SECRET_KEY, user_id='999', issued_at=1254459600, expires=tomorrow, oauth_token= '181259711925270|1570a553ad6605705d1b7a5f.1-499729129|8XqMRhCWDKtpG-i_zRkHBDSsqqk', app_data={}, page={ 'id': '1', 'liked': True }, add_default_data=False) data_user_3 = _parse_signed_request( signed_request_user_3, settings.FACEBOOK_APPLICATION_SECRET_KEY) self.assertEquals( sorted(data_user_3.keys()), sorted([ u'user_id', u'algorithm', u'issued_at', u'expires', u'oauth_token', u'app_data', u'page' ])) self.assertEquals(data_user_3['user_id'], '999') self.assertEquals(data_user_3['algorithm'], 'HMAC-SHA256') self.assertEquals(data_user_3['issued_at'], 1254459600) self.assertEquals(data_user_3['expires'], int(time.mktime(tomorrow.timetuple()))) self.assertEquals( data_user_3['oauth_token'], '181259711925270|1570a553ad6605705d1b7a5f.1-499729129|8XqMRhCWDKtpG-i_zRkHBDSsqqk' ) self.assertEquals(data_user_3['app_data'], {}) self.assertEquals(data_user_3['page'], {'id': '1', 'liked': True}) # --------------------------------------------------------------------- # End snatched code by Reik Schatz. # ---------------------------------------------------------------------