Exemple #1
0
def airflow_local_setup(airflow_home):
    """
    Init the airflow sqlitedb and start the scheduler with minimal env.
    Clean up afterwards by removing the AIRFLOW_HOME and stopping the
    scheduler. It is necessary to set the AIRFLOW_HOME env variable on
    test invocation otherwise it gets created somewhere else.
    """
    extra_env = {
        "AIRFLOW__CORE__DAGS_FOLDER": str(Path(__file__).parent.parent.parent / "dags"),
        "AIRFLOW__CORE__LOAD_EXAMPLES": "false",
    }
    env = {**os.environ, **extra_env}

    from airflow.bin.cli import initdb

    initdb([])

    with open(airflow_home / "scheduler.log", "w") as fout:
        with Popen(
            ["pipenv", "run", "airflow", "scheduler"],
            shell=False,
            stdout=fout,
            stderr=fout,
            env=env,
        ) as scheduler:

            sleep(2)

            yield
            scheduler.kill()
Exemple #2
0
def airflow_init_db(airflow_sqlalchemy_conn):
    try:
        from airflow.bin.cli import initdb
    except ImportError:
        from airflow.cli.commands.db_command import initdb

    initdb([])
Exemple #3
0
def run_init(args):
    asset_conf("init")
    logging.info("Init cwl-airflow")
    update_config(args)
    create_folders()
    export_dags()
    logging.info("Init Airflow DB")
    with Mute():
        initdb(argparse.Namespace())
Exemple #4
0
    def test_cli(self):
        from airflow.bin import cli
        parser = cli.get_parser()
        args = parser.parse_args(['list_dags'])
        cli.list_dags(args)

        for dag_id in self.dagbag.dags.keys():
            args = parser.parse_args(['list_tasks', dag_id])
            cli.list_tasks(args)

        args = parser.parse_args(['list_tasks', 'example_bash_operator', '--tree'])
        cli.list_tasks(args)

        cli.initdb(parser.parse_args(['initdb']))
Exemple #5
0
    def test_cli(self):
        from airflow.bin import cli
        parser = cli.get_parser()
        args = parser.parse_args(['list_dags'])
        cli.list_dags(args)

        for dag_id in self.dagbag.dags.keys():
            args = parser.parse_args(['list_tasks', dag_id])
            cli.list_tasks(args)

        args = parser.parse_args(
            ['list_tasks', 'example_bash_operator', '--tree'])
        cli.list_tasks(args)

        cli.initdb(parser.parse_args(['initdb']))
Exemple #6
0
    def test_cli(self):
        from airflow.bin import cli

        parser = cli.get_parser()
        args = parser.parse_args(["list_dags"])
        cli.list_dags(args)

        for dag_id in self.dagbag.dags.keys():
            args = parser.parse_args(["list_tasks", dag_id])
            cli.list_tasks(args)

        args = parser.parse_args(["list_tasks", "example_bash_operator", "--tree"])
        cli.list_tasks(args)

        cli.initdb(parser.parse_args(["initdb"]))
Exemple #7
0
 def test_cli_initdb(self):
     cli.initdb(self.parser.parse_args(['initdb']))
Exemple #8
0
 def test_cli_initdb(self):
     cli.initdb(self.parser.parse_args(['initdb']))
Exemple #9
0
 def test_cli_initdb(self):
     cli.initdb(self.parser.parse_args(["initdb"]))