Skip to content

Instantly share code, notes, and snippets.

@jasonamyers
Last active December 18, 2015 07:09
Show Gist options
  • Save jasonamyers/5744463 to your computer and use it in GitHub Desktop.
Save jasonamyers/5744463 to your computer and use it in GitHub Desktop.
mport os
import unittest
from mock import Mock
from pyramid import testing
from paste.deploy.loadwsgi import appconfig
from sqlalchemy import engine_from_config
from sqlalchemy.orm import sessionmaker
from sucratrend.models.base import Base, DBSession
here = os.path.dirname(__file__)
settings = appconfig('config:' + os.path.join(here, '../..', 'test.ini'))
class BaseTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.engine = engine_from_config(settings, prefix='sqlalchemy.')
cls.Session = sessionmaker()
def setUp(self):
self.connection = self.engine.connect()
self.trans = self.connection.begin()
# Base.metadata.create_all(self.engine)
DBSession.configure(bind=self.connection)
self.session = self.Session(bind=self.connection)
Base.session = self.session
def tearDown(self):
self.trans.rollback()
self.session.close()
testing.tearDown()
class UnitTestBase(BaseTestCase):
def setUp(self):
self.config = testing.setUp(request=testing.DummyRequest())
super(UnitTestBase, self).setUp()
def get_csrt_request(self, post=None):
csrf = 'abc'
if not u'csrf_token' in post.keys():
post.update({
'csrf_token': csrf
})
request = testing.DummyRequest(post)
request.session = Mock()
csrf_token = Mock()
csrf_token.return_value = csrf
request.session.get_csrf_token = csrf_token
return request
from sucratrend.tests.basetestcase import UnitTestBase
from sucratrend.models.auth import Roles
class TestRoles(UnitTestBase):
def test_get_role_by_id(self):
role1 = Roles(name='user', description='normal user')
role2 = Roles(name='admin', description='admin user')
self.session.add(role1)
self.session.add(role2)
self.session.flush()
role = Roles.by_id(2)
self.assertEquals(role.name, 'admin')
self.assertEquals(role.description, 'admin user')
def test_get_all_roles(self):
role1 = Roles(name='user', description='normal user')
role2 = Roles(name='admin', description='admin user')
self.session.add(role1)
self.session.add(role2)
self.session.flush()
roles = Roles.get_roles()
self.assertEquals(len(roles), 2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment