o
    "4g                     @   sb   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	 d	ee
Zd
S )    )patch)EmailAddress)SocialAccount)OAuth2TestsMixin)MockedResponseTestCase   )GitHubProviderc                   @   s*   e Zd ZejZdd Zdd Zdd ZdS )GitHubTestsc                 C   s   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   self r   u/var/www/html/authentication-server/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/github/tests.pyget_mocked_response   s   "zGitHubTests.get_mocked_responsec                 C   s   dS )Npennersrr   r   r   r   r   get_expected_to_str?   s   zGitHubTests.get_expected_to_strc                 C   s   t ddt ddg}td}| | W d   n1 sw   Y  |jd d }|d d	ks2J tjjd
d}| |jd |	 }| 
|  | | d | |jjd	 | tjjddd|jd  | d|jv dS )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accountr   r   r   test_account_name_nullB   sB    z"GitHubTests.test_account_name_nullN)	__name__
__module____qualname__r	   idprovider_idr   r   r.   r   r   r   r   r
      s
    1r
   N)unittest.mockr   allauth.account.modelsr   allauth.socialaccount.modelsr   allauth.socialaccount.testsr   allauth.testsr   r   providerr	   r
   r   r   r   r   <module>   s    