diff --git a/tests/dag_processing/test_dag_bundles.py b/tests/dag_processing/test_dag_bundles.py index d33c44b341897..d627c4593fd56 100644 --- a/tests/dag_processing/test_dag_bundles.py +++ b/tests/dag_processing/test_dag_bundles.py @@ -288,3 +288,27 @@ def test_view_url(self, mock_has_version, mock_gitrepo, repo_url, expected_url): ) view_url = bundle.view_url("0f0f0f") assert view_url == expected_url + + @mock.patch("airflow.dag_processing.bundles.git.Repo") + def test_view_url_raises_if_no_version(self, mock_gitrepo): + bundle = GitDagBundle( + name="test", + refresh_interval=300, + repo_url="git@github.com:apache/airflow.git", + tracking_ref="main", + ) + with pytest.raises(AirflowException, match="Version is required to view the repository"): + bundle.view_url(None) + + @mock.patch("airflow.dag_processing.bundles.git.Repo") + @mock.patch.object(GitDagBundle, "_has_version") + def test_view_url_raises_if_version_not_found(self, mock_has_version, mock_gitrepo): + mock_has_version.return_value = False + bundle = GitDagBundle( + name="test", + refresh_interval=300, + repo_url="git@github.com:apache/airflow.git", + tracking_ref="main", + ) + with pytest.raises(AirflowException, match="Version not_found not found in the repository"): + bundle.view_url("not_found")