o
    Lf|6                     @   sn   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
 d
e	eZdS )    )loads)override_settings)SocialAccount)ProviderException)OAuth2TestsMixin)MockedResponseTestCase   )LinkedInOAuth2Providerc                   @   s   e Zd ZejZdd Zdd Zdd Ze	dg dd	d
ididdd Z
e	dg dd	dididdd Ze	dg dd	d
ididdd Ze	dg dd	d
ididdd Ze	dg dd	dididdd Zdd ZdS )LinkedInOAuth2Testsc                 C   s   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   )self r   v/var/www/html/humari/django-venv/lib/python3.10/site-packages/allauth/socialaccount/providers/linkedin_oauth2/tests.pyget_mocked_response   s   z'LinkedInOAuth2Tests.get_mocked_responsec                 C   s@   dddddddgdd	d
}t |d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accr   r   r   test_data_to_str8   s   z$LinkedInOAuth2Tests.test_data_to_strc                 C   &   d}t t|dd}| |  d S Nr   r   r   r   r   assertIsNoneget_avatar_urlr   r    r&   r   r   r   &test_get_avatar_url_no_picture_settingH   s   z:LinkedInOAuth2Tests.test_get_avatar_url_no_picture_settingr   )r   r   r   z-profilePicture(displayImage~:playableStreams)display_size_w_h)i  g      y@)PROFILE_FIELDSPROFILEPICTURE)SOCIALACCOUNT_PROVIDERSc                 C   r(   r)   r*   r-   r   r   r    test_get_avatar_url_with_settingi   s   z4LinkedInOAuth2Tests.test_get_avatar_url_with_setting)d   g      Y@c                 C   (   d}t t|d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"   r,   r-   r   r   r    test_get_avatar_url_with_picture      Jz4LinkedInOAuth2Tests.test_get_avatar_url_with_picturec                 C   r(   )Nr7   r   r   r*   r-   r   r   r   !test_get_avatar_url_size_mismatch      Jz5LinkedInOAuth2Tests.test_get_avatar_url_size_mismatchc                 C   r(   )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*   r-   r   r   r   !test_get_avatar_url_auth_mismatchY  r<   z5LinkedInOAuth2Tests.test_get_avatar_url_auth_mismatch)r4   r4   c                 C   r5   r6   r8   r-   r   r   r    test_get_avatar_url_float_vs_int  r:   z4LinkedInOAuth2Tests.test_get_avatar_url_float_vs_intc                 C   s   d}|  t| jjt| d S )Nzv
{
  "profilePicture": {
    "displayImage": "urn:li:digitalmediaAsset:12345abcdefgh-12abcd"
  },
  "Id": "1234567"
}
)assertRaisesr   r!   extract_uidr   )r   r    r   r   r   test_id_missing  s   z#LinkedInOAuth2Tests.test_id_missingN)__name__
__module____qualname__r
   r   provider_idr   r'   r.   r   r3   r9   r;   r=   r>   rA   r   r   r   r   r      sf    '!
!
Q
Q
Q
Qr   N)jsonr   django.test.utilsr   allauth.socialaccount.modelsr   $allauth.socialaccount.providers.baser   allauth.socialaccount.testsr   allauth.testsr   r   r!   r
   r   r   r   r   r   <module>   s   