
    )Jf                     x    d dl Z 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dS )    N)SocialAccount)GitLabProvider)OAuth2Error)OAuth2TestsMixin)MockedResponseTestCase   )_check_errorsc                   P    e Zd Zej        ZdZd Zd Zd Z	d Z
d Zd Zd Zd	 Zd
S )GitLabTests   c                 "    t          dd          S )N   a  
            {
                "avatar_url": "https://secure.gravatar.com/avatar/123",
                "bio": null,
                "can_create_group": true,
                "can_create_project": true,
                "color_scheme_id": 5,
                "confirmed_at": "2015-03-02T16:53:58.370Z",
                "created_at": "2015-03-02T16:53:58.885Z",
                "current_sign_in_at": "2018-06-12T18:44:49.985Z",
                "email": "mr.bob@gitlab.example.com",
                "external": false,
                "id": 2,
                "identities": [],
                "last_activity_on": "2018-06-11",
                "last_sign_in_at": "2018-05-31T14:59:44.527Z",
                "linkedin": "",
                "location": null,
                "name": "Mr Bob",
                "organization": null,
                "projects_limit": 10,
                "shared_runners_minutes_limit": 2000,
                "skype": "",
                "state": "active",
                "theme_id": 6,
                "twitter": "mrbob",
                "two_factor_enabled": true,
                "username": "mr.bob",
                "web_url": "https://gitlab.example.com/u/mr.bob",
                "website_url": ""
            }
        )r   )selfs    o/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/gitlab/tests.pyget_mocked_responsezGitLabTests.get_mocked_response   s    "
 "
 "	
    c                     ddi}t          dt          j        |                    }|                     t	          |          |           d S )Nidi90  r   )r   jsondumpsassertEqualr
   )r   dataresponses      r   test_valid_responsezGitLabTests.test_valid_response6   sH    e}!#tz$'7'788x00$77777r   c                     t          dt          j        i                     }|                     t                    5  t          |           d d d            d S # 1 swxY w Y   d S Nr   r   r   r   assertRaisesr   r
   r   r   s     r   test_invalid_datazGitLabTests.test_invalid_data;       !#tz"~~66{++ 	$ 	$(###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$   AA!Ac                     d}t          d|          }|                     t                    5  t          |           d d d            d S # 1 swxY w Y   d S )Nz403 Forbidden  - You (@domain.com) must accept the Terms of Service in order to perform this action. Please access GitLab from a web browser to accept these terms.  r   r   r   r
   r   bodyr   s      r   test_account_invalid_responsez)GitLabTests.test_account_invalid_responseA   s    8 	
 "#t,,
 {++ 	$ 	$(###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$   A

AAc                     d}t          d|          }|                     t                    5  t          |           d d d            d S # 1 swxY w Y   d S )Nz403 Forbiddenr%   r&   r'   s      r   test_error_responsezGitLabTests.test_error_responseP   s    !#t,,{++ 	$ 	$(###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$r*   c                     t          dt          j        i                     }|                     t                    5  t          |           d d d            d S # 1 swxY w Y   d S r   r   r    s     r   test_invalid_responsez!GitLabTests.test_invalid_responseX   r"   r#   c                     t          dt          j        i                     }|                     t                    5  t          |           d d d            d S # 1 swxY w Y   d S )Ni  r   r    s     r   test_bad_responsezGitLabTests.test_bad_response^   r"   r#   c                    |                      |                                            t          j                            t          | j                            }|                     |j        d         | j                   d S )N)uidr   )	loginr   r   objectsgetstr_uidr   
extra_data)r   accounts     r   test_extra_datazGitLabTests.test_extra_datad   sg    

4++--...'++DI+??+D149=====r   N)__name__
__module____qualname__r   r   provider_idr7   r   r   r!   r)   r,   r.   r0   r:    r   r   r   r      s         #KD#
 #
 #
J8 8 8
$ $ $$ $ $$ $ $$ $ $$ $ $> > > > >r   r   )r   allauth.socialaccount.modelsr   /allauth.socialaccount.providers.gitlab.providerr   -allauth.socialaccount.providers.oauth2.clientr   allauth.socialaccount.testsr   allauth.testsr   r   viewsr
   r   r?   r   r   <module>rF      s     6 6 6 6 6 6 J J J J J J E E E E E E 8 8 8 8 8 8 2 2 2 2 2 2 2 2            Z> Z> Z> Z> Z>"H Z> Z> Z> Z> Z>r   