Exemplo n.º 1
0
    def test_valid_user_with_social_without_confirm(self):
        self.exists.exists.return_value = False

        self.social.user = mock.Mock()
        self.social.user.groups.filter.return_value = self.exists
        self.social.user.email = '*****@*****.**'
        self.user.groups.filter.return_value = self.exists
        self.user.username = '******'
        self.user.email = '*****@*****.**'
        self.user.get_full_name.return_value = 'test_username1'
        self.social.user.get_full_name.return_value = 'test_username2'
        self.strategy.request.POST = {}

        with mock.patch('psa.pipeline.social_merge') as mocked_social:
            with mock.patch('psa.pipeline.union_merge') as mocked_union:
                mocked_social.return_value = None
                mocked_union.return_value = None
                validated_user_details(
                    strategy=self.strategy,
                    pipeline_index=6,
                    backend=self.backend,
                    details=self.details,
                    user=self.user,
                    social=self.social
                )
                self.assertTemplateUsed('ct/person.html')
Exemplo n.º 2
0
    def test_valid_user_with_social_confirm_no(self):
        self.social.user = mock.Mock()
        self.user.username = '******'
        self.exists.exists.return_value = False
        self.strategy.request.POST = {'confirm': 'no'}

        with self.assertRaises(AuthException):
            validated_user_details(strategy=self.strategy,
                                   pipeline_index=6,
                                   backend=self.backend,
                                   details=self.details,
                                   user=self.user,
                                   social=self.social)
Exemplo n.º 3
0
    def test_valid_user_with_social_confirm_no(self):
        self.social.user = mock.Mock()
        self.user.username = '******'
        self.exists.exists.return_value = False
        self.strategy.request.POST = {'confirm': 'no'}

        with self.assertRaises(AuthException):
            validated_user_details(
                strategy=self.strategy,
                pipeline_index=6,
                backend=self.backend,
                details=self.details,
                user=self.user,
                social=self.social
            )
Exemplo n.º 4
0
    def test_valid_user_with_social_confirm_yes(self):
        self.exists.exists.return_value = False

        self.social.user = mock.Mock()
        self.social.user.groups.filter.return_value = self.exists
        self.social.user.email = '*****@*****.**'
        self.user.username = '******'
        self.user.email = '*****@*****.**'
        self.user.groups.filter.return_value = self.exists
        self.user.get_full_name.return_value = 'test_username1'
        self.social.user.get_full_name.return_value = 'test_username2'
        self.strategy.request.POST = {'confirm': 'yes'}

        with mock.patch('psa.pipeline.social_merge') as mocked_social:
            with mock.patch('psa.pipeline.union_merge') as mocked_union:
                mocked_social.return_value = None
                mocked_union.return_value = None
                res = validated_user_details(strategy=self.strategy,
                                             pipeline_index=6,
                                             backend=self.backend,
                                             details=self.details,
                                             user=self.user,
                                             social=self.social)
                self.assertEqual(res['user'], self.user)
                self.assertEqual(res['social'], self.social)
Exemplo n.º 5
0
 def test_temporary_user_without_social_two_user_by_email(self):
     self.backend.strategy.storage.user.get_users_by_email.return_value = [
         mock.Mock(), mock.Mock()
     ]
     with mock.patch('psa.pipeline.logout') as mocked_logout:
         with mock.patch('psa.pipeline.login') as mocked_login:
             with mock.patch('psa.pipeline.union_merge') as mocked_merge:
                 mocked_logout.return_value = None
                 mocked_login.return_value = None
                 mocked_merge.return_value = None
                 with self.assertRaises(AuthException):
                     validated_user_details(strategy=self.strategy,
                                            pipeline_index=6,
                                            backend=self.backend,
                                            details=self.details,
                                            user=self.user)
Exemplo n.º 6
0
    def test_valid_user_with_social_confirm_yes(self):
        self.exists.exists.return_value = False

        self.social.user = mock.Mock()
        self.social.user.groups.filter.return_value = self.exists
        self.social.user.email = '*****@*****.**'
        self.user.username = '******'
        self.user.email = '*****@*****.**'
        self.user.groups.filter.return_value = self.exists
        self.user.get_full_name.return_value = 'test_username1'
        self.social.user.get_full_name.return_value = 'test_username2'
        self.strategy.request.POST = {'confirm': 'yes'}

        with mock.patch('psa.pipeline.social_merge') as mocked_social:
            with mock.patch('psa.pipeline.union_merge') as mocked_union:
                mocked_social.return_value = None
                mocked_union.return_value = None
                res = validated_user_details(
                    strategy=self.strategy,
                    pipeline_index=6,
                    backend=self.backend,
                    details=self.details,
                    user=self.user,
                    social=self.social
                )
                self.assertEqual(res['user'], self.user)
                self.assertEqual(res['social'], self.social)
Exemplo n.º 7
0
 def test_temporary_user_without_social_two_user_by_email(self):
     self.backend.strategy.storage.user.get_users_by_email.return_value = [mock.Mock(),
                                                                           mock.Mock()]
     with mock.patch('psa.pipeline.logout') as mocked_logout:
         with mock.patch('psa.pipeline.login') as mocked_login:
             with mock.patch('psa.pipeline.union_merge') as mocked_merge:
                 mocked_logout.return_value = None
                 mocked_login.return_value = None
                 mocked_merge.return_value = None
                 with self.assertRaises(AuthException):
                     validated_user_details(
                         strategy=self.strategy,
                         pipeline_index=6,
                         backend=self.backend,
                         details=self.details,
                         user=self.user
                     )
Exemplo n.º 8
0
    def test_integrity_error(self):
        self.backend.strategy.storage.user.get_users_by_email.return_value = []
        save = mock.Mock()
        save.side_effect = IntegrityError()
        self.user.save = save

        # pipeline do not raise IntegrityError but we mock user.save()
        # so in our test second call to save will raise IntegrityError
        # exception
        with self.assertRaises(IntegrityError):
            validated_user_details(strategy=self.strategy,
                                   pipeline_index=6,
                                   backend=self.backend,
                                   details=self.details,
                                   user=self.user)
            self.assertIn(self.details.get('username'), self.user.username)
            self.assertLess(len(self.details.get('username')),
                            len(self.user.username))
Exemplo n.º 9
0
    def test_integrity_error(self):
        self.backend.strategy.storage.user.get_users_by_email.return_value = []
        save = mock.Mock()
        save.side_effect = IntegrityError()
        self.user.save = save

        # pipeline do not raise IntegrityError but we mock user.save()
        # so in our test second call to save will raise IntegrityError
        # exception
        with self.assertRaises(IntegrityError):
            validated_user_details(
                strategy=self.strategy,
                pipeline_index=6,
                backend=self.backend,
                details=self.details,
                user=self.user
            )
            self.assertIn(self.details.get('username'), self.user.username)
            self.assertLess(len(self.details.get('username')),
                            len(self.user.username))
Exemplo n.º 10
0
    def test_valid_user_with_social_without_confirm(self):
        self.exists.exists.return_value = False

        self.social.user = mock.Mock()
        self.social.user.groups.filter.return_value = self.exists
        self.social.user.email = '*****@*****.**'
        self.user.groups.filter.return_value = self.exists
        self.user.username = '******'
        self.user.email = '*****@*****.**'
        self.user.get_full_name.return_value = 'test_username1'
        self.social.user.get_full_name.return_value = 'test_username2'
        self.strategy.request.POST = {}

        with mock.patch('psa.pipeline.social_merge') as mocked_social:
            with mock.patch('psa.pipeline.union_merge') as mocked_union:
                mocked_social.return_value = None
                mocked_union.return_value = None
                validated_user_details(strategy=self.strategy,
                                       pipeline_index=6,
                                       backend=self.backend,
                                       details=self.details,
                                       user=self.user,
                                       social=self.social)
                self.assertTemplateUsed('ct/person.html')
Exemplo n.º 11
0
    def test_temporary_user_with_social(self):
        self.social.user = mock.Mock()

        with mock.patch('psa.pipeline.logout') as mocked_logout:
            with mock.patch('psa.pipeline.login') as mocked_login:
                with mock.patch('psa.pipeline.union_merge') as mocked_merge:
                    mocked_logout.return_value = None
                    mocked_login.return_value = None
                    mocked_merge.return_value = None
                    res = validated_user_details(strategy=self.strategy,
                                                 pipeline_index=6,
                                                 backend=self.backend,
                                                 details=self.details,
                                                 user=self.user,
                                                 social=self.social)
                    self.assertEqual(res['user'], self.social.user)
Exemplo n.º 12
0
    def test_temporary_user_without_social_no_user_by_email(self):
        self.backend.strategy.storage.user.get_users_by_email.return_value = []

        with mock.patch('psa.pipeline.logout') as mocked_logout:
            with mock.patch('psa.pipeline.login') as mocked_login:
                with mock.patch('psa.pipeline.union_merge') as mocked_merge:
                    mocked_logout.return_value = None
                    mocked_login.return_value = None
                    mocked_merge.return_value = None
                    res = validated_user_details(strategy=self.strategy,
                                                 pipeline_index=6,
                                                 backend=self.backend,
                                                 details=self.details,
                                                 user=self.user)
                    self.assertEqual(res, {})
                    self.assertEqual(self.user.username,
                                     self.details.get('username'))
                    self.assertEqual(self.user.first_name, '')
Exemplo n.º 13
0
    def test_temporary_user_with_social(self):
        self.social.user = mock.Mock()

        with mock.patch('psa.pipeline.logout') as mocked_logout:
            with mock.patch('psa.pipeline.login') as mocked_login:
                with mock.patch('psa.pipeline.union_merge') as mocked_merge:
                    mocked_logout.return_value = None
                    mocked_login.return_value = None
                    mocked_merge.return_value = None
                    res = validated_user_details(
                        strategy=self.strategy,
                        pipeline_index=6,
                        backend=self.backend,
                        details=self.details,
                        user=self.user,
                        social=self.social
                    )
                    self.assertEqual(res['user'], self.social.user)
Exemplo n.º 14
0
    def test_temporary_user_without_social_user_by_email(self):
        user_by_email = mock.Mock()
        self.backend.strategy.storage.user.get_users_by_email.return_value = [
            user_by_email
        ]
        self.details = {'email': '*****@*****.**'}

        with mock.patch('psa.pipeline.logout') as mocked_logout:
            with mock.patch('psa.pipeline.login') as mocked_login:
                with mock.patch('psa.pipeline.union_merge') as mocked_merge:
                    mocked_logout.return_value = None
                    mocked_login.return_value = None
                    mocked_merge.return_value = None
                    res = validated_user_details(strategy=self.strategy,
                                                 pipeline_index=6,
                                                 backend=self.backend,
                                                 details=self.details,
                                                 user=self.user)
                    self.assertEqual(res['user'], user_by_email)
Exemplo n.º 15
0
    def test_temporary_user_without_social_no_user_by_email(self):
        self.backend.strategy.storage.user.get_users_by_email.return_value = []

        with mock.patch('psa.pipeline.logout') as mocked_logout:
            with mock.patch('psa.pipeline.login') as mocked_login:
                with mock.patch('psa.pipeline.union_merge') as mocked_merge:
                    mocked_logout.return_value = None
                    mocked_login.return_value = None
                    mocked_merge.return_value = None
                    res = validated_user_details(
                        strategy=self.strategy,
                        pipeline_index=6,
                        backend=self.backend,
                        details=self.details,
                        user=self.user
                    )
                    self.assertEqual(res, {})
                    self.assertEqual(self.user.username, self.details.get('username'))
                    self.assertEqual(self.user.first_name, '')
Exemplo n.º 16
0
    def test_temporary_user_without_social_user_by_email(self):
        user_by_email = mock.Mock()
        self.backend.strategy.storage.user.get_users_by_email.return_value = [user_by_email]
        self.details = {'email': '*****@*****.**'}

        with mock.patch('psa.pipeline.logout') as mocked_logout:
            with mock.patch('psa.pipeline.login') as mocked_login:
                with mock.patch('psa.pipeline.union_merge') as mocked_merge:
                    mocked_logout.return_value = None
                    mocked_login.return_value = None
                    mocked_merge.return_value = None
                    res = validated_user_details(
                        strategy=self.strategy,
                        pipeline_index=6,
                        backend=self.backend,
                        details=self.details,
                        user=self.user
                    )
                    self.assertEqual(res['user'], user_by_email)