Example #1
0
def make_app():
    http_origins = os.getenv("CORS_URLS",
                             ",".join([
                                      "http://localhost:8081",
                                      ])).split(",")
    ws_origins = [url_to_ws_origins(u) for u in http_origins]

    db_url = orm_utils.heroku_db_url(
        os.getenv('CLEARDB_DATABASE_URL',
                  options.db_url))

    engine = db_connection.register_db(db_url, [Base])
    if options.debug:
        orm_utils.create_all(Base, engine)

    handlers = [
        (r'/websocket', RpcWebsocket, {'ws_origins': ws_origins}),
        (r'/api(.*)', RpcHandler, {'http_origins': http_origins,
                                   'ws_url': 'ws://localhost:8081/websocket' }),
        (r'/logout', LogoutHandler),
        (r'/(.*)', LoginHandler)
    ]

    return tornado.web.Application(
        handlers,
        services=Service.describe(actions),
        broadcast_queue=None,
        template_path=resource_filename('spddo.auth', 'templates'),
        cookie_name='spddo-auth',
        cookie_secret='-it-was-a-dark-and-auth-night-',
        login_url='/api/login',
        micro_context=Context,
        allow_exception_messages=options.debug,
        gzip=True,
        debug=options.debug)
Example #2
0
def make_app():
    http_origins = os.getenv("CORS_URLS",
                             ",".join([
                                 "http://localhost:8080",
                             ])).split(",")
    ws_origins = [url_to_ws_origins(u) for u in http_origins]

    db_url = orm_utils.heroku_db_url(
        os.getenv('CLEARDB_DATABASE_URL', options.db_url))

    engine = db_connection.register_db(db_url, [Base])
    if options.debug:
        orm_utils.create_all(Base, engine)

    if options.debug:
        site_path = resource_filename('spddo', 'subs')
    else:
        site_path = resource_filename('spddo.subs', 'dist')

    handlers = [
        (r'/websocket', RpcWebsocket, {
            'ws_origins': ws_origins,
            'ws_url': 'ws://localhost:8080/websocket'}),
        (r'/rpc(.*)', RpcHandler, {'http_origins': http_origins}),
        (r'/logout', LogoutHandler),
        (r'/(.*)', tornado.web.StaticFileHandler, {
            'path': site_path,
            'default_filename': 'index.html'
        })
    ]

    micro_pool = ProcessPoolExecutor(3)
    pool_init(micro_pool)
    if options.debug:
        tornado.autoreload.add_reload_hook(micro_pool.shutdown)

    return tornado.web.Application(
        handlers,
        services=Service.describe(actions),
        broadcast_queue=None,
        cookie_name='spddo-mongo',
        cookie_secret='-it-was-a-dark-and-mongo-night-',
        ws_url=os.getenv('ws_url', 'ws://localhost:8080/websocket'),
        login_url='/api/login',
        micro_context=Context,
        allow_exception_messages=options.debug,
        gzip=True,
        debug=options.debug)
Example #3
0
from blueshed.micro.orm.db_connection import register_db
from blueshed.micro.orm import db_connection
import spddo.subs.model as subs_model
import spddo.auth.model as auth_model


register_db(
    "mysql+pymysql://root:root@localhost:8889/subs", [subs_model.Base])
register_db(
    "mysql+pymysql://root:root@localhost:8889/auth", [auth_model.Base])


def test_create():
    with db_connection.session() as session:
        subs_user = subs_model.User(
            name="foo", email="*****@*****.**", password="******")
        session.add(subs_user)
        auth_user = auth_model.User(
            name="bar", email="*****@*****.**", password="******")
        session.add(auth_user)
        session.commit()


def test_fetch():
    with db_connection.session() as session:
        subs_user = session.query(
            subs_model.User).filter_by(name="foo").first()
        assert subs_user.email == "*****@*****.**"
        auth_user = session.query(
            auth_model.User).filter_by(name="bar").first()
        assert auth_user.email == "*****@*****.**"