Skip to content

Instantly share code, notes, and snippets.

@jayd3e
Created July 8, 2012 04:34
Show Gist options
  • Save jayd3e/3069353 to your computer and use it in GitHub Desktop.
Save jayd3e/3069353 to your computer and use it in GitHub Desktop.
Mock Not Working
#tests
import unittest
from mock import patch
from pyramid import testing
from pyramid.httpexceptions import HTTPFound
from pyramid.httpexceptions import HTTPForbidden
from clusterflunk.views import login
from clusterflunk.views import login_complete
from clusterflunk.views import login_denied
from clusterflunk.views import posts
from clusterflunk.views import forbidden
from clusterflunk.views import register
class TestViews(unittest.TestCase):
def setUp(self):
self.config = testing.setUp()
self.request = testing.DummyRequest()
def tearDown(self):
testing.tearDown()
@patch('velruse.login_url')
def test_login(self, login_url):
response = login(self.request)
self.assertIsNot(response, None)
def test_login_complete(self):
response = login_complete(self.request)
self.assertTrue(isinstance(response, HTTPFound))
def test_login_denied(self):
response = login_denied(self.request)
self.assertIsNot(response, None)
def test_register(self):
response = register(self.request)
self.assertIsNot(response, None)
def test_posts_forbidden(self):
self.config.testing_securitypolicy(userid='jayd3e',
permissive=False)
self.assertRaises(HTTPForbidden, posts, self.request)
def test_posts_allowed(self):
self.config.testing_securitypolicy(userid='jayd3e',
permissive=True)
response = posts(self.request)
self.assertEqual(response, {})
def test_forbidden(self):
response = forbidden(self.request)
self.assertTrue(isinstance(response, HTTPFound))
self.assertEqual(response.location, '/login')
# Views.py
from velruse import login_url
from pyramid.view import view_config
from pyramid.httpexceptions import (
HTTPForbidden,
HTTPFound
)
from pyramid.security import NO_PERMISSION_REQUIRED
@view_config(route_name='login', renderer='clusterflunk:templates/login.mako', permission=NO_PERMISSION_REQUIRED)
def login(request):
return {
'facebook_login_url': login_url(request, 'facebook'),
'twitter_login_url': login_url(request, 'twitter')
}
@view_config(context='velruse.AuthenticationComplete',
permission='__no_permission_required__')
def login_complete(request):
return HTTPFound(location="/")
@view_config(context='velruse.AuthenticationDenied')
def login_denied(request):
return {}
@view_config(route_name='register', renderer='clusterflunk:templates/register.mako', permission=NO_PERMISSION_REQUIRED)
def register(request):
return {}
@view_config(route_name='index', renderer='clusterflunk:templates/posts.mako')
@view_config(route_name='posts', renderer='clusterflunk:templates/posts.mako')
def posts(request):
return {}
# exception views
@view_config(context=HTTPForbidden, permission=NO_PERMISSION_REQUIRED)
def forbidden(request):
return HTTPFound(location='/login')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment