示例#1
0
    def test_raise_if_user_needs_admin_activation(self):
        """pipeline raises if user needs admin activation"""
        self.user.requires_activation = UserModel.ACTIVATION_ADMIN
        self.user.save()

        try:
            associate_by_email(None, {'email': self.user.email}, GithubOAuth2)
            self.fail("associate_by_email should raise SocialAuthFailed")
        except SocialAuthFailed as e:
            self.assertEqual(
                e.message,
                ("Your account has to be activated by site administrator before you will be "
                 "able to sign in with GitHub."),
            )
示例#2
0
    def test_raise_if_user_is_inactive(self):
        """pipeline raises if user was inactive"""
        self.user.is_active = False
        self.user.save()

        try:
            associate_by_email(None, {'email': self.user.email}, GithubOAuth2)
            self.fail("associate_by_email should raise SocialAuthFailed")
        except SocialAuthFailed as e:
            self.assertEqual(
                e.message,
                ("The e-mail address associated with your GitHub account is not available for "
                 "use on this site."),
            )
    def test_return_user_email_inactive(self):
        """pipeline returns user even if they didn't activate their account manually"""
        self.user.requires_activation = UserModel.ACTIVATION_USER
        self.user.save()

        result = associate_by_email(None, {'email': self.user.email}, GithubOAuth2)
        self.assertEqual(result, {'user': self.user, 'is_new': False})
示例#4
0
 def test_skip_if_user_with_email_not_found(self):
     """pipeline step is skipped if no email was passed"""
     result = associate_by_email(None, {'email': '*****@*****.**'},
                                 GithubOAuth2)
     self.assertIsNone(result)
示例#5
0
 def test_skip_if_no_email_passed(self):
     """pipeline step is skipped if no email was passed"""
     result = associate_by_email(None, {}, GithubOAuth2)
     self.assertIsNone(result)
示例#6
0
 def test_skip_if_user_is_already_set(self):
     """pipeline step is skipped if user was found by previous step"""
     result = associate_by_email(None, {}, GithubOAuth2, self.user)
     self.assertIsNone(result)
示例#7
0
 def test_return_user(self):
     """pipeline returns user if email was found"""
     result = associate_by_email(None, {'email': self.user.email},
                                 GithubOAuth2)
     self.assertEqual(result, {'user': self.user, 'is_new': False})