From bb2dce6f221dcdfa3bbe6336e030876a029df84f Mon Sep 17 00:00:00 2001 From: Stephen Rosen Date: Tue, 26 Aug 2025 10:04:36 -0500 Subject: [PATCH] Rename 'set_subscription_admin_verified_id' Remove the '_id' suffix, per discussion with the Groups team. The new name is 'set_subscription_admin_verified'. The old function is still available as an alias, but emits a `RemovedInV4Warning`. The test fixture data in `globus_sdk._testing` is slightly adjusted, but not considered a breaking change due to the looser compatibility policy around the provided fixtures. --- ...sirosen_deprecate_and_rename_groupfunc.rst | 6 +++ ....py => set_subscription_admin_verified.py} | 0 src/globus_sdk/services/groups/client.py | 25 +++++++++- .../test_set_subscription_admin_verified.py | 47 +++++++++++++++++++ ...test_set_subscription_admin_verified_id.py | 19 -------- 5 files changed, 77 insertions(+), 20 deletions(-) create mode 100644 changelog.d/20250826_100305_sirosen_deprecate_and_rename_groupfunc.rst rename src/globus_sdk/_testing/data/groups/{set_subscription_admin_verified_id.py => set_subscription_admin_verified.py} (100%) create mode 100644 tests/functional/services/groups/test_set_subscription_admin_verified.py delete mode 100644 tests/functional/services/groups/test_set_subscription_admin_verified_id.py diff --git a/changelog.d/20250826_100305_sirosen_deprecate_and_rename_groupfunc.rst b/changelog.d/20250826_100305_sirosen_deprecate_and_rename_groupfunc.rst new file mode 100644 index 000000000..56d8a7452 --- /dev/null +++ b/changelog.d/20250826_100305_sirosen_deprecate_and_rename_groupfunc.rst @@ -0,0 +1,6 @@ +Changed +------- + +- The method ``GroupsClient.set_subscription_admin_verified_id`` has been renamed to + ``GroupsClient.set_subscription_admin_verified``. The earlier function name is still + available but emits a deprecation warning. (:pr:`NUMBER`) diff --git a/src/globus_sdk/_testing/data/groups/set_subscription_admin_verified_id.py b/src/globus_sdk/_testing/data/groups/set_subscription_admin_verified.py similarity index 100% rename from src/globus_sdk/_testing/data/groups/set_subscription_admin_verified_id.py rename to src/globus_sdk/_testing/data/groups/set_subscription_admin_verified.py diff --git a/src/globus_sdk/services/groups/client.py b/src/globus_sdk/services/groups/client.py index 46c6df257..98ef41db4 100644 --- a/src/globus_sdk/services/groups/client.py +++ b/src/globus_sdk/services/groups/client.py @@ -3,7 +3,7 @@ import typing as t import uuid -from globus_sdk import client, response, utils +from globus_sdk import client, exc, response, utils from globus_sdk.scopes import GroupsScopes, Scope from .data import BatchMembershipActions, GroupPolicies @@ -401,6 +401,29 @@ def set_subscription_admin_verified_id( subscription_id: uuid.UUID | str | None, *, query_params: dict[str, t.Any] | None = None, + ) -> response.GlobusHTTPResponse: + """ + Deprecated alias for :meth:`set_subscription_admin_verified`. + + :param group_id: the ID of the group + :param subscription_id: the ID of the subscription to which the group belongs, + or ``None`` to disassociate the group from a subscription + :param query_params: additional passthrough query parameters + """ + exc.warn_deprecated( + "`GroupsClient.set_subscription_admin_verified_id()` has been renamed to " + "`GroupsClient.set_subscription_admin_verified()`." + ) + return self.set_subscription_admin_verified( + group_id, subscription_id, query_params=query_params + ) + + def set_subscription_admin_verified( + self, + group_id: uuid.UUID | str, + subscription_id: uuid.UUID | str | None, + *, + query_params: dict[str, t.Any] | None = None, ) -> response.GlobusHTTPResponse: """ Verify a group as belonging to a subscription or disassociate a verified group diff --git a/tests/functional/services/groups/test_set_subscription_admin_verified.py b/tests/functional/services/groups/test_set_subscription_admin_verified.py new file mode 100644 index 000000000..5fca7626c --- /dev/null +++ b/tests/functional/services/groups/test_set_subscription_admin_verified.py @@ -0,0 +1,47 @@ +import json +import re + +import pytest + +from globus_sdk import RemovedInV4Warning +from globus_sdk._testing import get_last_request, load_response + + +def test_set_subscription_admin_verified(groups_client): + meta = load_response(groups_client.set_subscription_admin_verified).metadata + + res = groups_client.set_subscription_admin_verified( + group_id=meta["group_id"], + subscription_id=meta["subscription_id"], + ) + assert res.http_status == 200 + assert res.data["group_id"] == meta["group_id"] + assert res.data["subscription_admin_verified_id"] == meta["subscription_id"] + + req = get_last_request() + req = json.loads(req.body) + assert req == {"subscription_admin_verified_id": meta["subscription_id"]} + + +def test_set_subscription_admin_verified_id(groups_client): + """Test that the deprecated alias warns but is functionally equivalent.""" + meta = load_response(groups_client.set_subscription_admin_verified).metadata + + with pytest.warns( + RemovedInV4Warning, + match=re.escape( + "`GroupsClient.set_subscription_admin_verified_id()` has been renamed to " + "`GroupsClient.set_subscription_admin_verified()`." + ), + ): + res = groups_client.set_subscription_admin_verified_id( + group_id=meta["group_id"], + subscription_id=meta["subscription_id"], + ) + assert res.http_status == 200 + assert res.data["group_id"] == meta["group_id"] + assert res.data["subscription_admin_verified_id"] == meta["subscription_id"] + + req = get_last_request() + req = json.loads(req.body) + assert req == {"subscription_admin_verified_id": meta["subscription_id"]} diff --git a/tests/functional/services/groups/test_set_subscription_admin_verified_id.py b/tests/functional/services/groups/test_set_subscription_admin_verified_id.py deleted file mode 100644 index 6a423c7be..000000000 --- a/tests/functional/services/groups/test_set_subscription_admin_verified_id.py +++ /dev/null @@ -1,19 +0,0 @@ -import json - -from globus_sdk._testing import get_last_request, load_response - - -def test_set_subscription_admin_verified_id(groups_client): - meta = load_response(groups_client.set_subscription_admin_verified_id).metadata - - res = groups_client.set_subscription_admin_verified_id( - group_id=meta["group_id"], - subscription_id=meta["subscription_id"], - ) - assert res.http_status == 200 - assert res.data["group_id"] == meta["group_id"] - assert res.data["subscription_admin_verified_id"] == meta["subscription_id"] - - req = get_last_request() - req = json.loads(req.body) - assert req == {"subscription_admin_verified_id": meta["subscription_id"]}