class entity_repository_spec(): map_entities() def setup(self): self.session = mock() self.repository = entity_repository(self.session) self.msg = entity("Field1 data", "Field1 data") def should_load_instances(self): query = mock() filtered_query = mock() when(self.session).query(entity).thenReturn(query) when(query).filter(any()).thenReturn(filtered_query) when(filtered_query).first().thenReturn(self.msg) assert self.repository.load(1) == self.msg def should_save_instances(self): self.repository.save(self.msg) verify(self.session).add(self.msg) verify(self.session).commit() def should_delete_instances(self): self.repository.remove(self.msg) verify(self.session).delete(self.msg) verify(self.session).commit() def should_list_instances(self): query = mock() when(self.session).query(entity).thenReturn(query) when(query).all().thenReturn([self.msg]) assert self.repository.list() == [self.msg]
# Copyright (c) 2010 Pedro Matiello <*****@*****.**> """ Database utils. """ from config.database import database_uri from config.schema import map_entities from sqlalchemy import create_engine from sqlalchemy.orm.session import sessionmaker _engine = create_engine(database_uri) session_factory = sessionmaker(bind=_engine) if __name__ == "__main__": metadata = map_entities() metadata.create_all(_engine)
# Copyright (c) 2010 Pedro Matiello <*****@*****.**> """ Application entry-point. """ import tornado.httpserver import tornado.ioloop from config.routes import application from config.schema import map_entities if __name__ == "__main__": print "Server started" map_entities() http_server = tornado.httpserver.HTTPServer(application) http_server.listen(8080) tornado.ioloop.IOLoop.instance().start()