Exemple #1
0
def init_db():
    """ Make the tables.

    This is called only from create_db.py, which is run during setup.
    Previously we allowed this to run everytime on startup, which broke some
    alembic revisions by creating new tables before a migration was run.
    From now on, we should ony be creating tables+columns via SQLalchemy *once*
    and all subscequent changes done via migration scripts.
    """
    from inbox.server.models.tables.base import register_backends
    table_mod_for = register_backends()

    Base.metadata.create_all(engine)

    return table_mod_for
Exemple #2
0
def init_db():
    """ Make the tables.

    This is called only from create_db.py, which is run during setup.
    Previously we allowed this to run everytime on startup, which broke some
    alembic revisions by creating new tables before a migration was run.
    From now on, we should ony be creating tables+columns via SQLalchemy *once*
    and all subscequent changes done via migration scripts.
    """
    from inbox.server.models.tables.base import register_backends
    table_mod_for = register_backends()

    Base.metadata.create_all(engine)

    return table_mod_for
Exemple #3
0
import logging

from inbox.server.log import get_logger
inbox_logger = get_logger(purpose='api')

# Override default werkzeug before it starts up
werkzeug_log = logging.getLogger('werkzeug')
for handler in werkzeug_log.handlers:
    werkzeug_log.removeHandler(handler)
werkzeug_log.addHandler(inbox_logger)

from flask import Flask, request

from inbox.server.models.tables.base import register_backends, Namespace
table_mod_for = register_backends()
from inbox.server.models import session_scope
from inbox.server.models.kellogs import jsonify

from ns_api import app as ns_api

app = Flask(__name__)
app.register_blueprint(ns_api)  # /n/<namespace_id>/...

# Set flask logger as ours
for handler in app.logger.handlers:
    app.logger.removeHandler(handler)
app.logger.addHandler(inbox_logger)


@app.before_request
def auth():
Exemple #4
0
import pytest
import datetime

from tests.util.base import config
config()

from inbox.server.mailsync.hooks import default_hook_manager
from inbox.server.models.tables.base import Contact, Message, register_backends
register_backends()

ACCOUNT_ID = 1


@pytest.fixture
def message():
    received_date = datetime.datetime.utcfromtimestamp(10**9 + 1)
    return Message(from_addr=('Some Dude', '*****@*****.**'),
                   to_addr=(('Somebody Else', '*****@*****.**'),),
                   cc_addr=(('A Bystander', '*****@*****.**'),),
                   bcc_addr=(('The NSA', '*****@*****.**'),),
                   received_date=received_date)

@pytest.fixture
def gmail_message():
    received_date = datetime.datetime.utcfromtimestamp(10**9 + 1)
    return Message(to_addr=((u'Somebody ', u'*****@*****.**'),
                            (u'The same person', u'*****@*****.**')),
                   received_date=received_date)


def test_canonicalization(config, gmail_message, db):
Exemple #5
0
from inbox.server.log import get_logger

inbox_logger = get_logger(purpose="api")

# Override default werkzeug before it starts up
werkzeug_log = logging.getLogger("werkzeug")
for handler in werkzeug_log.handlers:
    werkzeug_log.removeHandler(handler)
werkzeug_log.addHandler(inbox_logger)

from flask import Flask, request

from inbox.server.models.tables.base import register_backends, Namespace

table_mod_for = register_backends()
from inbox.server.models import session_scope
from inbox.server.models.kellogs import jsonify

from ns_api import app as ns_api

app = Flask(__name__)
app.register_blueprint(ns_api)  # /n/<namespace_id>/...

# Set flask logger as ours
for handler in app.logger.handlers:
    app.logger.removeHandler(handler)
app.logger.addHandler(inbox_logger)


@app.before_request
Exemple #6
0
import pytest
import datetime
import calendar

from tests.data.messages.message import (subject, delivered_to, sender,
                                         to_addr, from_addr, received_date)
from tests.util.base import config
config()

from inbox.server.models.tables.base import register_backends, Lens
register_backends()

NAMESPACE_ID = 1


def test_lens_db_filter(db):
    filter = Lens(namespace_id=NAMESPACE_ID, subject=subject)
    assert filter.message_query(db.session).count() == 1
    assert filter.thread_query(db.session).count() == 1

    filter = Lens(namespace_id=NAMESPACE_ID, any_email=delivered_to)
    assert filter.message_query(db.session).count() > 1
    assert filter.thread_query(db.session).count() > 1

    filter = Lens(namespace_id=NAMESPACE_ID, any_email=sender)
    assert filter.message_query(db.session).count() == 1
    assert filter.thread_query(db.session).count() == 1

    early_time = received_date - datetime.timedelta(hours=1)
    late_time = received_date + datetime.timedelta(hours=1)
    early_ts = calendar.timegm(early_time.utctimetuple())