def test_it_should_get_default_values(): env = EnvYAML("tests/env.test.yaml", env_file="tests/test.env") assert env.get("empty.novalues", "default") is None assert env.get("empty.noenvvalue", "env-value") == "" # value actually set to "" assert env["empty.noenvvalue"] == ""
def test_it_should_get_default_values(): env = EnvYAML("tests/env.test.yaml") assert env.get("empty.novalues", "default") is None assert env.get("empty.noenvvalue", "env-value") == "env-value" assert env["empty.noenvvalue"] is None
def __init__(self, config: str, runner_index: Optional[int], total_runners: Optional[int]): """Load config. Args: config: Path to config. """ # Use envyaml so that users can set environment variables within the yaml file. data = EnvYAML(config) # Read parameters specified inside table_header self.table_data = [data["table_header"]] self.max_string_width = data.get("table_column_max_width", 0) # Get global tests parameters default_args = data.get("default_args", {}) jobs = (data["tests"] if runner_index is None or total_runners is None else np.array_split( data["tests"], int(total_runners))[int(runner_index) - 1]) # Loop over all jobs # and parse parameters to DriveTestCmd # Join args and default args. self.pipeline = [ DriveTestCmd(**{ **default_args, **args }) for args in jobs ]
def test_it_should_get_lists_values_by_number(): env = EnvYAML("tests/env.test.yaml") assert env["list_test"][0] == "one" assert env["list_test"][1] == "two" assert env["list_test"][2] == "tree" assert env.get("list_test.0") == "one" assert env.get("list_test.1") == "two" assert env.get("list_test.2") == "tree" assert env["list_test.0"] == "one" assert env["list_test.1"] == "two" assert env["list_test.2"] == "tree"
def test_it_should_use_default_value(): env = EnvYAML("tests/env.test.yaml") assert env.get("not.exist.key") is None assert env.get("not.exist.key", "default") == "default" assert env.get("config.test") == 100
import sentry_sdk from envyaml import EnvYAML from fastapi import FastAPI, Request, Depends from fastapi.responses import RedirectResponse from fastapi.staticfiles import StaticFiles from fastapi.templating import Jinja2Templates from starlette.middleware.sessions import SessionMiddleware from src.dependencies import get_user from src.models.user import UserAPI from src.routers import manager, auth, keys # read env.yaml config file env = EnvYAML() DEBUG: bool = env.get("DEBUG", False) API_ROUTE_PREFIX: str = "/api/v1" # Sentry integration if not env.get("DEBUG"): sentry_sdk.init(env.get("SENTRY_DSN"), traces_sample_rate=1.0) # Fast api start app = FastAPI( title="Kapellmeister Manager", debug=DEBUG, version=env["version"], # default_response_class=ORJSONResponse, redoc_url=None, docs_url="/docs" if DEBUG else None, )
# EXTRAS_DIR = os.path.join(BASE_PATH, "extras") AIRFLOW_HOME = os.environ.get("AIRFLOW_HOME", "/usr/local/airflow/") config_file = Path(AIRFLOW_HOME) / "dagger_config.yaml" if config_file.is_file(): config = EnvYAML(config_file) else: config = {} # App parameters DAGS_DIR = os.path.join(AIRFLOW_HOME, "dags") ENV = os.environ.get("ENV", "local") ENV_SUFFIX = "dev" if ENV == "local" else "" # Airflow parameters airflow_config = config.get('airflow', None) or {} WITH_DATA_NODES = airflow_config.get('with_data_nodes', False) EXTERNAL_SENSOR_POKE_INTERVAL = airflow_config.get( 'external_sensor_poke_interval', 600) EXTERNAL_SENSOR_TIMEOUT = airflow_config.get('external_sensor_timeout', 28800) EXTERNAL_SENSOR_MODE = airflow_config.get('external_sensor_mode', 'reschedule') IS_DUMMY_OPERATOR_SHORT_CIRCUIT = airflow_config.get( 'is_dummy_operator_short_circuit', False) # Neo4j parameters neo4j_config = config.get('neo4j', None) or {} NE4J_HOST = neo4j_config.get('host', "localhost") NE4J_PORT = neo4j_config.get('port', 7687) # Elastic Search Parameters es_config = config.get('elastic_search', None) or {}