Esempio n. 1
0
    def setup_dag(self, configured_app):
        with DAG(self.dag_id, start_date=datetime(2020, 6, 15), doc_md="details") as dag:
            DummyOperator(task_id=self.task_id)

        dag_bag = DagBag(os.devnull, include_examples=False)
        dag_bag.dags = {dag.dag_id: dag}
        configured_app.dag_bag = dag_bag  # type:ignore
Esempio n. 2
0
    def setUpClass(cls) -> None:
        super().setUpClass()
        with conf_vars({
            ("api", "auth_backend"):
                "tests.test_utils.remote_user_api_auth_backend"
        }):
            cls.app = app.create_app(testing=True)  # type:ignore
        create_user(
            cls.app,  # type: ignore
            username="******",
            role_name="Test",
            permissions=[('can_read', 'Dag'), ('can_read', 'DagRun'),
                         ('can_read', 'Task')],
        )
        create_user(cls.app,
                    username="******",
                    role_name="TestNoPermissions")  # type: ignore

        with DAG(cls.dag_id,
                 start_date=datetime(2020, 6, 15),
                 doc_md="details") as dag:
            DummyOperator(task_id=cls.task_id)

        cls.dag = dag  # type:ignore
        dag_bag = DagBag(os.devnull, include_examples=False)
        dag_bag.dags = {dag.dag_id: dag}
        cls.app.dag_bag = dag_bag  # type:ignore
Esempio n. 3
0
    def setUpClass(cls) -> None:
        super().setUpClass()
        with conf_vars({("api", "auth_backend"): "tests.test_utils.remote_user_api_auth_backend"}):
            cls.app = app.create_app(testing=True)  # type:ignore
        create_user(
            cls.app,  # type: ignore
            username="******",
            role_name="Test",
            permissions=[
                (permissions.ACTION_CAN_CREATE, permissions.RESOURCE_DAG),
                (permissions.ACTION_CAN_READ, permissions.RESOURCE_DAG),
                (permissions.ACTION_CAN_EDIT, permissions.RESOURCE_DAG),
                (permissions.ACTION_CAN_DELETE, permissions.RESOURCE_DAG),
            ],
        )
        create_user(cls.app, username="******", role_name="TestNoPermissions")  # type: ignore
        create_user(
            cls.app, username="******", role_name="TestGranularDag"  # type: ignore
        )
        cls.app.appbuilder.sm.sync_perm_for_dag(  # type: ignore  # pylint: disable=no-member
            "TEST_DAG_1",
            access_control={'TestGranularDag': [permissions.ACTION_CAN_EDIT, permissions.ACTION_CAN_READ]},
        )

        with DAG(cls.dag_id, start_date=datetime(2020, 6, 15), doc_md="details") as dag:
            DummyOperator(task_id=cls.task_id)

        with DAG(cls.dag2_id, start_date=datetime(2020, 6, 15)) as dag2:  # no doc_md
            DummyOperator(task_id=cls.task_id)

        cls.dag = dag  # type:ignore
        cls.dag2 = dag2  # type: ignore
        dag_bag = DagBag(os.devnull, include_examples=False)
        dag_bag.dags = {dag.dag_id: dag, dag2.dag_id: dag2}
        cls.app.dag_bag = dag_bag  # type:ignore
Esempio n. 4
0
    def __init__(self, configured_app):

        app = configured_app
        app.appbuilder.sm.sync_perm_for_dag(  # type: ignore  # pylint: disable=no-member
            "TEST_DAG_1",
            access_control={'TestGranularDag': [permissions.ACTION_CAN_EDIT, permissions.ACTION_CAN_READ]},
        )

        with DAG(
                self.dag_id,
                start_date=datetime(2020, 6, 15),
                doc_md="details",
                params={"foo": 1},
                tags=['example'],
        ) as dag:
            DummyOperator(task_id=self.task_id)

        with DAG(self.dag2_id, start_date=datetime(2020, 6,
                                                   15)) as dag2:  # no doc_md
            DummyOperator(task_id=self.task_id)

        with DAG(self.dag3_id) as dag3:  # DAG start_date set to None
            DummyOperator(task_id=self.task_id,
                          start_date=datetime(2019, 6, 12))

        self.dag = dag  # type:ignore
        self.dag2 = dag2  # type: ignore
        self.dag3 = dag3  # tupe: ignore

        dag_bag = DagBag(os.devnull, include_examples=False)
        dag_bag.dags = {dag.dag_id: dag, dag2.dag_id: dag2, dag3.dag_id: dag3}

        configured_app.dag_bag = dag_bag  # type:ignore
Esempio n. 5
0
    def setUpClass(cls) -> None:
        super().setUpClass()
        with conf_vars({("api", "auth_backend"): "tests.test_utils.remote_user_api_auth_backend"}):
            cls.app = app.create_app(testing=True)  # type:ignore
        create_user(
            cls.app,  # type: ignore
            username="******",
            role_name="Test",
            permissions=[
                ("can_create", "Dag"),
                ("can_read", "Dag"),
                ("can_edit", "Dag"),
                ("can_delete", "Dag"),
            ],
        )
        create_user(cls.app, username="******", role_name="TestNoPermissions")  # type: ignore
        create_user(
            cls.app, username="******", role_name="TestGranularDag"  # type: ignore
        )
        cls.app.appbuilder.sm.sync_perm_for_dag(  # type: ignore  # pylint: disable=no-member
            "TEST_DAG_1", access_control={'TestGranularDag': ['can_edit', 'can_read']}
        )

        with DAG(cls.dag_id, start_date=datetime(2020, 6, 15), doc_md="details") as dag:
            DummyOperator(task_id=cls.task_id)

        cls.dag = dag  # type:ignore
        dag_bag = DagBag(os.devnull, include_examples=False)
        dag_bag.dags = {dag.dag_id: dag}
        cls.app.dag_bag = dag_bag  # type:ignore
Esempio n. 6
0
def configured_app(minimal_app_for_api):
    app = minimal_app_for_api

    create_user(
        app,  # type: ignore
        username="******",
        role_name="Test",
        permissions=[
            (permissions.ACTION_CAN_CREATE, permissions.RESOURCE_DAG),
            (permissions.ACTION_CAN_READ, permissions.RESOURCE_DAG),
            (permissions.ACTION_CAN_EDIT, permissions.RESOURCE_DAG),
            (permissions.ACTION_CAN_DELETE, permissions.RESOURCE_DAG),
        ],
    )
    create_user(app,
                username="******",
                role_name="TestNoPermissions")  # type: ignore
    create_user(app,
                username="******",
                role_name="TestGranularDag")  # type: ignore
    app.appbuilder.sm.sync_perm_for_dag(  # type: ignore  # pylint: disable=no-member
        "TEST_DAG_1",
        access_control={'TestGranularDag': [permissions.ACTION_CAN_EDIT, permissions.ACTION_CAN_READ]},
    )
    app.appbuilder.sm.sync_perm_for_dag(  # type: ignore  # pylint: disable=no-member
        "TEST_DAG_1",
        access_control={'TestGranularDag': [permissions.ACTION_CAN_EDIT, permissions.ACTION_CAN_READ]},
    )

    with DAG(
            DAG_ID,
            start_date=datetime(2020, 6, 15),
            doc_md="details",
            params={"foo": 1},
            tags=['example'],
    ) as dag:
        DummyOperator(task_id=TASK_ID)

    with DAG(DAG2_ID, start_date=datetime(2020, 6, 15)) as dag2:  # no doc_md
        DummyOperator(task_id=TASK_ID)

    with DAG(DAG3_ID) as dag3:  # DAG start_date set to None
        DummyOperator(task_id=TASK_ID, start_date=datetime(2019, 6, 12))

    dag_bag = DagBag(os.devnull, include_examples=False)
    dag_bag.dags = {dag.dag_id: dag, dag2.dag_id: dag2, dag3.dag_id: dag3}

    app.dag_bag = dag_bag

    yield app

    delete_user(app, username="******")  # type: ignore
    delete_user(app, username="******")  # type: ignore
    delete_user(app, username="******")  # type: ignore
Esempio n. 7
0
    def setUpClass(cls) -> None:
        super().setUpClass()
        cls.app = app.create_app(testing=True)  # type:ignore

        with DAG(cls.dag_id, start_date=datetime(2020, 6, 15), doc_md="details") as dag:
            DummyOperator(task_id=cls.task_id)

        cls.dag = dag  # type:ignore
        dag_bag = DagBag(os.devnull, include_examples=False)
        dag_bag.dags = {dag.dag_id: dag}
        cls.app.dag_bag = dag_bag  # type:ignore
Esempio n. 8
0
    def setup_dag(self, configured_app):
        with DAG(self.dag_id,
                 start_date=self.task1_start_date,
                 doc_md="details") as dag:
            task1 = DummyOperator(task_id=self.task_id)
            task2 = DummyOperator(task_id=self.task_id2,
                                  start_date=self.task2_start_date)

        task1 >> task2
        dag_bag = DagBag(os.devnull, include_examples=False)
        dag_bag.dags = {dag.dag_id: dag}
        configured_app.dag_bag = dag_bag  # type:ignore
Esempio n. 9
0
    def setUpClass(cls) -> None:
        super().setUpClass()
        with conf_vars({("api", "auth_backend"): "tests.test_utils.remote_user_api_auth_backend"}):
            cls.app = app.create_app(testing=True)  # type:ignore
        # TODO: Add new role for each view to test permission.
        create_user(cls.app, username="******", role="Admin")  # type: ignore

        with DAG(cls.dag_id, start_date=datetime(2020, 6, 15), doc_md="details") as dag:
            DummyOperator(task_id=cls.task_id)

        cls.dag = dag  # type:ignore
        dag_bag = DagBag(os.devnull, include_examples=False)
        dag_bag.dags = {dag.dag_id: dag}
        cls.app.dag_bag = dag_bag  # type:ignore