o
    ˷ek                     @   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 )    )unicode_literals)User)SocialAccount)OAuth2TestsMixin)MockedResponseTestCase   )StravaProviderc                   @   s4   e Zd ZejZdd Zdd Zdd Zddd	Z	d
S )StravaTestsc                 C   
   t ddS )N   a  {
                "id": 32641234,
                "username": null,
                "resource_state": 2,
                "firstname": "georges",
                "lastname": "camembert",
                "city": "London",
                "state": "England",
                "country": "United Kingdom",
                "sex": "M",
                "premium": false,
                "summit": false,
                "created_at": "2017-07-12T12:42:52Z",
                "updated_at": "2017-10-21T11:01:23Z",
                "badge_type_id": 0,
                "profile_medium": "avatar/athlete/medium.png",
                "profile": "avatar/athlete/large.png",
                "friend": null,
                "follower": null,
                "email": "bill@example.com"
            }r   self r   c/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/strava/tests.pyget_mocked_response   s   zStravaTests.get_mocked_responsec                 C   r   )zkProfile including realistic avatar URL
        user ID set to 0 to test edge case where id would be missingr   a  {
                "id": 0,
                "username": null,
                "resource_state": 2,
                "firstname": "georges",
                "lastname": "camembert",
                "city": "London",
                "state": "England",
                "country": "United Kingdom",
                "sex": "M",
                "premium": false,
                "summit": false,
                "created_at": "2017-07-12T12:42:52Z",
                "updated_at": "2017-10-21T11:01:23Z",
                "badge_type_id": 0,
                "profile_medium": "https://cloudfront.net/1/medium.jpg",
                "profile": "https://cloudfront.net/1/large.jpg",
                "friend": null,
                "follower": null,
                "email": "bill@example.com"
            }r   r   r   r   r   %get_mocked_response_avatar_invalid_id*   s   z1StravaTests.get_mocked_response_avatar_invalid_idc                 C   s^   |  |   tjjdd}tjj|| jjd }|	 }| 
| d | |  dS )ztest response with Avatar URLzbill@example.com)email)userproviderz"https://cloudfront.net/1/large.jpgN)loginr   r   objectsgetr   filterr   idget_provider_accountassertEqualget_avatar_urlassertIsNoneget_profile_url)r   r   soc_accprovider_accountr   r   r   test_valid_avatarF   s   zStravaTests.test_valid_avatarTc                 C   s   d}|rd}d| S )N z,"refresh_token": "testrf"a$  {
            "uid":"weibo",
            "access_token":"testac",
            "livemode": false,
            "token_type": "bearer",
            "strava_publishable_key": "pk_test_someteskey",
            "strava_user_id": "acct_sometestid",
            "scope": "read_write"
            %s }r   )r   with_refresh_tokenrtr   r   r   get_login_response_jsonT   s   	z#StravaTests.get_login_response_jsonN)T)
__name__
__module____qualname__r	   r   provider_idr   r   r#   r'   r   r   r   r   r
      s    r
   N)
__future__r   django.contrib.auth.modelsr   allauth.socialaccount.modelsr   allauth.socialaccount.testsr   allauth.testsr   r   r   r	   r
   r   r   r   r   <module>   s   