def test_db_conf_env_dsn(): with set_env({'MF_METADATA_DB_DSN': 'foo'}): # Should use default dsn with invalid dsn in environment assert DBConfiguration( ).dsn == 'dbname=postgres user=postgres host=localhost port=5432 password=postgres' with set_env({ 'MF_METADATA_DB_DSN': 'dbname=testgres user=test_user host=test_host port=1234 password=test_pwd' }): # valid DSN in env should set correctly. assert DBConfiguration( ).dsn == 'dbname=testgres user=test_user host=test_host port=1234 password=test_pwd'
def test_db_conf(): with set_env(): db_conf = DBConfiguration() assert db_conf.dsn == 'dbname=postgres user=postgres host=localhost port=5432 password=postgres' assert db_conf.pool_min == 1 assert db_conf.pool_max == 10 assert db_conf.timeout == 60
def test_db_conf_arguments(): with set_env(): db_conf = DBConfiguration(host='foo', port=1234, user='******', password='******', database_name='bar') assert db_conf.dsn == 'dbname=bar user=user host=foo port=1234 password=password' assert db_conf.host == 'foo' assert db_conf.port == 1234 assert db_conf.user == 'user' assert db_conf.password == 'password' assert db_conf.database_name == 'bar'
def main(): loop = asyncio.get_event_loop() the_app = app(loop, DBConfiguration()) handler = the_app.make_handler() port = os.environ.get("MF_METADATA_PORT", 8080) host = str(os.environ.get("MF_METADATA_HOST", "0.0.0.0")) f = loop.create_server(handler, host, port) srv = loop.run_until_complete(f) print("serving on", srv.sockets[0].getsockname()) try: loop.run_forever() except KeyboardInterrupt: pass
def get_test_dbconf(): """ Returns a DBConfiguration suitable for the test environment, or exits pytest completely upon failure """ db_conf = DBConfiguration(timeout=1) if db_conf.dsn != "dbname=test user=test host=db_test port=5432 password=test": pytest.exit( "The test suite should only be run in a test environment. \n \ Configured database host is not suited for running tests. \n \ expected DSN to be: dbname=test user=test host=db_test port=5432 password=test" ) return db_conf
def main(): loop = asyncio.get_event_loop() # Set exception and signal handlers for async loop. Mainly for logging purposes. loop.set_exception_handler(async_loop_error_handler) for sig in (signal.SIGTERM, signal.SIGHUP, signal.SIGINT): loop.add_signal_handler(sig, lambda sig=sig: async_loop_signal_handler(sig)) the_app = app(loop, DBConfiguration()) handler = web.AppRunner(the_app) loop.run_until_complete(handler.setup()) f = loop.create_server(handler.server, DEFAULT_SERVICE_HOST, DEFAULT_SERVICE_PORT) srv = loop.run_until_complete(f) print("serving on", srv.sockets[0].getsockname()) try: loop.run_forever() except KeyboardInterrupt: pass
def test_db_conf_env_default_prefix(): with set_env({ 'MF_METADATA_DB_HOST': 'foo', 'MF_METADATA_DB_PORT': '1234', 'MF_METADATA_DB_USER': '******', 'MF_METADATA_DB_PSWD': 'password', 'MF_METADATA_DB_NAME': 'bar', 'MF_METADATA_DB_POOL_MIN': '2', 'MF_METADATA_DB_POOL_MAX': '4', 'MF_METADATA_DB_TIMEOUT': '5' }): db_conf = DBConfiguration() assert db_conf.dsn == 'dbname=bar user=user host=foo port=1234 password=password' assert db_conf.host == 'foo' assert db_conf.port == 1234 assert db_conf.user == 'user' assert db_conf.password == 'password' assert db_conf.database_name == 'bar' assert db_conf.pool_min == 2 assert db_conf.pool_max == 4 assert db_conf.timeout == 5
def test_db_conf_dsn(): with set_env(): assert DBConfiguration(dsn='user=foo').dsn == 'user=foo'
def test_db_conf_timeout(): with set_env(): db_conf = DBConfiguration(timeout=5) assert db_conf.timeout == 5
def test_db_conf_pool_size(): with set_env(): db_conf = DBConfiguration(pool_min=2, pool_max=4) assert db_conf.pool_min == 2 assert db_conf.pool_max == 4