Skip to content

Commit

Permalink
Return to the same place when triggering a DAG (#20955)
Browse files Browse the repository at this point in the history
(cherry picked from commit 928dafe)
  • Loading branch information
norm authored and jedcunningham committed Jan 27, 2022
1 parent e671b92 commit 512a10a
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 6 deletions.
4 changes: 2 additions & 2 deletions airflow/www/templates/airflow/dag.html
Original file line number Diff line number Diff line change
Expand Up @@ -148,11 +148,11 @@ <h4 class="pull-right" style="user-select: none;-moz-user-select: auto;">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<input type="hidden" name="dag_id" value="{{ dag.dag_id }}">
<input type="hidden" name="unpause" value="True">
<input type="hidden" name="origin" value="{{ url_for('Airflow.' + dag.default_view, dag_id=dag.dag_id) }}">
<input type="hidden" name="origin" value="{{ url_for(request.endpoint, dag_id=dag.dag_id) }}">
<button type="submit" class="dropdown-form-btn">Trigger DAG</button>
</form>
</li>
<li><a href="{{ url_for('Airflow.trigger', dag_id=dag.dag_id, origin=url_for('Airflow.' + dag.default_view, dag_id=dag.dag_id)) }}">Trigger DAG w/ config</a></li>
<li><a href="{{ url_for('Airflow.trigger', dag_id=dag.dag_id, origin=url_for(request.endpoint, dag_id=dag.dag_id)) }}">Trigger DAG w/ config</a></li>
</ul>
</div>
<a href="{{ url_for('Airflow.delete', dag_id=dag.dag_id) }}" title="Delete&nbsp;DAG" class="btn btn-default btn-icon-only{{ ' disabled' if not dag.can_delete }}"
Expand Down
24 changes: 20 additions & 4 deletions tests/www/views/test_views_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -278,22 +278,38 @@ def test_escape_in_tree_view(app, admin_client, test_str, expected_text):
check_content_in_response(expected_text, resp)


def test_dag_details_trigger_origin_tree_view(app, admin_client):
def test_tree_trigger_origin_tree_view(app, admin_client):
app.dag_bag.get_dag('test_tree_view').create_dagrun(
run_type=DagRunType.SCHEDULED,
execution_date=DEFAULT_DATE,
start_date=timezone.utcnow(),
state=State.RUNNING,
)

url = 'dag_details?dag_id=test_tree_view'
url = 'tree?dag_id=test_tree_view'
resp = admin_client.get(url, follow_redirects=True)
params = {'dag_id': 'test_tree_view', 'origin': '/tree?dag_id=test_tree_view'}
href = f"/trigger?{html.escape(urllib.parse.urlencode(params))}"
check_content_in_response(href, resp)


def test_dag_details_trigger_origin_graph_view(app, admin_client):
def test_graph_trigger_origin_graph_view(app, admin_client):
app.dag_bag.get_dag('test_tree_view').create_dagrun(
run_type=DagRunType.SCHEDULED,
execution_date=DEFAULT_DATE,
data_interval=(DEFAULT_DATE, DEFAULT_DATE),
start_date=timezone.utcnow(),
state=State.RUNNING,
)

url = 'graph?dag_id=test_tree_view'
resp = admin_client.get(url, follow_redirects=True)
params = {'dag_id': 'test_tree_view', 'origin': '/graph?dag_id=test_tree_view'}
href = f"/trigger?{html.escape(urllib.parse.urlencode(params))}"
check_content_in_response(href, resp)


def test_dag_details_trigger_origin_dag_details_view(app, admin_client):
app.dag_bag.get_dag('test_graph_view').create_dagrun(
run_type=DagRunType.SCHEDULED,
execution_date=DEFAULT_DATE,
Expand All @@ -303,7 +319,7 @@ def test_dag_details_trigger_origin_graph_view(app, admin_client):

url = 'dag_details?dag_id=test_graph_view'
resp = admin_client.get(url, follow_redirects=True)
params = {'dag_id': 'test_graph_view', 'origin': '/graph?dag_id=test_graph_view'}
params = {'dag_id': 'test_graph_view', 'origin': '/dag_details?dag_id=test_graph_view'}
href = f"/trigger?{html.escape(urllib.parse.urlencode(params))}"
check_content_in_response(href, resp)

Expand Down

0 comments on commit 512a10a

Please sign in to comment.