示例#1
0
    def setUp(self):
        self.log_mock = MagicMock()
        self.user = UserFactory.create()

        mock_messages = patch('pontoon.base.adapter.messages')
        self.mock_messages = mock_messages.start()
        self.addCleanup(mock_messages.stop)

        self.adapter = PontoonSocialAdapter()
示例#2
0
def social_adapter0(request, user0):
    log_mock = MagicMock()
    adapter = PontoonSocialAdapter()
    sociallogin = _get_sociallogin(user0, 'fxa')
    mock_messages = patch('pontoon.base.adapter.messages')
    mock_messages = mock_messages.start()
    request.addfinalizer(mock_messages.stop)
    return user0, adapter, sociallogin, log_mock, mock_messages
示例#3
0
class AdapterPreLoginTestCase(BaseTestCase):
    """
    We have to support customized adapter during the transition of accounts between
    fxa and persona.
    """
    def setUp(self):
        self.log_mock = MagicMock()
        self.user = UserFactory.create()

        mock_messages = patch('pontoon.base.adapter.messages')
        self.mock_messages = mock_messages.start()
        self.addCleanup(mock_messages.stop)

        self.adapter = PontoonSocialAdapter()

    def get_sociallogin(self, provider):
        """
        Returns an ready sociallogin object for the given auth provider.
        """
        self.sociallogin = SocialLogin()
        self.socialaccount = SocialAccount(
            user=self.user,
            uid='1234',
            provider=provider,
        )
        self.socialaccount.extra_data = {
            'email': self.user.email,
        }
        self.sociallogin.account = self.socialaccount
        return self.sociallogin

    def test_connect_normal_auth_account(self):
        self.log_mock.return_value = False

        self.adapter.pre_social_login(MagicMock(), self.get_sociallogin('fxa'))

        assert_true(self.sociallogin.account.pk)
        assert_equal(self.sociallogin.user, self.user)

    def test_connect_existing_persona_account(self):
        self.log_mock.side_effect = lambda provider: provider == 'persona'

        self.adapter.pre_social_login(MagicMock, self.get_sociallogin('fxa'))

        assert_true(self.sociallogin.account.pk)
        assert_equal(self.sociallogin.user, self.user)

    def test_already_connected_accounts(self):
        self.log_mock.return_value = True

        self.adapter.pre_social_login(MagicMock, self.get_sociallogin('fxa'))
        assert_false(self.mock_messages.called)
示例#4
0
def social_adapter0(request, user_a):
    log_mock = MagicMock()
    adapter = PontoonSocialAdapter()
    sociallogin = _get_sociallogin(user_a, "fxa")
    return user_a, adapter, sociallogin, log_mock