def test_logging_in_should_send_the_login_signal(self):
     counter = self.get_counter()
     
     user = self.create_user()
     self.create_profile(user)
     
     def handler(sender, **kwargs):
         counter.counter += 1
         self.assertEqual(self.profile, sender)
         
     login.connect(handler, sender=self.profile, dispatch_uid='socialreg.test.login')
     
     self.flow()
     
     self.assertEqual(1, counter.counter)
    vk_uid = models.CharField(max_length=255, blank=False, null=False)

    def __unicode__(self):
        try:
            return u'%s: %s' % (self.user, self.vk_uid)
        except models.DoesNotExist:
            return u'None'

    def authenticate(self):
        return authenticate(vk_uid=self.vk_uid)


class VkontakteAccessToken(models.Model):
    profile = models.OneToOneField(VkontakteProfile, related_name='access_token')
    access_token = models.CharField(max_length=255)


def save_vkontakte_token(sender, user, profile, client, **kwargs):
    try:
        VkontakteAccessToken.objects.get(profile=profile).delete()
    except VkontakteAccessToken.DoesNotExist:
        pass

    VkontakteAccessToken.objects.create(profile=profile,
        access_token=client._access_token)

connect.connect(save_vkontakte_token, sender=VkontakteProfile,
    dispatch_uid='socialregistration.vkontakte.connect')
login.connect(save_vkontakte_token, sender=VkontakteProfile,
    dispatch_uid='socialregistration.vkontakte.login')
    site = models.ForeignKey(Site, default=Site.objects.get_current)
    uid = models.CharField(max_length=255, blank=False, null=False)

    def __unicode__(self):
        try:
            return u'%s: %s' % (self.user, self.uid)
        except models.ObjectDoesNotExist:
            return u'None'

    def authenticate(self):
        return authenticate(uid=self.uid)

class FacebookAccessToken(models.Model):
    profile = models.OneToOneField(FacebookProfile, related_name='access_token')
    access_token = models.CharField(max_length=255)


def save_facebook_token(sender, user, profile, client, **kwargs):
    try:
        FacebookAccessToken.objects.get(profile=profile).delete()
    except FacebookAccessToken.DoesNotExist:
        pass

    FacebookAccessToken.objects.create(profile=profile,
        access_token=client.graph.access_token)

connect.connect(save_facebook_token, sender=FacebookProfile,
    dispatch_uid='socialregistration.facebook.connect')
login.connect(save_facebook_token, sender = FacebookProfile,
    dispatch_uid = 'socialregistration.facebook.login')
            return u'%s: %s' % (self.user, self.uid)
        except models.ObjectDoesNotExist:
            return u'None'

    def authenticate(self):
        return authenticate(uid=self.uid)


class FacebookAccessToken(models.Model):
    profile = models.OneToOneField(FacebookProfile,
                                   related_name='access_token')
    access_token = models.CharField(max_length=255)


def save_facebook_token(sender, user, profile, client, **kwargs):
    try:
        FacebookAccessToken.objects.get(profile=profile).delete()
    except FacebookAccessToken.DoesNotExist:
        pass

    FacebookAccessToken.objects.create(profile=profile,
                                       access_token=client.graph.access_token)


connect.connect(save_facebook_token,
                sender=FacebookProfile,
                dispatch_uid='socialregistration.facebook.connect')
login.connect(save_facebook_token,
              sender=FacebookProfile,
              dispatch_uid='socialregistration.facebook.login')