Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
 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)