Beispiel #1
0
def create_app():
    app = Flask(__name__)
    app.config.from_object(settings)

    DB.init_app(app)
    redis_store.init_app(app)
    routes.configure_routes(app)
    configure_login(app)
    configure_logger(app)

    app.jinja_env.filters['json'] = json.dumps
    app.config['CDN_DOMAIN'] = settings.CDN_URL
    app.config['CDN_HTTPS'] = True
    cdn.init_app(app)

    if not app.debug and not app.testing:
        configure_ssl_redirect(app)

    Limiter(
        app,
        key_func=get_ipaddr,
        global_limits=[settings.RATE_LIMIT],
        storage_uri=settings.REDIS_RATE_LIMIT
    )

    return app
Beispiel #2
0
def create_app():
    app = Flask(__name__)
    app.config.from_object(settings)

    DB.init_app(app)
    redis_store.init_app(app)
    routes.configure_routes(app)
    configure_login(app)
    configure_logger(app)

    app.jinja_env.filters['json'] = json.dumps

    def epoch_to_date(s):
        import datetime
        return datetime.datetime.fromtimestamp(s).strftime('%B %-d, %Y')

    def epoch_to_ts(s):
        import datetime
        return datetime.datetime.fromtimestamp(s).strftime('%m-%-d-%Y %H:%M')

    app.jinja_env.filters['epoch_to_date'] = epoch_to_date
    app.jinja_env.filters['epoch_to_ts'] = epoch_to_ts
    app.config['CDN_DOMAIN'] = settings.CDN_URL
    app.config['CDN_HTTPS'] = True
    cdn.init_app(app)

    if not app.debug and not app.testing:
        configure_ssl_redirect(app)

    Limiter(app,
            key_func=get_ipaddr,
            global_limits=[settings.RATE_LIMIT],
            storage_uri=settings.REDIS_RATE_LIMIT)

    return app
Beispiel #3
0
def test_weather_1():
    app = Flask(__name__)
    configure_routes(app)
    client = app.test_client()
    url = '/forecast/London'

    response = client.get(url)
    assert response.status_code == 200
Beispiel #4
0
def test_base_route():
    app = Flask(__name__)
    configure_routes(app)
    client = app.test_client()
    url = '/'

    response = client.get(url)
    assert response.get_data() == b'Hello, World!'
    assert response.status_code == 200
Beispiel #5
0
def create_app():
    app = flask.Flask(__name__)
    app.config.from_object(settings)

    DB.init_app(app)
    redis_store.init_app(app)
    routes.configure_routes(app)
    configure_login(app)

    app.jinja_env.filters['nl2br'] = lambda value: value.replace('\n','<br>\n')

    return app
Beispiel #6
0
def create_app():
    app = flask.Flask(__name__)
    app.config.from_object(settings)

    DB.init_app(app)
    redis_store.init_app(app)
    routes.configure_routes(app)
    configure_login(app)

    app.jinja_env.filters['json'] = json.dumps

    return app
Beispiel #7
0
def create_app():
    app = flask.Flask(__name__)
    app.config.from_object(settings)

    DB.init_app(app)
    redis_store.init_app(app)
    routes.configure_routes(app)
    configure_login(app)

    app.jinja_env.filters['nl2br'] = lambda value: value.replace(
        '\n', '<br>\n')

    return app
Beispiel #8
0
def test_post_route__failure__bad_request():
    app = Flask(__name__)
    configure_routes(app)
    client = app.test_client()
    url = '/post/test'

    mock_request_headers = {'authorization-sha256': '123'}

    mock_request_data = {}

    response = client.post(url,
                           data=json.dumps(mock_request_data),
                           headers=mock_request_headers)
    assert response.status_code == 400
Beispiel #9
0
def create_app():
    app = flask.Flask(__name__)
    app.config.from_object(settings)

    DB.init_app(app)
    redis_store.init_app(app)
    routes.configure_routes(app)
    configure_login(app)

    app.jinja_env.filters['json'] = json.dumps
    app.config['CDN_DOMAIN'] = settings.CDN_URL
    app.config['CDN_HTTPS'] = True
    cdn.init_app(app)
    return app
Beispiel #10
0
def create_app():
    app = flask.Flask(__name__)
    app.config.from_object(settings)

    DB.init_app(app)
    redis_store.init_app(app)
    routes.configure_routes(app)
    configure_login(app)

    app.jinja_env.filters['json'] = json.dumps
    app.config['CDN_DOMAIN'] = settings.CDN_URL
    app.config['CDN_HTTPS'] = True
    cdn.init_app(app)
    return app
Beispiel #11
0
def test_default__empty__success2():
    app = Flask(__name__)
    app.config['SECRET_KEY'] = '3b^DFxM7Z?7s3ZByu5C%JN7%8*8dbxS_'
    configure_routes(app)
    client = app.test_client()
    url = '/'

    data = {
        "page": 1,
    }

    response = client.get(url, query_string = data)
    assert response.status_code == 200
    assert b'Github Users' in response.data
    assert b'jamesgolick' not in response.data
    assert b'KirinDave' in response.data
Beispiel #12
0
def test_default__empty__success4():
    app = Flask(__name__)
    app.config['SECRET_KEY'] = '3b^DFxM7Z?7s3ZByu5C%JN7%8*8dbxS_'
    configure_routes(app)
    client = app.test_client()
    url = '/'

    data = {
        "page": 1,
        "sort": "type",
        "direction": "desc"
    }

    response = client.get(url, query_string = data)
    assert response.status_code == 200
    assert b'Github Users' in response.data
    assert b'Organization' not in response.data
Beispiel #13
0
def test_profiles__empty__not_found():
    app = Flask(__name__)
    configure_routes(app)
    client = app.test_client()
    url = '/api/profiles'

    data = {
        "sort": "username",
        "direction": "asc",
        "limit": 25,
        "page": 1,
        "username": "******"
    }

    response = client.get(url, query_string = data)
    data = json.loads(response.get_data(as_text=True))
    assert response.status_code == 404
    assert data["error"] == "no users found"
Beispiel #14
0
def test_profiles__empty__query__success():
    app = Flask(__name__)
    configure_routes(app)
    client = app.test_client()
    url = '/api/profiles'

    data = {
        "sort": "username",
        "direction": "asc",
        "limit": 25,
        "page": 1,
        "username": "******"
    }

    response = client.get(url, query_string = data)
    data = json.loads(response.get_data(as_text=True))
    assert response.status_code == 200
    assert data["total"] == 80
Beispiel #15
0
def test_post_route__failure__unauthorized():
    app = Flask(__name__)
    configure_routes(app)
    client = app.test_client()
    url = '/post/test'

    mock_request_headers = {}

    mock_request_data = {
        'request_id': '123',
        'payload': {
            'py': 'pi',
            'java': 'script'
        }
    }

    response = client.post(url,
                           data=json.dumps(mock_request_data),
                           headers=mock_request_headers)
    assert response.status_code == 401
Beispiel #16
0
def create_app():
    app = flask.Flask(__name__)
    app.config.from_object(settings)

    configure_logger(app)
    DB.init_app(app)
    csrf.init_app(app)
    redis_store.init_app(app)
    routes.configure_routes(app)
    configure_login(app)
    setup_error_handlers(app)
    setup_env_filters(app)

    app.config['CDN_DOMAIN'] = settings.CDN_URL
    app.config['CDN_HTTPS'] = True
    cdn.init_app(app)

    if settings.REQUIRE_SSL:
        SSLify(app)
    return app
Beispiel #17
0
def create_app():
    app = flask.Flask(__name__)
    app.config.from_object(settings)

    DB.init_app(app)
    redis_store.init_app(app)
    routes.configure_routes(app)
    configure_login(app)

    app.jinja_env.filters['json'] = json.dumps
    app.config['CDN_DOMAIN'] = settings.CDN_URL
    app.config['CDN_HTTPS'] = True
    cdn.init_app(app)

    Limiter(app,
            key_func=get_ipaddr,
            global_limits=[settings.RATE_LIMIT],
            storage_uri=settings.REDIS_RATE_LIMIT)

    if not app.debug and not app.testing:
        ssl_redirect(app)
    return app
Beispiel #18
0
from flask import Flask
from routes import configure_routes

app = Flask(__name__)

configure_routes(app)

# Running on port 8080
if __name__ == '__main__':
    app.run(port=8080)
def create_app():
    app = Flask(__name__)
    routes.configure_routes(app)

    return app
Beispiel #20
0
def client():
    app = Flask(__name__)
    configure_routes(app)
    client = app.test_client()
    return client