示例#1
0
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"] == ""
示例#2
0
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
        ]
示例#4
0
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"
示例#5
0
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
示例#6
0
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,
)
示例#7
0
# 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 {}