def get_logstream(request): if not request.usr: return [] n = 10 txts = DBSession.query(Txt).\ order_by(Txt.creation_timestamp.desc()).\ limit(n) annotations = DBSession.query(Annotation).\ order_by(Annotation.creation_timestamp.desc()).\ limit(n) log = [] for txt in txts: log.append(LogEntry(request, 'add_txt', txt.creator, txt)) for annotation in annotations: log.append(LogEntry(request, 'add_annotation', annotation.creator, annotation)) log.sort(key=lambda x: x.data.creation_timestamp, reverse=True) return log[:n]
def test_add(self): from h2g2m.views.txt import add from h2g2m.models.tables import Usr request = testing.DummyRequest() request.usr = DBSession.query(Usr).first() info = add(request) self.assertIsNotNone(info['form'])
def tearDown(self): DBSession.remove() testing.tearDown()
def setUp(self): self.config = testing.setUp() from sqlalchemy import create_engine engine = create_engine('sqlite://') from h2g2m.models.tables import ( Base, Grp, Usr, Txt, ) DBSession.configure(bind=engine) Base.metadata.create_all(engine) with transaction.manager: adm_grp = Grp(name='hitchhiker') DBSession.add(adm_grp) DBSession.flush() creator = Usr(login='******', nickname='hitchhiker', language='English', passwd='tester', grp_id=adm_grp.id) DBSession.add(creator) DBSession.flush() model = Txt(title='Calculus 1', edition='1', isbn='1337', creator=creator, language='English') DBSession.add(model)