def _initTestingDB(): from mymain.models import DBSession from mymain.models import Base from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') DBSession.configure(bind=engine) Base.metadata.bind = engine Base.metadata.create_all(engine) return DBSession
def edit_page(request): name = request.matchdict['pagename'] session = DBSession() page = session.query(Page).filter_by(name=name).one() if 'form.submitted' in request.params: page.data = request.params['body'] session.add(page) return HTTPFound(location = request.route_url('view_page', pagename=name)) logged_in = authenticated_userid(request) return dict(page=page, save_url=request.route_url('edit_page', pagename=name),logged_in = logged_in)
def add_page(request): name = request.matchdict['pagename'] if 'form.submitted' in request.params: session = DBSession() body = request.params['body'] page = Page(name, body) session.add(page) return HTTPFound(location = request.route_url('view_page', pagename=name)) save_url = request.route_url('add_page', pagename=name) page = Page('', '') logged_in = authenticated_userid(request) return dict(page=page, save_url=save_url, logged_in = logged_in)
def test_it(self): from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') self._callFUT(engine) from mymain.models import DBSession, Page self.asserEqual(DBSession.query(Page).one().data, 'This is the front page')
def view_page(request): pagename = request.matchdict['pagename'] session = DBSession() page = session.query(Page).filter_by(name=pagename).first() if page is None: return HTTPNotFound('No such page') def check(match): word = match.group(1) exists = session.query(Page).filter_by(name=word).all() if exists: view_url = request.route_url('view_page', pagename=word) return '<a href="%s">%s</a>' % (view_url, word) else: add_url = request.route_url('add_page', pagename=word) return '<a href="%s">%s</a>' % (add_url, word) content = publish_parts(page.data, writer_name='html')['html_body'] content = wikiwords.sub(check, content) edit_url = request.route_url('edit_page', pagename=pagename) logged_in = authenticated_userid(request) return dict(page=page, content=content, edit_url=edit_url, logged_in=logged_in)
def tearDown(self): from mymain.models import DBSession DBSession.remove()
def setUp(self): from mymain.models import DBSession DBSession.remove()
def tearDown(self): del self.testapp from mymain.models import DBSession DBSession.remove()