예제 #1
0
 def test_custom_mail_validation_raise(self):
     self.backend.strategy.validate_email.return_value = False
     with self.assertRaises(InvalidEmail):
         custom_mail_validation(strategy=self.strategy,
                                pipeline_index=5,
                                backend=self.backend,
                                details=self.details,
                                user=self.user)
예제 #2
0
 def test_custom_mail_validation_raise(self):
     self.backend.strategy.validate_email.return_value = False
     with self.assertRaises(InvalidEmail):
         custom_mail_validation(
             strategy=self.strategy,
             pipeline_index=5,
             backend=self.backend,
             details=self.details,
             user=self.user
         )
예제 #3
0
    def test_custom_mail_validation_backend_email_verify_code(self):
        self.backend.strategy.validate_email.return_value = True
        code = mock.Mock()
        code.user_id = 1
        self.backend.strategy.storage.code.get_code.return_value = code

        with mock.patch('psa.pipeline.User') as mocked_user:
            with mock.patch('psa.pipeline.logout') as mocked_logout:
                with mock.patch('psa.pipeline.login') as mocked_login:
                    mocked_logout.return_value = None
                    mocked_login.return_value = None
                    queryset = mock.Mock()
                    queryset.first.return_value = self.user
                    mocked_user.objects.filter.return_value = queryset
                    res = custom_mail_validation(
                        strategy=self.strategy,
                        pipeline_index=5,
                        backend=self.backend,
                        details=self.details,
                        user=self.user
                    )
                    self.assertEqual(res['user'], self.user)
                    self.assertEqual(
                        self.user.backend,
                        'django.contrib.auth.backends.ModelBackend'
                    )
예제 #4
0
 def test_custom_mail_validation_backend_not_email(self):
     self.backend.name = 'facebook'
     res = custom_mail_validation(strategy=self.strategy,
                                  pipeline_index=5,
                                  backend=self.backend,
                                  details=self.details,
                                  user=self.user,
                                  social=self.social)
     self.assertEqual(res, {})
예제 #5
0
 def test_custom_mail_validation_backend_not_email(self):
     self.backend.name = 'facebook'
     res = custom_mail_validation(
         strategy=self.strategy,
         pipeline_index=5,
         backend=self.backend,
         details=self.details,
         user=self.user,
         social=self.social
     )
     self.assertEqual(res, {})
예제 #6
0
 def test_custom_mail_validation_backend_email_send_email(self):
     self.backend.strategy.request_data.return_value = {}
     self.backend.strategy.send_email_validation = mock.Mock()
     self.user.username = '******'
     exists = mock.Mock()
     exists.exists.return_value = False
     self.user.groups.filter.return_value = exists
     res = custom_mail_validation(strategy=self.strategy,
                                  pipeline_index=5,
                                  backend=self.backend,
                                  details=self.details,
                                  user=self.user)
     self.assertEqual(res, self.backend.strategy.redirect())
예제 #7
0
 def test_custom_mail_validation_backend_email_send_email(self):
     self.backend.strategy.request_data.return_value = {}
     self.backend.strategy.send_email_validation = mock.Mock()
     self.user.username = '******'
     exists = mock.Mock()
     exists.exists.return_value = False
     self.user.groups.filter.return_value = exists
     res = custom_mail_validation(
         strategy=self.strategy,
         pipeline_index=5,
         backend=self.backend,
         details=self.details,
         user=self.user
     )
     self.assertEqual(res, self.backend.strategy.redirect())
예제 #8
0
 def test_custom_mail_validation_backend_email_send_email_anonym(self):
     self.backend.strategy.request_data.return_value = {}
     send_email_validation = mock.Mock()
     self.backend.strategy.send_email_validation = send_email_validation
     self.user.username = '******'
     exists = mock.Mock()
     exists.exists.return_value = True
     self.user.groups.filter.return_value = exists
     with mock.patch('psa.pipeline.AnonymEmail') as mocked_anonym:
         get_or_create = mock.Mock()
         mocked_anonym.objects.get_or_create = get_or_create
         res = custom_mail_validation(strategy=self.strategy,
                                      pipeline_index=5,
                                      backend=self.backend,
                                      details=self.details,
                                      user=self.user)
         self.assertEqual(res, self.backend.strategy.redirect())
         self.assertEqual(get_or_create.call_count, 1)
         self.assertEqual(send_email_validation.call_count, 1)
예제 #9
0
 def test_custom_mail_validation_backend_email_send_email_anonym(self):
     self.backend.strategy.request_data.return_value = {}
     send_email_validation = mock.Mock()
     self.backend.strategy.send_email_validation = send_email_validation
     self.user.username = '******'
     exists = mock.Mock()
     exists.exists.return_value = True
     self.user.groups.filter.return_value = exists
     with mock.patch('psa.pipeline.AnonymEmail') as mocked_anonym:
         get_or_create = mock.Mock()
         mocked_anonym.objects.get_or_create = get_or_create
         res = custom_mail_validation(
             strategy=self.strategy,
             pipeline_index=5,
             backend=self.backend,
             details=self.details,
             user=self.user
         )
         self.assertEqual(res, self.backend.strategy.redirect())
         self.assertEqual(get_or_create.call_count, 1)
         self.assertEqual(send_email_validation.call_count, 1)
예제 #10
0
    def test_custom_mail_validation_backend_email_verify_code(self):
        self.backend.strategy.validate_email.return_value = True
        code = mock.Mock()
        code.user_id = 1
        self.backend.strategy.storage.code.get_code.return_value = code

        with mock.patch('psa.pipeline.User') as mocked_user:
            with mock.patch('psa.pipeline.logout') as mocked_logout:
                with mock.patch('psa.pipeline.login') as mocked_login:
                    mocked_logout.return_value = None
                    mocked_login.return_value = None
                    queryset = mock.Mock()
                    queryset.first.return_value = self.user
                    mocked_user.objects.filter.return_value = queryset
                    res = custom_mail_validation(strategy=self.strategy,
                                                 pipeline_index=5,
                                                 backend=self.backend,
                                                 details=self.details,
                                                 user=self.user)
                    self.assertEqual(res['user'], self.user)
                    self.assertEqual(
                        self.user.backend,
                        'django.contrib.auth.backends.ModelBackend')