def test_openid_response__unknown_mode(self, openid_failure): from nuorisovaalit.views.login import openid_response request = DummyRequest() openid_response(request) self.failUnless(openid_failure.called) self.assertEquals(((request,), {}), openid_failure.call_args)
def test_openid_response__unsuccessful(self, make_consumer, openid_failure): from nuorisovaalit.views.login import openid_response response = mock.Mock() response.status = None consumer = mock.Mock() consumer.complete.return_value make_consumer.return_value = consumer request = DummyRequest({'openid.mode': 'id_res'}) openid_response(request) self.assertEquals(((request,), {}), openid_failure.call_args)
def test_openid_response__invalid_user(self, make_consumer, openid_failure): from nuorisovaalit.views.login import openid_response from openid.consumer.consumer import SUCCESS response = mock.Mock() response.status = SUCCESS response.identity_url = u'http://matti.meikalainen.oid.fi' consumer = mock.Mock() consumer.complete.return_value = response make_consumer.return_value = consumer request = DummyRequest({'openid.mode': 'id_res'}) openid_response(request) self.assertEquals(((request,), {}), openid_failure.call_args)
def test_openid_response__cancel(self): from nuorisovaalit.views.login import openid_response request = DummyRequest({'openid.mode': 'cancel'}) response = openid_response(request) self.assertEquals(response.status, '200 OK') self.failUnless('<h2>Tunnistautuminen keskeytettiin.</h2>' in response.body)
def test_openid_response__already_voted(self, make_consumer, openid_failure): from datetime import datetime from nuorisovaalit.models import District from nuorisovaalit.models import School from nuorisovaalit.models import Voter from nuorisovaalit.models import VotingLog from nuorisovaalit.views.login import openid_response from openid.consumer.consumer import SUCCESS from pyramid.url import route_url from webob.exc import HTTPFound self.config.add_route('vote-finish', '/valmis') self.config.add_route('select', '/valitse') session = DBSession() # Add the needed records. district = District(u'district', 1) school = School(u'Mynämäen koulu', district) school.id = 1 district.schools.append(school) session.add(district) openid_url = u'http://matti.meikalainen.oid.fi' # Add a voter to the session. voter = Voter(openid_url, u'Matti', u'Meikäläinen', datetime.now(), None, None, None, school) session.add(voter) session.flush() # Add a vote for the user. session.add(VotingLog(voter.id)) response = mock.Mock() response.status = SUCCESS response.identity_url = openid_url consumer = mock.Mock() consumer.complete.return_value = response make_consumer.return_value = consumer request = DummyRequest({'openid.mode': 'id_res'}) response = openid_response(request) self.assertTrue(isinstance(response, HTTPFound)) self.assertEquals(route_url('vote-finish', request), response.location)