diff --git a/.github/workflows/commitflow-py3.yml b/.github/workflows/commitflow-py3.yml index d17c0699a39..7f56814fe42 100644 --- a/.github/workflows/commitflow-py3.yml +++ b/.github/workflows/commitflow-py3.yml @@ -70,6 +70,24 @@ jobs: name: test-reports-${{ matrix.python-version }} path: test-reports + - name: Check and comment if no unit test files are modified + if: matrix.python-version == '3.8' + run: | + git fetch origin master + changed_files=$(git diff --name-only origin/master) + + if echo "$changed_files" | grep -qE '(^test|_test\.py|^tests|_tests\.py|.test)'; then + echo "✅ Unit test files were modified." + else + echo "⚠️ No unit test files modified." + + curl -X POST \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -H "Accept: application/vnd.github.v3+json" \ + -d '{"body":"⚠️ No unit test files modified. Please ensure that changes are properly tested. ⚠️"}' \ + "https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments" + fi + - name: run python lints run: | PYTHONWARNINGS=always ./build/env/bin/hue runruff check diff --git a/desktop/core/base_requirements.txt b/desktop/core/base_requirements.txt index 9c51144df5c..784be86e06b 100644 --- a/desktop/core/base_requirements.txt +++ b/desktop/core/base_requirements.txt @@ -47,6 +47,7 @@ protobuf==3.20.3 py==1.11.0 pyformance==0.3.2 pytest==8.1.1 +pytest-cov==5.0.0 pytest-django==4.8.0 pytest-html==4.1.1 python-dateutil==2.8.2 diff --git a/desktop/libs/notebook/src/notebook/connectors/trino.py b/desktop/libs/notebook/src/notebook/connectors/trino.py index 921b1ce0b7c..149090b22bb 100644 --- a/desktop/libs/notebook/src/notebook/connectors/trino.py +++ b/desktop/libs/notebook/src/notebook/connectors/trino.py @@ -289,6 +289,13 @@ def close_statement(self, notebook, snippet): return {'status': 0} def close_session(self, session): + catalogs = self._show_catalogs() + databases = [] + + for catalog in catalogs: + query_client = TrinoQuery(self.trino_request, 'SHOW SCHEMAS FROM ' + catalog) + response = query_client.execute() + databases += [f'{catalog}.{item}' for sublist in response.rows for item in sublist] # Avoid closing session on page refresh or editor close for now pass