Esempio n. 1
0
    def create(self, validated_data):
        user_data_response = get_facebook_user_data(
                             validated_data.get('facebookId'))

        if user_data_response.status_code == 200:
            data_response = user_data_response.json()

            logger.info('Save User information - facebookId={}'.format(
                        data_response.get('id')))

            try:
                return Person.objects.create(
                       facebookId=data_response.get('id'),
                       name=data_response.get('name'))
            except IntegrityError:
                logger.error('User already registered - facebookId={}'.format(
                              data_response.get('id')))

                raise serializers.ValidationError({
                    'facebookId': 'User already registered.'
                })
        logger.error('Facebook user not found facebookId->{}'.format(
                     validated_data.get('facebookId')))

        raise Http404
Esempio n. 2
0
    def test_facebook_user_data(self):
        # config vars
        facebookId = "10011010101"
        access_token = '282525608440728|CcNsxMwOhoJTe'
        url_token = '{0}/oauth/access_token?'.format(FACEBOOK.get('graph_url'))

        httpretty.register_uri(httpretty.POST, url_token,
                               body="'access_token=28252560|CcNsxMwOhoJTe'")

        user_data_url = "{0}/{1}/?&access_token={2}".format(
                     FACEBOOK.get('graph_url'),
                     facebookId,
                     access_token)

        httpretty.register_uri(httpretty.GET, user_data_url,
                               body='{"id":"10011010101","name": "Arthur"}')

        user_data_response = get_facebook_user_data(facebookId)

        self.assertEqual(user_data_response.json().get('id'), facebookId)