# -*- coding: utf-8 -*- from allauth.socialaccount.tests import OAuthTestsMixin from allauth.tests import MockedResponse, TestCase from .provider import FlickrProvider class FlickrTests(OAuthTestsMixin, TestCase): provider_id = FlickrProvider.id def get_mocked_response(self): # return [ MockedResponse( 200, r""" {"stat": "ok", "user": { "username": { "_content": "pennersr"}, "id": "12345678@N00"}} """, ), # noqa MockedResponse( 200, r""" {"person": {"username": {"_content": "pennersr"}, "photosurl": {"_content": "http://www.flickr.com/photos/12345678@N00/"}, "nsid": "12345678@N00", "path_alias": null, "photos": {"count": {"_content": 0}, "firstdatetaken": {"_content": null}, "views": {"_content": "28"}, "firstdate": {"_content": null}}, "iconserver": "0", "description": {"_content": ""}, "mobileurl": {"_content": "http://m.flickr.com/photostream.gne?id=6294613"}, "profileurl": { "_content": "http://www.flickr.com/people/12345678@N00/"}, "mbox_sha1sum": {"_content": "5e5b359c123e54f95236209c8808d607a5cdd21e"}, "ispro": 0, "location": {"_content": ""}, "id": "12345678@N00", "realname": {"_content": "raymond penners"}, "iconfarm": 0}, "stat": "ok"} """, ), ] # noqa def test_login(self): account = super(FlickrTests, self).test_login() f_account = account.get_provider_account() self.assertEqual(account.user.first_name, "raymond") self.assertEqual(account.user.last_name, "penners") self.assertEqual( f_account.get_profile_url(), "http://www.flickr.com/people/12345678@N00/", ) self.assertEqual(f_account.to_str(), "raymond penners") class FlickrWithoutRealNameTests(OAuthTestsMixin, TestCase): """Separate test for Flickr accounts without real names""" provider_id = FlickrProvider.id def get_mocked_response(self): # return [ MockedResponse( 200, r""" {"stat": "ok", "user": { "username": { "_content": "pennersr"}, "id": "12345678@N00"}} """, ), # noqa MockedResponse( 200, r""" {"person": {"username": {"_content": "pennersr"}, "photosurl": {"_content": "http://www.flickr.com/photos/12345678@N00/"}, "nsid": "12345678@N00", "path_alias": null, "photos": {"count": {"_content": 0}, "firstdatetaken": {"_content": null}, "views": {"_content": "28"}, "firstdate": {"_content": null}}, "iconserver": "0", "description": {"_content": ""}, "mobileurl": {"_content": "http://m.flickr.com/photostream.gne?id=6294613"}, "profileurl": { "_content": "http://www.flickr.com/people/12345678@N00/"}, "mbox_sha1sum": {"_content": "5e5b359c123e54f95236209c8808d607a5cdd21e"}, "ispro": 0, "location": {"_content": ""}, "id": "12345678@N00", "realname": {"_content": ""}, "iconfarm": 0}, "stat": "ok"} """, ), ] # noqa def test_login(self): account = super(FlickrWithoutRealNameTests, self).test_login() f_account = account.get_provider_account() self.assertEqual(account.user.first_name, "") self.assertEqual(account.user.last_name, "") self.assertEqual( f_account.get_profile_url(), "http://www.flickr.com/people/12345678@N00/", ) self.assertEqual(f_account.to_str(), "pennersr")