Beispiel #1
0
def test_app_wrong_env(monkeypatch):
    # Given: not existing env set as a env variable in a system.
    monkeypatch.setenv('APP_ENV', 'wrong_env')

    # When: we create an instance of the app with this env.
    # Then: we receive EnvironmentError.
    with pytest.raises(EnvironmentError):
        create_app()
Beispiel #2
0
 def __call__(self, app, *args, **kwargs):
     with create_app().app_context():
         query = db.session.query(Role).all()
         if not query:
             db.session.add(Role(role_name="superuser"))
             db.session.add(Role(role_name="user"))
             db.session.commit()
             print("Roles have been created.")
     return Server.__call__(self, app, *args, **kwargs)
Beispiel #3
0
    def profile(length, profile_dir):
        from werkzeug.contrib.profiler import ProfilerMiddleware

        from core import create_app
        app = create_app()
        app.wsgi_app = ProfilerMiddleware(app.wsgi_app,
                                          restrictions=(length, ),
                                          profile_dir=profile_dir)
        app.run(debug=False)
Beispiel #4
0
def load_app(config_name='dev'):
    import config
    from core import create_app
    configuration = {
        'dev': config.DevelopmentConfig,
        'test': config.TestingConfig
    }
    app = create_app(configuration.get(config_name, config.DevelopmentConfig))
    return app
Beispiel #5
0
    def setUp(self):
        app = create_app(TestingConfig)
        self.test_db_file = tempfile.mkstemp()[1]
        app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + self.test_db_file
        app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

        with app.app_context():
            db.create_all()

        app.app_context().push()
        self.app = app.test_client()
Beispiel #6
0
    def setUp(self):
        self.app = create_app()
        self.app_context = self.app.app_context()
        self.app_context.push()
        self.provider = plugins.get_plugin(
            StaticProviders.crossref_event_data).PROVIDER

        db.create_all()
        for uri_id, uri_raw in dois_all:
            db.session.add(Uri(id=uri_id, raw=uri_raw))

        db.session.commit()
Beispiel #7
0
def app(monkey_session) -> Flask:
    """A testing instance of the Flask application."""

    monkey_session.setenv('APP_ENV', 'testing')
    app = create_app()

    # Creates in memory tables..
    with app.app_context():
        db.create_all()

    yield app

    # Drops from memory tables.
    with app.app_context():
        db.drop_all()
Beispiel #8
0
def base_setup():
    """
    This function prepares and destruct the flask application and the database
    before and after each test.
    All lines before the yield statement will be executed before the tests
    and each line after the yield statement will be called at the end of the tests
    """
    app, _ = create_app(config_file="config_test.ini", test=True)
    app_context = app.app_context()
    app_context.push()
    create_testEnv(app, db)
    client = app.test_client()

    yield app, app_context, db, client

    db.session.remove()
    db.drop_all()
    app_context.pop()
Beispiel #9
0
    def start_job(self, **kwargs):
        from core import create_app, db
        from core.jobs.models import JobExecute

        self.app, _ = create_app(True)
        self.db = db
        self.app.app_context().push()
        triggered = datetime.now()
        current_time = triggered.strftime("%H:%M:%S")
        logManager.info("Run " + self.name + " " + current_time)

        je = None
        if 'job_execution_id' in kwargs:
            je = JobExecute.query.filter_by(
                id=kwargs['job_execution_id']).first()

        if je is None:
            je = JobExecute()
            je.workspace = self.workspace
            je.triggered_by = "Cron"
            je.triggered_on = triggered
            je.name = self.job_key
            self.db.session.add(je)
            self.db.session.commit()

        try:
            self.run(**kwargs)
            je.state = "SUCCEED"
            je.results = {"hjsadhj": "jklsajdklas"}
        except Exception as e:
            je.state = "FAILED"
            print(e)

        after = datetime.now()
        delta = after - triggered
        je.lifetime = delta.total_seconds()
        self.db.session.commit()
Beispiel #10
0
from core import create_app

if __name__ == "__main__":
    app = create_app("config.Development")
    app.run()
Beispiel #11
0
from core import create_app

#update those values
app = create_app(
    config_name=dict(SECRET_KEY="put a complex random string here",
                     STEAM_KEY="<your steam api key"))
Beispiel #12
0
from core import create_app
from config import Config
from core.views import uber
from dotenv import load_dotenv

load_dotenv()

flask_app = create_app(Config)
flask_app.register_blueprint(uber)

if __name__ == "__main__":
    flask_app.run()
Beispiel #13
0
    def setUp(self):

        app = create_app()
        self.app = app

        self.client = app.test_client()
Beispiel #14
0
# !/usr/bin/env python

import os
# class for handling a set of commands
from flask_script import Manager
from flask_migrate import (Migrate, MigrateCommand)
from core import (db, create_app, models)


app = create_app('production')
migrate = Migrate(app, db)
manager = Manager(app)

manager.add_command('db', MigrateCommand)


if __name__ == '__main__':
    manager.run()
    
Beispiel #15
0
from celery import Celery
from flask import current_app

import settings
from core import create_app
from modules.routines.beat import FlaskBeat


def make_celery(app):
    celery = Celery(
        app.import_name,
    )
    celery.conf.update(app.config)

    class ContextTask(celery.Task):
        def __call__(self, *args, **kwargs):
            with app.app_context():
                return self.run(*args, **kwargs)

    celery.Task = ContextTask
    celery.Beat = celery.subclass_with_self(FlaskBeat)
    return celery


app = current_app if current_app else create_app(settings)

celery_app = make_celery(app=app)

Beispiel #16
0
import core
import uvicorn

app = core.create_app()
if __name__ == '__main__':
    uvicorn.run(
        "main:app",
        port=8001,
        workers=2,
        # ssl_version=ssl.PROTOCOL_SSLv23,
        # ssl_keyfile='./core/certs/rootCA-key.pem',
        # ssl_certificate='./core/certs/rootCA.pem',
    )
Beispiel #17
0
 def setUp(self):
     self.app = create_app()
     self.app_context = self.app.app_context()
     self.app_context.push()
Beispiel #18
0
Foundation, either version 3 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see <http://www.gnu.org/licenses/>.
"""

__authors__ = ["Marcus Drobisch"]
__contact__ = "*****@*****.**"
__credits__ = []
__license__ = "GPLv3"

from core import create_app, db
from devEnv import create_devEnv
from core.nodes import nodeManager

app, is_database_new = create_app()

print()
print(app.url_map)

with app.app_context():
    if is_database_new:
        create_devEnv(app, db)

if __name__ == '__main__':
    app.run()
Beispiel #19
0
import pytz
import unittest
import logging
import datetime
from flask import url_for
from bcrypt import checkpw
from datetime import timedelta, timezone
from time import sleep

from core import create_app
from core.database import User, Task, db

logger = logging.getLogger(__name__)

app = create_app(test_config=True)


class TestBase(unittest.TestCase):
    @staticmethod
    def request(json_data, endpoint, method='post'):
        client = app.test_client()
        method_func = client.post if method == 'post' else client.get
        with app.test_request_context():
            url = url_for(endpoint)
            response = method_func(url, json=json_data)
        data = response.get_json()

        return response, data


class TestRegistrationErrors(TestBase):
Beispiel #20
0
from core import create_app

if __name__ == "__main__":
    create_app().run(debug=True)
Beispiel #21
0
 def run(self):
     import settings
     app = create_app(settings)
     with app.app_context():
         return super(FlaskBeat, self).run()
Beispiel #22
0
import os

from core import create_app
from decouple import config

env = config("FLASK_ENV")
app = create_app(env)

if __name__ == "__main__":
    app.run(debug=True)
Beispiel #23
0
from core import create_app
from config import Dev
from flask_peewee.db import Database

app = create_app(Dev)
db = Database(app)

if __name__ == '__main__':
    app.run(port=8080)
Beispiel #24
0
# _*_coding:utf-8_*_
"""
Project: python-fullstack
Author: Byron Hai
Date: 2020/11/3
"""

from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from core import create_app, db
from core.models import User, Book

app = create_app("development")
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)

if __name__ == "__main__":
    manager.run()
Beispiel #25
0
import os
from core import create_app
from flask.ext.script import Manager

app = create_app('dev')
manager = Manager(app)

if __name__ == "__main__":
    manager.run()
Beispiel #26
0
import os
from core import create_app

app = create_app(os.getenv('APP_SETTINGS') or 'default')

if __name__ == '__main__':
    app.run()
Beispiel #27
0
import os
from core import create_app
from flask.ext.script import Manager


app = create_app('dev')
manager = Manager(app)


if __name__ == "__main__":
    manager.run()
Beispiel #28
0
class BaseTestCase(TestCase):
    app = create_app(TestingConfig)
    client = app.test_client()
    db = db.database
    ctx = app.app_context()
    api_url_base = TestingConfig.API_URL_BASE
    password_salt = TestingConfig.USER_PASSWORD_SALT
    login_timeout = TestingConfig.USER_LOGIN_TIMEOUT

    def reset_database(self):
        from core.models import User, tables
        from core.models.permission import (preset_for_author,
                                            preset_for_superuser)

        with self.ctx:
            db.database.drop_tables(tables, safe=True)
            db.database.create_tables(tables)

            User.create(id='su',
                        permission=preset_for_superuser,
                        password='******',
                        name='超级管理员')
            User.create(id='author',
                        permission=preset_for_author,
                        password='******',
                        name='作者')

    def get_timestamp(self):
        from time import time
        return int(time() * 1000)

    def encode_password(self, plain_password, timestamp=None):
        from hashlib import sha1
        raw = (plain_password + self.password_salt).encode('utf-8')
        cipher = sha1(raw).hexdigest()
        if timestamp is not None:
            cipher = sha1((cipher + str(timestamp)).encode()).hexdigest()
        return cipher

    def login(self, user_id):
        from flask_login import encode_cookie

        with self.client.session_transaction():
            self.client.set_cookie(self.app.config['SERVER_NAME'],
                                   'remember_token', encode_cookie(user_id))

    def logout(self):
        with self.client.session_transaction() as session:
            self.client.delete_cookie(self.app.config['SERVER_NAME'],
                                      'remember_token')
            session.pop('user_id', None)
            session.pop('_fresh', None)

    def login_as_su(self):
        return self.login('su')

    def login_as_author(self):
        return self.login('author')

    def get_json(self, resp):
        from json import loads
        return loads(resp.data.decode())

    def toggle_sql_echo(self):
        if logger.level == 0:
            logger.setLevel(logging.DEBUG)
        else:
            logger.setLevel(logging.WARNING)

    def assertResponseOk(self, resp):
        self.assertEqual(resp.status_code, 200)

    def assertResponseRestful(self, resp):
        self.assertResponseOk(resp)
        self.assertEqual(resp.content_type, 'application/json')

    def assertResponseRestfulAndSuccess(self, resp):
        self.assertResponseRestful(resp)
        self.assertIsNone(self.get_json(resp)['$errors'])

    def assertJSONHasKey(self, resp_or_dict, key):
        if isinstance(resp_or_dict, dict):
            json = resp_or_dict
        else:
            json = self.get_json(resp_or_dict)
        self.assertIn(key, json)

    def assertResponseErrorInField(self, resp, error_field):
        self.assertResponseRestful(resp)
        json = self.get_json(resp)['$errors']
        self.assertIsInstance(json, dict)
        self.assertIn(error_field, json)
Beispiel #29
0
from core import create_app
from config import app_config
from flask_login import LoginManager

flask_app = create_app(app_config)
login_manager = LoginManager()
login_manager.init_app(flask_app)
Beispiel #30
0
from core import create_app

app = create_app()

if __name__ == '__main__':
    app.run(debug=True)
Beispiel #31
0
def _make_context():
    return dict(app=create_app(),
                db=db,
                models=models,
                User=User,
                Category=Category)