text: # -*- coding: utf-8 -*-
  from allauth.socialaccount.tests import OAuthTestsMixin
  from allauth.tests import MockedResponse, TestCase
  
  from .provider import FlickrProvider
  
  
  class FlickrTests(OAuthTestsMixin, TestCase):
      provider_class = FlickrProvider
  
      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_class = FlickrProvider
  
      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')
  