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