def test_get_for_request_matches_canvas_url_with_no_signed_request(self): with environment({'HTTPS': 'off'}): app_url = 'http://www.foo.com/' self.request.POST = {'other_data': 'asdf'} FacebookApplication.objects.update(canvas_url=app_url) application = FacebookApplication.get_for_request(self.request) self.assertIsInstance(application, FacebookApplication)
def test_get_for_request_matches_mobile_url(self): with environment({'HTTPS': 'on'}): app_url = 'https://www.foo.com/' FacebookApplication.objects.update(mobile_web_url=app_url) application = FacebookApplication.get_for_request(self.request) self.assertIsInstance(application, FacebookApplication)
def test_get_for_request_matches_secure_page_tab_url(self): with environment({'HTTPS': 'on'}): app_url = 'https://www.foo.com/' self.request.POST = {'signed_request': 'asdf'} FacebookApplication.objects.update(secure_page_tab_url=app_url) application = FacebookApplication.get_for_request(self.request) self.assertIsInstance(application, FacebookApplication)
def test_get_for_request_raises_exception_on_no_match(self): FacebookApplication.objects.update(canvas_url='foo', secure_canvas_url='foo', website_url='/dashboard/') with self.assertRaises(FacebookApplication.DoesNotExist): FacebookApplication.get_for_request(self.request)
def process_request(self, request): try: application = FacebookApplication.get_for_request(request) setattr(request, 'facebook', application) except FacebookApplication.DoesNotExist: pass