def test_airflow_dagbag(): dagbag = DagBag(os.getenv('AIRFLOW_HOME')) assert dagbag.size() > 0 report = dagbag.dagbag_report() dag_id_list = [ 'demo_dag', 'db_cleanup_dag', 'distributaries_dag', 'source_sequential_dag', 'tributaries_dag' ] for dag_id in dag_id_list: assert dag_id in report
def list_dags(args): dagbag = DagBag(process_subdir(args.subdir)) s = textwrap.dedent("""\n ------------------------------------------------------------------- DAGS ------------------------------------------------------------------- {dag_list} """) dag_list = "\n".join(sorted(dagbag.dags)) print(s.format(dag_list=dag_list)) if args.report: print(dagbag.dagbag_report())
def dag_list_dags(args): """Displays dags with or without stats at the command line""" dagbag = DagBag(process_subdir(args.subdir)) list_template = textwrap.dedent("""\n ------------------------------------------------------------------- DAGS ------------------------------------------------------------------- {dag_list} """) dag_list = "\n".join(sorted(dagbag.dags)) print(list_template.format(dag_list=dag_list)) if args.report: print(dagbag.dagbag_report())
class TestDagIntegrity(unittest.TestCase): LOAD_SECOND_THRESHOLD = 2 def setUp(self): DAGS_DIR = os.getenv('INPUT_DAGPATHS') os.environ['PYTHONPATH'] = f"{os.getenv('PYTHONPATH')}:{DAGS_DIR}" logging.info("DAGs dir : {}".format(DAGS_DIR)) self.dagbag = DagBag(dag_folder=DAGS_DIR, include_examples=False) def test_import_dags(self): self.assertFalse( len(self.dagbag.import_errors), 'DAG import failures. Errors: {}'.format( self.dagbag.import_errors)) def tearDown(self): logging.info(self.dagbag.dagbag_report())