def __init__(self, config, dumpfile): from inbox.server.models import InboxSession from inbox.server.models.ignition import engine # Set up test database self.session = InboxSession(versioned=False) self.engine = engine self.config = config self.dumpfile = dumpfile # Populate with test data self.populate()
def start(): g.db_session = InboxSession() g.log = current_app.logger try: g.namespace = g.db_session.query(Namespace) \ .filter(Namespace.public_id == g.namespace_public_id).one() except NoResultFound: return err( 404, "Couldn't find namespace with id `{0}` ".format( g.namespace_public_id)) try: g.lens = Lens( namespace_id=g.namespace.id, subject=request.args.get('subject'), thread_public_id=request.args.get('thread'), to_addr=request.args.get('to'), from_addr=request.args.get('from'), cc_addr=request.args.get('cc'), bcc_addr=request.args.get('bcc'), any_email=request.args.get('any_email'), started_before=request.args.get('started_before'), started_after=request.args.get('started_after'), last_message_before=request.args.get('last_message_before'), last_message_after=request.args.get('last_message_after'), filename=request.args.get('filename'), tag=request.args.get('tag'), detached=True) g.lens_limit = request.args.get('limit') g.lens_offset = request.args.get('offset') except ValueError as e: return err(400, e.message)
class TestDB(object): def __init__(self, config, dumpfile): from inbox.server.models import InboxSession from inbox.server.models.ignition import engine # Set up test database self.session = InboxSession(versioned=False) self.engine = engine self.config = config self.dumpfile = dumpfile # Populate with test data self.populate() def populate(self): """ Populates database with data from the test dumpfile. """ database = self.config.get('MYSQL_DATABASE') user = self.config.get('MYSQL_USER') password = self.config.get('MYSQL_PASSWORD') cmd = 'mysql {0} -u{1} -p{2} < {3}'.format(database, user, password, self.dumpfile) subprocess.check_call(cmd, shell=True) def new_session(self, ignore_soft_deletes=True): from inbox.server.models import InboxSession self.session.close() self.session = InboxSession(versioned=False, ignore_soft_deletes=ignore_soft_deletes) def destroy(self): """ Removes all data from the test database. """ self.session.close() drop_everything(self.engine) def save(self): """ Updates the test dumpfile. """ database = self.config.get('MYSQL_DATABASE') cmd = 'mysqldump {0} > {1}'.format(database, self.dumpfile) subprocess.check_call(cmd, shell=True)
def new_session(self, ignore_soft_deletes=True): from inbox.server.models import InboxSession self.session.close() self.session = InboxSession(versioned=False, ignore_soft_deletes=ignore_soft_deletes)