def celery(argv, app): if argv[0] == "inspect": from sea.contrib.extensions.celery import empty_celeryapp empty_celeryapp.load_config(app) sys.argv = ( ["celery"] + ["-A", "sea.contrib.extensions.celery.empty_celeryapp.capp"] + argv) else: create_app() sys.argv = (["celery"] + ["-A", "app.extensions:{app}".format(app=app)] + argv) return celerymain()
def _run(root): # show help message when user run sea command directly args = sys.argv[1:] or ['--help'] known, argv = root.parse_known_args(args) kwargs = vars(known) handler = kwargs.pop('handler') os.environ.setdefault('SEA_ENV', handler.env) if handler.inapp: create_app() try: if handler.proxy: return handler(**kwargs, argv=argv) return handler(**kwargs) except JobException as e: return e
def test_app(): assert not sea.current_app app = sea.create_app('./tests/wd') assert app == sea.current_app assert sea.create_app('./tests/wd') is app assert app.testing from configs import default from app.servicers import GreeterServicer, helloworld_pb2_grpc from app.extensions import pwx assert app.config.get('CACHE_BACKEND') == default.CACHE_BACKEND servicer = app.servicers['GreeterServicer'] assert servicer == (helloworld_pb2_grpc.add_GreeterServicer_to_server, GreeterServicer) extension = app.extensions.pwx assert extension is pwx
def app(logstream): os.environ.setdefault('SEA_ENV', 'testing') logger = logging.getLogger('sea') h = logging.StreamHandler(logstream) logger.addHandler(h) root = os.path.join(os.path.dirname(__file__), 'wd') app = sea.create_app(root) yield app logger.removeHandler(h) sea._app = None
def test_app(): mock_func = Mock(spec={}) post_ready.connect(mock_func) assert not sea.current_app app = sea.create_app('./tests/wd') assert app == sea.current_app assert sea.create_app('./tests/wd') is app assert app.testing mock_func.assert_called_with(app) from configs import default from app.servicers import GreeterServicer, helloworld_pb2_grpc from app.extensions import pwx assert app.config.get('CACHE_BACKEND') == default.CACHE_BACKEND servicer = app.servicers['GreeterServicer'] assert servicer == (helloworld_pb2_grpc.add_GreeterServicer_to_server, GreeterServicer) extension = app.extensions.pwx assert extension is pwx
def test_sea(): from app.models import Note Note.create_table() pwx = _app.extensions.pwx servicerclass = _app.servicers.HelloServicer[1] _app1 = create_app(root) # init_app to other app will update instance's database connection pool pwx.init_app(_app1) stub = Stub(servicerclass()) assert stub.return_normal(None) # test after init_app again, connection pool synced between peeweext instance and Model assert pwx.database == Note._meta.database assert pwx.database.is_closed() Note.drop_table()
def pytest_load_initial_conftests(early_config, parser, args): create_app()
import os.path from sea import create_app from sea.test.stub import Stub os.environ.setdefault('SEA_ENV', 'testing') root = os.path.join(os.path.dirname(__file__), 'seapp') _app = create_app(root) def test_sea(): from app.models import Note Note.create_table() pwx = _app.extensions.pwx servicerclass = _app.servicers.HelloServicer[1] stub = Stub(servicerclass()) assert stub.return_normal(None) assert pwx.database.is_closed() Note.drop_table()
def server(): s = Server(create_app(root_path="/home/ubuntu/simple-grpc-server")) s.run() return 0