
    f                     h    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 ddlmZ  G d d	ee
      Zy
)    )patch)EmailAddress)SocialAccount)OAuth2TestsMixin)MockedResponseTestCase   )GitHubProviderc                   6    e Zd Zej                  Zd Zd Zd Zy)GitHubTestsc                 2    t        dd      t        dd      gS )N   a`  
        {
            "type":"User",
            "organizations_url":"https://api.github.com/users/pennersr/orgs",
            "gists_url":"https://api.github.com/users/pennersr/gists{/gist_id}",
            "received_events_url":"https://api.github.com/users/pennersr/received_events",
            "gravatar_id":"8639768262b8484f6a3380f8db2efa5b",
            "followers":16,
            "blog":"http://www.intenct.info",
            "avatar_url":"https://secure.gravatar.com/avatar/8639768262b8484f6a3380f8db2efa5b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png",
            "login":"pennersr",
            "created_at":"2010-02-10T12:50:51Z",
            "company":"IntenCT",
            "subscriptions_url":"https://api.github.com/users/pennersr/subscriptions",
            "public_repos":14,
            "hireable":false,
            "url":"https://api.github.com/users/pennersr",
            "public_gists":0,
            "starred_url":"https://api.github.com/users/pennersr/starred{/owner}{/repo}",
            "html_url":"https://github.com/pennersr",
            "location":"The Netherlands",
            "bio":null,
            "name":"Raymond Penners",
            "repos_url":"https://api.github.com/users/pennersr/repos",
            "followers_url":"https://api.github.com/users/pennersr/followers",
            "id":201022,
            "following":0,
            "email":"raymond.penners@intenct.nl",
            "events_url":"https://api.github.com/users/pennersr/events{/privacy}",
            "following_url":"https://api.github.com/users/pennersr/following"
        }z
            [{
              "email": "octocat@github.com",
              "verified": true,
              "primary": true,
              "visibility": "public"
            }]
            )r   selfs    g/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/github/tests.pyget_mocked_responsezGitHubTests.get_mocked_response   s0    !D 
G.
 .	
    c                      y)Npennersr r   s    r   get_expected_to_strzGitHubTests.get_expected_to_str?   s    r   c                    t        dd      t        dd      g}t        d      5 }| j                  |       ddd       j                  d   d   }|d   d	k(  sJ t        j
                  j                  d
      }| j                  |j                  j                  d             |j                         }| j                  |j                                | j                  |j                         d       | j                  |j                  j                  d	       | j                  t         j
                  j#                  ddd|j                        j%                                | j                  d|j                  v       y# 1 sw Y   MxY w)z6String conversion when GitHub responds with empty namer   z
        {
            "type": "User",
            "id": 201022,
            "login": "pennersr",
            "name": null
        }
        ac  
        [
          {
            "email": "octocat@github.com",
            "verified": true,
            "primary": true,
            "visibility": "public"
          },
          {
            "email": "secONDary@GitHub.COM",
            "verified": true,
            "primary": false,
            "visibility": "public"
          }
        ]
        zGallauth.socialaccount.adapter.DefaultSocialAccountAdapter.populate_userNr      emailzoctocat@github.com201022)uidnamer   FTzsecondary@github.com)primaryverifiedr   useremails)r   r   login	call_argsr   objectsgetassertIsNone
extra_dataget_provider_accountassertIsNotNoneto_strassertEqualr    r   
assertTruer   filterexists)r   mockspopulate_mockpopulate_datasocialaccountaccounts         r   test_account_name_nullz"GitHubTests.test_account_name_nullB   sr    
 
@ U
 	JJu	 &//215W%)====%--11h1?-2266v>?446W^^-.):6++113GH  '',"''	 ( 
 fh	
 	(@(@@A)	 	s   FFN)	__name__
__module____qualname__r
   idprovider_idr   r   r4   r   r   r   r   r      s     ##K/
b6Br   r   N)unittest.mockr   allauth.account.modelsr   allauth.socialaccount.modelsr   allauth.socialaccount.testsr   allauth.testsr   r   providerr
   r   r   r   r   <module>r@      s*     / 6 8 2 $mB"H mBr   