
    )Jf|6                     |    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	 d dl
mZmZ ddlmZ  G d	 d
e	e          ZdS )    )loads)override_settings)SocialAccount)ProviderException)OAuth2TestsMixin)MockedResponseTestCase   )LinkedInOAuth2Providerc                   `   e Zd Zej        Zd Zd Zd Z e	dg dddidi	          d
             Z
 e	dg dddidi	          d             Z e	dg dddidi	          d             Z e	dg dddidi	          d             Z e	dg dddidi	          d             Zd ZdS )LinkedInOAuth2Testsc                 B    t          dd          t          dd          gS )N   z
            {}
              
{
  "profilePicture": {
    "displayImage": "urn:li:digitalmediaAsset:12345abcdefgh-12abcd"
  },
  "id": "1234567",
  "lastName": {
    "preferredLocale": {
      "language": "en",
      "country": "US"
    },
    "localized": {
      "en_US": "Penners"
    }
  },
  "firstName": {
    "preferredLocale": {
      "language": "en",
      "country": "US"
    },
    "localized": {
      "en_US": "Raymond"
    }
  }
}
)r   )selfs    x/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/linkedin_oauth2/tests.pyget_mocked_responsez'LinkedInOAuth2Tests.get_mocked_response   s8       $
 $	
    c                     dddddddgdd	d
}t          |d          }|                     |                                                                d           d S )Nzjohn@doe.orgJohn	a1b2c3d4eDoezhttps://media.licdn.com/mpr/foor
   zhttps://media.licdn.com/foo)_totalvaluesz#https://www.linkedin.com/in/johndoe)emailAddress	firstNameidlastName
pictureUrlpictureUrlspublicProfileUrllinkedin_oauth2
extra_dataproviderzJohn Doe)r   assertEqualget_provider_accountto_str)r   dataaccs      r   test_data_to_strz$LinkedInOAuth2Tests.test_data_to_str8   s    *;89  !F
 
 t6GHHH1133::<<jIIIIIr   c                     d}t          t          |          d          }|                     |                                           d S Nr   r"   r#   r   r   assertIsNoneget_avatar_urlr   r$   r*   s      r   &test_get_avatar_url_no_picture_settingz:LinkedInOAuth2Tests.test_get_avatar_url_no_picture_settingH   sU    
4 Z((&
 
 
 	#,,../////r   r"   )r   r   r   z-profilePicture(displayImage~:playableStreams)display_size_w_h)i  g      y@)PROFILE_FIELDSPROFILEPICTURE)SOCIALACCOUNT_PROVIDERSc                     d}t          t          |          d          }|                     |                                           d S r-   r.   r1   s      r    test_get_avatar_url_with_settingz4LinkedInOAuth2Tests.test_get_avatar_url_with_settingi   sU     
4 Z((&
 
 
 	#,,../////r   )d   g      Y@c                     d}t          t          |          d          }|                     d|                                           d S N"  
{
  "profilePicture": {
    "displayImage": "urn:li:digitalmediaAsset:12345abcdefgh-12abcd"
  },
  "id": "1234567",
  "lastName": {
    "preferredLocale": {
      "language": "en",
      "country": "US"
    },
    "localized": {
      "en_US": "Penners"
    }
  },
  "firstName": {
    "preferredLocale": {
      "language": "en",
      "country": "US"
    },
    "localized": {
      "en_US": "Raymond"
    }
  },
  "profilePicture": {
    "displayImage~": {
      "elements": [
        {
          "authorizationMethod": "PUBLIC",
          "data": {
            "com.linkedin.digitalmedia.mediaartifact.StillImage": {
              "storageSize": {
                "height": 100,
                "width": 100
              },
              "storageAspectRatio": {
                "heightAspect": 1.0,
                "formatted": "1.00:1.00",
                "widthAspect": 1.0
              },
              "displaySize": {
                "height": 100.0,
                "width": 100.0,
                "uom": "PX"
              },
              "rawCodecSpec": {
                "name": "jpeg",
                "type": "image"
              },
              "displayAspectRatio": {
                "heightAspect": 1.0,
                "formatted": "1.00:1.00",
                "widthAspect": 1.0
              },
              "mediaType": "image/jpeg"
            }
          },
          "artifact": "urn:li:digitalmediaMediaArtifact:avatar",
          "identifiers": [
            {
              "identifierExpiresInSeconds": 4,
              "file": "urn:li:digitalmediaFile:this-is-the-link",
              "index": 0,
              "identifier": "this-is-the-link",
              "mediaType": "image/jpeg",
              "identifierType": "EXTERNAL_URL"
            }
          ]
        }
      ]
    }
  }
}
r"   r#   zthis-is-the-linkr   r   r&   r0   r1   s      r    test_get_avatar_url_with_picturez4LinkedInOAuth2Tests.test_get_avatar_url_with_picture   Z     I
T Z((&
 
 
 	+S-?-?-A-ABBBBBr   c                     d}t          t          |          d          }|                     |                                           d S )Nr<   r"   r#   r.   r1   s      r   !test_get_avatar_url_size_mismatchz5LinkedInOAuth2Tests.test_get_avatar_url_size_mismatch   W     I
T Z((&
 
 
 	#,,../////r   c                     d}t          t          |          d          }|                     |                                           d S )Na#  
{
  "profilePicture": {
    "displayImage": "urn:li:digitalmediaAsset:12345abcdefgh-12abcd"
  },
  "id": "1234567",
  "lastName": {
    "preferredLocale": {
      "language": "en",
      "country": "US"
    },
    "localized": {
      "en_US": "Penners"
    }
  },
  "firstName": {
    "preferredLocale": {
      "language": "en",
      "country": "US"
    },
    "localized": {
      "en_US": "Raymond"
    }
  },
  "profilePicture": {
    "displayImage~": {
      "elements": [
        {
          "authorizationMethod": "PRIVATE",
          "data": {
            "com.linkedin.digitalmedia.mediaartifact.StillImage": {
              "storageSize": {
                "height": 100,
                "width": 100
              },
              "storageAspectRatio": {
                "heightAspect": 1.0,
                "formatted": "1.00:1.00",
                "widthAspect": 1.0
              },
              "displaySize": {
                "height": 100.0,
                "width": 100.0,
                "uom": "PX"
              },
              "rawCodecSpec": {
                "name": "jpeg",
                "type": "image"
              },
              "displayAspectRatio": {
                "heightAspect": 1.0,
                "formatted": "1.00:1.00",
                "widthAspect": 1.0
              },
              "mediaType": "image/jpeg"
            }
          },
          "artifact": "urn:li:digitalmediaMediaArtifact:avatar",
          "identifiers": [
            {
              "identifierExpiresInSeconds": 4,
              "file": "urn:li:digitalmediaFile:this-is-the-link",
              "index": 0,
              "identifier": "this-is-the-link",
              "mediaType": "image/jpeg",
              "identifierType": "EXTERNAL_URL"
            }
          ]
        }
      ]
    }
  }
}
r"   r#   r.   r1   s      r   !test_get_avatar_url_auth_mismatchz5LinkedInOAuth2Tests.test_get_avatar_url_auth_mismatchY  rB   r   )r9   r9   c                     d}t          t          |          d          }|                     d|                                           d S r;   r=   r1   s      r    test_get_avatar_url_float_vs_intz4LinkedInOAuth2Tests.test_get_avatar_url_float_vs_int  r?   r   c                 p    d}|                      t          | j        j        t	          |                     d S )Nzv
{
  "profilePicture": {
    "displayImage": "urn:li:digitalmediaAsset:12345abcdefgh-12abcd"
  },
  "Id": "1234567"
}
)assertRaisesr   r%   extract_uidr   )r   r$   s     r   test_id_missingz#LinkedInOAuth2Tests.test_id_missing  sA    
 	t}8%
:K:K	
 	
 	
 	
 	
r   N)__name__
__module____qualname__r   r   provider_idr   r+   r2   r   r8   r>   rA   rD   rF   rJ    r   r   r   r      sE       (+K%
 %
 %
NJ J J 0 0 0B # # # '#
  
 !
  0 0 0B # # # '#
  
 !
  OC OC OCb # # # '#
  
 !
  O0 O0 O0b # # # '#
  
 !
  O0 O0 O0b # # # '
#
  
 !
  OC OC OCb
 
 
 
 
r   r   N)jsonr   django.test.utilsr   allauth.socialaccount.modelsr   $allauth.socialaccount.providers.baser   allauth.socialaccount.testsr   allauth.testsr   r	   r%   r   r   rO   r   r   <module>rV      s          / / / / / / 6 6 6 6 6 6 B B B B B B 8 8 8 8 8 8 2 2 2 2 2 2 2 2 , , , , , ,V
 V
 V
 V
 V
*H V
 V
 V
 V
 V
r   