Exemplo n.º 1
0
    def setUp(self):
        super(VerifyTests, self).setUp()
        Flag.objects.create(name='voting', everyone=True)

        self.factory = RequestFactory()
        self.request = self.factory.post('/')
        self.user = UserFactory.create()

        self.request.user = self.user
        SessionMiddleware().process_request(self.request)
        self.verify = Verify(request=self.request)
Exemplo n.º 2
0
    def setUp(self):
        super(VerifyTests, self).setUp()
        Flag.objects.create(name='voting', everyone=True)

        self.factory = RequestFactory()
        self.request = self.factory.post('/')
        self.user = UserFactory.create()

        self.request.user = self.user
        SessionMiddleware().process_request(self.request)
        self.verify = Verify(request=self.request)
Exemplo n.º 3
0
class VerifyTests(TestCase):
    def setUp(self):
        super(VerifyTests, self).setUp()
        Flag.objects.create(name='voting', everyone=True)

        self.factory = RequestFactory()
        self.request = self.factory.post('/')
        self.user = UserFactory.create()

        self.request.user = self.user
        SessionMiddleware().process_request(self.request)
        self.verify = Verify(request=self.request)

    def test_login_success_no_key(self, mock_super):
        """If there is no video id in the session, do nothing."""
        response = self.verify.login_success(1, 'asdf', blah='foo')

        login_success = mock_super.return_value.login_success
        eq_(response, login_success.return_value)
        login_success.assert_called_with(1, 'asdf', blah='foo')

    def test_login_success_invalid_video(self, mock_super):
        """If the video ID is invalid, remove the session key and abort."""
        self.request.session['vote_video'] = 'asdf'
        self.verify.login_success()
        ok_('vote_video' not in self.request.session)
        ok_(not Vote.objects.filter(user=self.user).exists())

    def test_login_success_missing_video(self, mock_super):
        """
        If the video ID doesn't match an existing video, remove the session key
        and abort.
        """
        self.request.session['vote_video'] = '99999'
        self.verify.login_success()
        ok_('vote_video' not in self.request.session)
        ok_(not Vote.objects.filter(user=self.user).exists())

    def test_login_success_vote_exists(self, mock_super):
        """
        If the user has already voted for the video, remove the session key and
        do nothing.
        """
        video = VideoFactory.create()
        Vote.objects.create(user=self.user, video=video)
        self.request.session['vote_video'] = unicode(video.id)

        self.verify.login_success()
        ok_('vote_video' not in self.request.session)
        eq_(Vote.objects.filter(user=self.user, video=video).count(), 1)

    def test_login_success_no_vote(self, mock_super):
        """
        If the user hasn't voted for the video, create a vote for it and remove
        the session key.
        """
        video = VideoFactory.create()
        self.request.session['vote_video'] = unicode(video.id)

        self.verify.login_success()
        ok_('vote_video' not in self.request.session)
        eq_(Vote.objects.filter(user=self.user, video=video).count(), 1)

    def test_login_failure_no_key(self, mock_super):
        """If login fails and the user wasn't voting, do nothing."""
        response = self.verify.login_failure(1, 'asdf', foo='bar')

        login_failure = mock_super.return_value.login_failure
        eq_(response, login_failure.return_value)
        login_failure.assert_called_with(1, 'asdf', foo='bar')

    def test_login_failure_with_key(self, mock_super):
        """If the session key for voting exists when login fails, remove it."""
        self.request.session['vote_video'] = '392'
        self.verify.login_failure()
        ok_('vote_video' not in self.request.session)
Exemplo n.º 4
0
class VerifyTests(TestCase):
    def setUp(self):
        super(VerifyTests, self).setUp()
        Flag.objects.create(name='voting', everyone=True)

        self.factory = RequestFactory()
        self.request = self.factory.post('/')
        self.user = UserFactory.create()

        self.request.user = self.user
        SessionMiddleware().process_request(self.request)
        self.verify = Verify(request=self.request)

    def test_login_success_no_key(self, mock_super):
        """If there is no video id in the session, do nothing."""
        response = self.verify.login_success(1, 'asdf', blah='foo')

        login_success = mock_super.return_value.login_success
        eq_(response, login_success.return_value)
        login_success.assert_called_with(1, 'asdf', blah='foo')

    def test_login_success_invalid_video(self, mock_super):
        """If the video ID is invalid, remove the session key and abort."""
        self.request.session['vote_video'] = 'asdf'
        self.verify.login_success()
        ok_('vote_video' not in self.request.session)
        ok_(not Vote.objects.filter(user=self.user).exists())

    def test_login_success_missing_video(self, mock_super):
        """
        If the video ID doesn't match an existing video, remove the session key
        and abort.
        """
        self.request.session['vote_video'] = '99999'
        self.verify.login_success()
        ok_('vote_video' not in self.request.session)
        ok_(not Vote.objects.filter(user=self.user).exists())

    def test_login_success_vote_exists(self, mock_super):
        """
        If the user has already voted for the video, remove the session key and
        do nothing.
        """
        video = VideoFactory.create()
        Vote.objects.create(user=self.user, video=video)
        self.request.session['vote_video'] = unicode(video.id)

        self.verify.login_success()
        ok_('vote_video' not in self.request.session)
        eq_(Vote.objects.filter(user=self.user, video=video).count(), 1)

    def test_login_success_no_vote(self, mock_super):
        """
        If the user hasn't voted for the video, create a vote for it and remove
        the session key.
        """
        video = VideoFactory.create()
        self.request.session['vote_video'] = unicode(video.id)

        self.verify.login_success()
        ok_('vote_video' not in self.request.session)
        eq_(Vote.objects.filter(user=self.user, video=video).count(), 1)

    def test_login_failure_no_key(self, mock_super):
        """If login fails and the user wasn't voting, do nothing."""
        response = self.verify.login_failure(1, 'asdf', foo='bar')

        login_failure = mock_super.return_value.login_failure
        eq_(response, login_failure.return_value)
        login_failure.assert_called_with(1, 'asdf', foo='bar')

    def test_login_failure_with_key(self, mock_super):
        """If the session key for voting exists when login fails, remove it."""
        self.request.session['vote_video'] = '392'
        self.verify.login_failure()
        ok_('vote_video' not in self.request.session)