Esempio n. 1
0
    def test_profile_data_for_linkedin_user(self):
        self.details['fullname'] = 'test_user'
        self.backend.name = 'linkedin-oauth2'

        pipeline = profile_data(self.response, self.details, self.backend,
                                self.user, self.social)

        assert pipeline is None

        self.user.refresh_from_db()

        assert self.user.picture is None
        assert 'test_user' == self.social.extra_data['username']
Esempio n. 2
0
    def test_profile_data_for_google_user(self):
        self.response['displayName'] = 'test_user'
        self.response['image'] = {'url': 'https://test.com/test.png'}
        self.backend.name = 'google-oauth2'

        pipeline = profile_data(self.response, self.details, self.backend,
                                self.user, self.social)

        assert pipeline is None

        self.user.refresh_from_db()

        assert self.user.picture == 'https://test.com/test.png'
        assert 'test_user' == self.social.extra_data.get('username')
Esempio n. 3
0
    def test_do_not_update_user_picture(self):
        self.response['screen_name'] = 'test_user'
        self.response['profile_image_url_normal'] = 'https://test.com/test.png'
        self.backend.name = 'twitter'
        self.user.picture = 'http://test.com/picture.png'
        self.user.save()

        pipeline = profile_data(self.response, self.details, self.backend,
                                self.user, self.social)

        assert pipeline is None

        self.user.refresh_from_db()

        assert self.user.picture == 'http://test.com/picture.png'
Esempio n. 4
0
    def test_profile_data_for_twitter_user(self, mocked_requests,
                                           mocked_s3_key, mocked_s3):
        key = Mock()
        key.generate_url.return_value = 'https://example.com/image.png'
        mocked_s3_key.return_value = key
        self.response['screen_name'] = 'test_user'
        self.response['profile_image_url'] = 'https://test.com/test_normal.png'
        self.backend.name = 'twitter'

        pipeline = profile_data(self.response, self.details, self.backend,
                                self.user, self.social)

        assert pipeline is None

        self.user.refresh_from_db()
        self.social.refresh_from_db()

        assert self.user.picture == "https://example.com/image.png"
        assert 'test_user' == self.social.extra_data.get('username')
Esempio n. 5
0
    def test_profile_data_for_facebook_user(self, mocked_facebook,
                                            mocked_s3_key, mocked_s3):
        key = Mock()
        key.generate_url.return_value = 'https://example.com/image.png'
        mocked_s3_key.return_value = key
        self.response['name'] = 'test_user'
        self.response['id'] = '1'
        self.backend.name = 'facebook'

        pipeline = profile_data(self.response, self.details, self.backend,
                                self.user, self.social)

        assert pipeline is None

        self.user.refresh_from_db()
        self.social.refresh_from_db()

        assert self.user.picture == "https://example.com/image.png"
        assert 'test_user' == self.social.extra_data.get('username')
Esempio n. 6
0
    def test_complete_profile_data_for_facebook_user(self, mocked_facebook,
                                                     mocked_s3_key, mocked_s3):
        key = Mock()
        key.generate_url.return_value = 'https://example.com/image.png'
        mocked_s3_key.return_value = key
        self.response = {
            'name':
            'Test User',
            'id':
            '1',
            'hometown': {
                'id': 45,
                'name': 'Boring, OR'
            },
            'about':
            'Test Boring About Coming Soon!',
            'age_range': {
                'min': 18,
                'max': 39,
            },
            'work': [
                {
                    'employer': {
                        'id': 2,
                        'name': 'Test Employer'
                    },
                    'start_date': '2018-01-01',
                    'position': {
                        'id': 4,
                        'name': 'Test Occupation'
                    },
                },
                {
                    'employer': {
                        'id': 2,
                        'name': 'Test Old Employer'
                    },
                    'start_date': '2017-01-01',
                    'position': {
                        'id': 4,
                        'name': 'Test Old Occupation'
                    },
                },
                {
                    'employer': {
                        'id': 2,
                        'name': 'Test None Employer'
                    },
                    'position': {
                        'id': 4,
                        'name': 'Test None Occupation'
                    },
                },
            ],
        }
        self.backend.name = 'facebook'

        pipeline = profile_data(self.response, self.details, self.backend,
                                self.user, self.social)

        assert pipeline is None

        self.user.refresh_from_db()

        assert self.user.hometown == 'Boring, OR'
        assert self.user.bio == 'Test Boring About Coming Soon!'
        assert self.user.age_range == '18 - 39'
        assert self.user.employer == 'Test Employer'
        assert self.user.occupation == 'Test Occupation'
        assert self.user.picture == "https://example.com/image.png"
        assert 'Test User' == self.social.extra_data.get('username')