This is an automated email from the ASF dual-hosted git repository. michaelsmolina pushed a commit to branch 5.0-pulse in repository https://gitbox.apache.org/repos/asf/superset.git
commit 102df5f4d3880fe6561b686e6d0aadf3ab992d06 Author: Daniel Vaz Gaspar <[email protected]> AuthorDate: Tue Nov 25 16:22:31 2025 +0000 fix: remove unwanted info from tags REST API (#36266) (cherry picked from commit cd36845d568a3d91c592f00d7b26083c0450c51e) --- superset/tags/api.py | 1 - tests/integration_tests/tags/api_tests.py | 40 +++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/superset/tags/api.py b/superset/tags/api.py index 7351a39a04..3c28f86c16 100644 --- a/superset/tags/api.py +++ b/superset/tags/api.py @@ -109,7 +109,6 @@ class TagRestApi(BaseSupersetModelRestApi): "created_on_delta_humanized", "created_by.first_name", "created_by.last_name", - "created_by", ] base_related_field_filters = { diff --git a/tests/integration_tests/tags/api_tests.py b/tests/integration_tests/tags/api_tests.py index 79022d2805..a46a0eebed 100644 --- a/tests/integration_tests/tags/api_tests.py +++ b/tests/integration_tests/tags/api_tests.py @@ -151,6 +151,46 @@ class TestTagApi(SupersetTestCase): db.session.delete(tag) db.session.commit() + def test_get_tag_user_fields(self): + """ + Query API: Test get tag only returns first_name and last_name for + created_by and changed_by fields + """ + self.login(ADMIN_USERNAME) + # Create tag via API to ensure created_by is set + uri = "api/v1/tag/" + rv = self.client.post( + uri, + json={"name": "test_user_fields_tag", "objects_to_tag": []}, + ) + assert rv.status_code == 201 + + # Get the created tag + tag = db.session.query(Tag).filter(Tag.name == "test_user_fields_tag").first() + assert tag is not None + + # Fetch the tag via GET API + uri = f"api/v1/tag/{tag.id}" + rv = self.client.get(uri) + assert rv.status_code == 200 + + data = json.loads(rv.data.decode("utf-8")) + result = data["result"] + + # Verify created_by only contains first_name and last_name + assert result["created_by"] is not None + assert set(result["created_by"].keys()) == {"first_name", "last_name"} + assert result["created_by"]["first_name"] is not None + assert result["created_by"]["last_name"] is not None + + # Verify changed_by only contains first_name and last_name (or is None) + if result["changed_by"] is not None: + assert set(result["changed_by"].keys()) == {"first_name", "last_name"} + + # Cleanup + db.session.delete(tag) + db.session.commit() + def test_get_tag_not_found(self): """ Query API: Test get query not found
