Exemplo n.º 1
0
class RegistrationAutoLoginTestCase(TestCase):
    backend = DefaultRegistrationBackend()
    mock_request = mock_request()

    def test_no_auto_login_with_setting(self):
        """Auto login feature should be able to off with ``REGISTRATION_AUTO_LOGIN = False``"""
        self.mock_request.user = AnonymousUser()

        with override_settings(REGISTRATION_AUTO_LOGIN = False):

            new_user = self.backend.register(
                    'bob', '*****@*****.**', request=self.mock_request,
                )
            self.backend.accept(
                    new_user.registration_profile, request=self.mock_request,
                )
            self.backend.activate(
                    new_user.registration_profile.activation_key,
                    password='******',request=self.mock_request,
                )

            self.failIf(self.mock_request.user.is_authenticated())

    def test_no_auto_login_with_no_password(self):
        """Auto login feature should not be occur with no password 
        (programatically activated by Django Admin action)
        
        """
        self.mock_request.user = AnonymousUser()

        new_user = self.backend.register(
                'bob', '*****@*****.**', request=self.mock_request,
            )
        self.backend.accept(
                new_user.registration_profile, request=self.mock_request,
            )
        self.backend.activate(
                new_user.registration_profile.activation_key,
                request=self.mock_request,
            )

        self.failIf(self.mock_request.user.is_authenticated())

    def test_auto_login(self):
        """Wheather auto login feature works correctly"""
        self.mock_request.user = AnonymousUser()

        new_user = self.backend.register(
                'bob', '*****@*****.**', request=self.mock_request,
            )
        self.backend.accept(
                new_user.registration_profile, request=self.mock_request,
            )
        self.backend.activate(
                new_user.registration_profile.activation_key,
                password='******',request=self.mock_request,
            )

        self.failUnless(self.mock_request.user.is_authenticated())
Exemplo n.º 2
0
    def setUp(self):
        self.backend = DefaultRegistrationBackend()
        self.mock_request = mock_request()
        self.admin = User.objects.create_superuser(username='******',
                                                   email='*****@*****.**',
                                                   password='******')

        self.client.login(username='******', password='******')
        self.admin_url = reverse('admin:index')
    def setUp(self):
        self.backend = DefaultRegistrationBackend()
        self.mock_request = mock_request()
        self.admin = User.objects.create_superuser(
                username='******', email='*****@*****.**',
                password='******')

        self.client.login(username='******', password='******')
        self.admin_url = reverse('admin:index')
Exemplo n.º 4
0
    def test_invite_to_slack(self):
        """
        Personaがacceptされたとき、Slackに自動的に招待する
        """
        request = mock_request()
        backend = DefaultRegistrationBackend()

        with patch.object(SlackInvitationClient, 'invite') as invite:
            new_user = backend.register(username='******',
                                        email='*****@*****.**',
                                        request=request)

            profile = new_user.registration_profile
            backend.accept(profile, request=request)

            invite.assert_called_with('*****@*****.**')
Exemplo n.º 5
0
    def test_invite_to_slack(self):
        """
        Personaがacceptされたとき、Slackに自動的に招待する
        """
        request = mock_request()
        backend = DefaultRegistrationBackend()

        with patch.object(SlackInvitationClient, 'invite') as invite:
            new_user = backend.register(
                username='******', email='*****@*****.**',
                request=request)

            profile = new_user.registration_profile
            backend.accept(profile, request=request)

            invite.assert_called_with('*****@*****.**')
Exemplo n.º 6
0
class RegistrationNotificationTestCase(TestCase):
    backend = DefaultRegistrationBackend()
    mock_request = mock_request()

    def test_notify_admins(self):
        with override_settings(REGISTRATION_NOTIFICATION_MANAGERS=False):
            self.backend.register(
                    'bob', '*****@*****.**', request=self.mock_request
                )

            self.assertEqual(len(mail.outbox), 1)
            self.assertEqual(sorted(mail.outbox[0].to), sorted([
                    '*****@*****.**',
                    '*****@*****.**',
                ]))

    def test_notify_managers(self):
        with override_settings(REGISTRATION_NOTIFICATION_ADMINS=False):
            self.backend.register(
                    'bob', '*****@*****.**', request=self.mock_request
                )

            self.assertEqual(len(mail.outbox), 1)
            self.assertEqual(sorted(mail.outbox[0].to), sorted([
                    '*****@*****.**',
                    '*****@*****.**',
                ]))

    def test_notify_recipients_iterable(self):
        with override_settings(
            REGISTRATION_NOTIFICATION_ADMINS = False,
            REGISTRATION_NOTIFICATION_MANAGERS = False,
            REGISTRATION_NOTIFICATION_RECIPIENTS=(
                    '*****@*****.**',
                    '*****@*****.**',
                )):
            self.backend.register(
                    'bob', '*****@*****.**', request=self.mock_request
                )

            self.assertEqual(len(mail.outbox), 1)
            self.assertEqual(sorted(mail.outbox[0].to), sorted([
                    '*****@*****.**',
                    '*****@*****.**',
                ]))

    def test_notify_recipients_function(self):
        with override_settings(
            REGISTRATION_NOTIFICATION_ADMINS=False,
            REGISTRATION_NOTIFICATION_MANAGERS=False,
            REGISTRATION_NOTIFICATION_RECIPIENTS=lambda:(
                    '*****@*****.**',
                    '*****@*****.**',
                )):
            self.backend.register(
                    'bob', '*****@*****.**', request=self.mock_request
                )

            self.assertEqual(len(mail.outbox), 1)
            self.assertEqual(sorted(mail.outbox[0].to), sorted([
                    '*****@*****.**',
                    '*****@*****.**',
                ]))

    def test_notify_all(self):
        with override_settings(
            REGISTRATION_NOTIFICATION_ADMINS=True,
            REGISTRATION_NOTIFICATION_MANAGERS=True,
            REGISTRATION_NOTIFICATION_RECIPIENTS=(
                    '*****@*****.**',
                    '*****@*****.**',
                )):
            self.backend.register(
                    'bob', '*****@*****.**', request=self.mock_request
                )

            self.assertEqual(len(mail.outbox), 1)
            self.assertEqual(sorted(mail.outbox[0].to), sorted([
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                ]))

    def test_notify_duplicated(self):
        with override_settings(
            REGISTRATION_NOTIFICATION_ADMINS=True,
            REGISTRATION_NOTIFICATION_MANAGERS=True,
            REGISTRATION_NOTIFICATION_RECIPIENTS=(
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                ),
            ADMINS=(
                    ('admin1', '*****@*****.**'),
                    ('admin2', '*****@*****.**'),
                    ('manager1', '*****@*****.**'), 
                    ('manager2', '*****@*****.**'),
                    ('recipient1', '*****@*****.**'), 
                    ('recipient2', '*****@*****.**'),
                ),
            MANAGERS=(
                    ('admin1', '*****@*****.**'),
                    ('admin2', '*****@*****.**'),
                    ('manager1', '*****@*****.**'), 
                    ('manager2', '*****@*****.**'),
                    ('recipient1', '*****@*****.**'), 
                    ('recipient2', '*****@*****.**'),
                )):
            self.backend.register(
                    'bob', '*****@*****.**', request=self.mock_request
                )

            self.assertEqual(len(mail.outbox), 1)
            self.assertEqual(sorted(mail.outbox[0].to), sorted([
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                ]))
 def setUp(self):
     self.backend = DefaultRegistrationBackend()
     self.mock_request = mock_request()
Exemplo n.º 8
0
 def setUp(self):
     self.backend = DefaultRegistrationBackend()
     self.mock_request = mock_request()