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
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)