diff --git a/changelog.d/20250710_124314_max.tuecke_sc_35529_rename_tokenstorage.rst b/changelog.d/20250710_124314_max.tuecke_sc_35529_rename_tokenstorage.rst new file mode 100644 index 000000000..c5a666568 --- /dev/null +++ b/changelog.d/20250710_124314_max.tuecke_sc_35529_rename_tokenstorage.rst @@ -0,0 +1,4 @@ +Changed +------- + +- Renamed the ``globus_sdk.tokenstorage`` subpackage to ``globus_sdk.token_storage`` and removed the ``globus_sdk.experimental.tokenstorage`` (:pr:`1252`) diff --git a/docs/authorization/token_caching/index.rst b/docs/authorization/token_caching/index.rst index 0c03a2abe..c9a36a53a 100644 --- a/docs/authorization/token_caching/index.rst +++ b/docs/authorization/token_caching/index.rst @@ -9,7 +9,7 @@ recommend using the former. ``TokenStorage`` is a newer iteration of the token s interface and includes a superset of the functionality previously supported in ``StorageAdapter``. -All constructs from both hierarchies are importable from the ``globus_sdk.tokenstorage`` +All constructs from both hierarchies are importable from the ``globus_sdk.token_storage`` namespace. .. toctree:: diff --git a/docs/authorization/token_caching/storage_adapters.rst b/docs/authorization/token_caching/storage_adapters.rst index 164a8d9ea..03ccf244e 100644 --- a/docs/authorization/token_caching/storage_adapters.rst +++ b/docs/authorization/token_caching/storage_adapters.rst @@ -15,7 +15,7 @@ received from authentication and token refreshes. Usage ----- -StorageAdapter is available under the name ``globus_sdk.tokenstorage``. +StorageAdapter is available under the name ``globus_sdk.token_storage``. Storage adapters are the main objects of this subpackage. Primarily, usage should revolve around creating a storage adapter, potentially loading data from @@ -27,7 +27,7 @@ For example: import os import globus_sdk - from globus_sdk.tokenstorage import SimpleJSONFileAdapter + from globus_sdk.token_storage import SimpleJSONFileAdapter my_file_adapter = SimpleJSONFileAdapter(os.path.expanduser("~/mytokens.json")) @@ -80,15 +80,15 @@ Complete Example Usage ~~~~~~~~~~~~~~~~~~~~~~ The :ref:`Group Listing With Token Storage Script ` -provides a complete and runnable example which leverages ``tokenstorage``. +provides a complete and runnable example which leverages ``token_storage``. Adapter Types ------------- -.. module:: globus_sdk.tokenstorage +.. module:: globus_sdk.token_storage -``globus_sdk.tokenstorage`` provides base classes for building your own storage +``globus_sdk.token_storage`` provides base classes for building your own storage adapters, and several complete adapters. The :class:`SimpleJSONFileAdapter` is good for the "simplest possible" diff --git a/docs/authorization/token_caching/token_storages.rst b/docs/authorization/token_caching/token_storages.rst index 5c127bba4..eec710c30 100644 --- a/docs/authorization/token_caching/token_storages.rst +++ b/docs/authorization/token_caching/token_storages.rst @@ -1,6 +1,6 @@ .. _token_storages: -.. currentmodule:: globus_sdk.tokenstorage +.. currentmodule:: globus_sdk.token_storage Token Storages ============== diff --git a/docs/examples/auth_manage_projects/list_and_create_projects.py b/docs/examples/auth_manage_projects/list_and_create_projects.py index 50d44eda1..24ed32ef4 100644 --- a/docs/examples/auth_manage_projects/list_and_create_projects.py +++ b/docs/examples/auth_manage_projects/list_and_create_projects.py @@ -4,7 +4,7 @@ import os import globus_sdk -from globus_sdk.tokenstorage import SimpleJSONFileAdapter +from globus_sdk.token_storage import SimpleJSONFileAdapter MY_FILE_ADAPTER = SimpleJSONFileAdapter( os.path.expanduser("~/.sdk-manage-projects.json") diff --git a/docs/examples/auth_manage_projects/manage_projects.py b/docs/examples/auth_manage_projects/manage_projects.py index 535c56383..02dc128fd 100644 --- a/docs/examples/auth_manage_projects/manage_projects.py +++ b/docs/examples/auth_manage_projects/manage_projects.py @@ -4,7 +4,7 @@ import os import globus_sdk -from globus_sdk.tokenstorage import SimpleJSONFileAdapter +from globus_sdk.token_storage import SimpleJSONFileAdapter MY_FILE_ADAPTER = SimpleJSONFileAdapter( os.path.expanduser("~/.sdk-manage-projects.json") diff --git a/docs/examples/create_and_run_flow/manage_flow.py b/docs/examples/create_and_run_flow/manage_flow.py index d96a22d9a..1275757f1 100644 --- a/docs/examples/create_and_run_flow/manage_flow.py +++ b/docs/examples/create_and_run_flow/manage_flow.py @@ -4,7 +4,7 @@ import sys import globus_sdk -from globus_sdk.tokenstorage import SimpleJSONFileAdapter +from globus_sdk.token_storage import SimpleJSONFileAdapter MY_FILE_ADAPTER = SimpleJSONFileAdapter(os.path.expanduser("~/.sdk-manage-flow.json")) diff --git a/docs/examples/create_and_run_flow/manage_flow_minimal.py b/docs/examples/create_and_run_flow/manage_flow_minimal.py index 75f97232c..e574a50bc 100644 --- a/docs/examples/create_and_run_flow/manage_flow_minimal.py +++ b/docs/examples/create_and_run_flow/manage_flow_minimal.py @@ -5,7 +5,7 @@ import sys import globus_sdk -from globus_sdk.tokenstorage import SimpleJSONFileAdapter +from globus_sdk.token_storage import SimpleJSONFileAdapter MY_FILE_ADAPTER = SimpleJSONFileAdapter(os.path.expanduser("~/.sdk-manage-flow.json")) diff --git a/docs/examples/create_and_run_flow/run_flow_minimal.py b/docs/examples/create_and_run_flow/run_flow_minimal.py index 60e79c598..e6dbbb2a7 100644 --- a/docs/examples/create_and_run_flow/run_flow_minimal.py +++ b/docs/examples/create_and_run_flow/run_flow_minimal.py @@ -5,7 +5,7 @@ import sys import globus_sdk -from globus_sdk.tokenstorage import SimpleJSONFileAdapter +from globus_sdk.token_storage import SimpleJSONFileAdapter MY_FILE_ADAPTER = SimpleJSONFileAdapter(os.path.expanduser("~/.sdk-manage-flow.json")) diff --git a/docs/examples/group_listing.rst b/docs/examples/group_listing.rst index a46f3448b..e218b6286 100644 --- a/docs/examples/group_listing.rst +++ b/docs/examples/group_listing.rst @@ -62,7 +62,7 @@ For simplicity, the script will prompt for login on each use. Group Listing With Token Storage -------------------------------- -``globus_sdk.tokenstorage`` provides tools for managing refresh tokens. The +``globus_sdk.token_storage`` provides tools for managing refresh tokens. The following example script shows how you might use this to provide a complete script which lists the current user's groups using refresh tokens. @@ -72,7 +72,7 @@ script which lists the current user's groups using refresh tokens. import os from globus_sdk import GroupsClient, NativeAppAuthClient, RefreshTokenAuthorizer - from globus_sdk.tokenstorage import SimpleJSONFileAdapter + from globus_sdk.token_storage import SimpleJSONFileAdapter CLIENT_ID = "61338d24-54d5-408f-a10d-66c06b59f6d2" AUTH_CLIENT = NativeAppAuthClient(CLIENT_ID) diff --git a/docs/examples/index.rst b/docs/examples/index.rst index bfea118e2..8b0b07e2d 100644 --- a/docs/examples/index.rst +++ b/docs/examples/index.rst @@ -9,7 +9,7 @@ Each of these pages contains an example of a piece of SDK functionality. minimal_transfer_script/index auth_manage_projects/index create_and_run_flow/index - tokenstorage/index + token_storage/index group_listing authorization native_app diff --git a/docs/examples/tokenstorage/dynamodb_tokenstorage.py b/docs/examples/token_storage/dynamodb_token_storage.py similarity index 99% rename from docs/examples/tokenstorage/dynamodb_tokenstorage.py rename to docs/examples/token_storage/dynamodb_token_storage.py index f37198dad..552b3bc28 100644 --- a/docs/examples/tokenstorage/dynamodb_tokenstorage.py +++ b/docs/examples/token_storage/dynamodb_token_storage.py @@ -7,7 +7,7 @@ import boto3 import globus_sdk -from globus_sdk.tokenstorage import StorageAdapter +from globus_sdk.token_storage import StorageAdapter CLIENT_ID = "61338d24-54d5-408f-a10d-66c06b59f6d2" tablename = "example-globus-tokenstorage" diff --git a/docs/examples/tokenstorage/index.rst b/docs/examples/token_storage/index.rst similarity index 79% rename from docs/examples/tokenstorage/index.rst rename to docs/examples/token_storage/index.rst index dadafaefe..ad23630df 100644 --- a/docs/examples/tokenstorage/index.rst +++ b/docs/examples/token_storage/index.rst @@ -1,4 +1,4 @@ -.. _example_tokenstorage: +.. _example_token_storage: Token Storage Adapters ====================== @@ -16,6 +16,6 @@ sequential scans for enumeration. The example therefore demonstrates that key-value stores with limited or no capabilities for table scans can be used to implement the token storage interface. -.. literalinclude:: dynamodb_tokenstorage.py - :caption: ``dynamodb_tokenstorage.py`` [:download:`download `] +.. literalinclude:: dynamodb_token_storage.py + :caption: ``dynamodb_token_storage.py`` [:download:`download `] :language: python diff --git a/docs/upgrading.rst b/docs/upgrading.rst index b4e86c904..7be36710f 100644 --- a/docs/upgrading.rst +++ b/docs/upgrading.rst @@ -239,6 +239,7 @@ The removed alias and new module names are shown in the table below. "``globus_sdk.experimental.auth_requirements_error``", "``globus_sdk.gare``" "``globus_sdk.experimental.scope_parser``", "``globus_sdk.scopes``" + "``globus_sdk.experimental.tokenstorage``", "``globus_sdk.token_storage``" ``MutableScope`` is Removed, use ``Scope`` Instead ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/user_guide/getting_started/list_groups_noapp_with_storage.py b/docs/user_guide/getting_started/list_groups_noapp_with_storage.py index 4425fe96e..8156e4d8a 100644 --- a/docs/user_guide/getting_started/list_groups_noapp_with_storage.py +++ b/docs/user_guide/getting_started/list_groups_noapp_with_storage.py @@ -1,7 +1,7 @@ import os import globus_sdk -from globus_sdk.tokenstorage import JSONTokenStorage +from globus_sdk.token_storage import JSONTokenStorage # this is the tutorial client ID # replace this string with your ID for production use diff --git a/docs/user_guide/getting_started/minimal_script_noapp.rst b/docs/user_guide/getting_started/minimal_script_noapp.rst index ef8d9758c..088d08373 100644 --- a/docs/user_guide/getting_started/minimal_script_noapp.rst +++ b/docs/user_guide/getting_started/minimal_script_noapp.rst @@ -182,7 +182,7 @@ Defining a token storage object is simple: .. code-block:: python import os - from globus_sdk.tokenstorage import JSONTokenStorage + from globus_sdk.token_storage import JSONTokenStorage token_storage = JSONTokenStorage( os.path.expanduser("~/.list-my-globus-groups-tokens.json") diff --git a/src/globus_sdk/experimental/tokenstorage.py b/src/globus_sdk/experimental/tokenstorage.py deleted file mode 100644 index 51b0a11ce..000000000 --- a/src/globus_sdk/experimental/tokenstorage.py +++ /dev/null @@ -1,43 +0,0 @@ -from __future__ import annotations - -import sys -import typing as t - -__all__ = ( - "JSONTokenStorage", - "SQLiteTokenStorage", - "TokenStorage", - "FileTokenStorage", - "MemoryTokenStorage", - "TokenStorageData", -) - -# legacy aliases -# (when accessed, these will emit deprecation warnings) -if t.TYPE_CHECKING: - from globus_sdk.tokenstorage import ( - FileTokenStorage, - JSONTokenStorage, - MemoryTokenStorage, - SQLiteTokenStorage, - TokenStorage, - TokenStorageData, - ) -else: - - def __getattr__(name: str) -> t.Any: - import globus_sdk.tokenstorage as tokenstorage_module - from globus_sdk.exc import warn_deprecated - - warn_deprecated( - "'globus_sdk.experimental.tokenstorage' has been renamed to " - "'globus_sdk.tokenstorage'. " - f"Importing '{name}' from `globus_sdk.experimental` is deprecated. " - f"Use `globus_sdk.tokenstorage.{name}` instead." - ) - - value = getattr(tokenstorage_module, name, None) - if value is None: - raise AttributeError(f"module {__name__} has no attribute {name}") - setattr(sys.modules[__name__], name, value) - return value diff --git a/src/globus_sdk/globus_app/app.py b/src/globus_sdk/globus_app/app.py index c66662ff6..d03ee726b 100644 --- a/src/globus_sdk/globus_app/app.py +++ b/src/globus_sdk/globus_app/app.py @@ -15,7 +15,7 @@ from globus_sdk.authorizers import GlobusAuthorizer from globus_sdk.gare import GlobusAuthorizationParameters from globus_sdk.scopes import AuthScopes, Scope, ScopeParser, scopes_to_scope_list -from globus_sdk.tokenstorage import ( +from globus_sdk.token_storage import ( ScopeRequirementsValidator, TokenStorage, TokenValidationError, diff --git a/src/globus_sdk/globus_app/authorizer_factory.py b/src/globus_sdk/globus_app/authorizer_factory.py index 173a69614..349505777 100644 --- a/src/globus_sdk/globus_app/authorizer_factory.py +++ b/src/globus_sdk/globus_app/authorizer_factory.py @@ -12,8 +12,8 @@ RefreshTokenAuthorizer, ) from globus_sdk.services.auth import OAuthTokenResponse -from globus_sdk.tokenstorage import ValidatingTokenStorage -from globus_sdk.tokenstorage.v2.validating_token_storage import MissingTokenError +from globus_sdk.token_storage import ValidatingTokenStorage +from globus_sdk.token_storage.v2.validating_token_storage import MissingTokenError GA = t.TypeVar("GA", bound=GlobusAuthorizer) diff --git a/src/globus_sdk/globus_app/config.py b/src/globus_sdk/globus_app/config.py index 778013150..22f01f3db 100644 --- a/src/globus_sdk/globus_app/config.py +++ b/src/globus_sdk/globus_app/config.py @@ -10,14 +10,14 @@ LocalServerLoginFlowManager, LoginFlowManager, ) -from globus_sdk.tokenstorage import ( +from globus_sdk.token_storage import ( JSONTokenStorage, MemoryTokenStorage, SQLiteTokenStorage, TokenStorage, TokenValidationError, ) -from globus_sdk.tokenstorage.v2.validating_token_storage import IdentityMismatchError +from globus_sdk.token_storage.v2.validating_token_storage import IdentityMismatchError from .protocols import ( IDTokenDecoderProvider, @@ -71,9 +71,9 @@ class GlobusAppConfig: :ivar str | ``TokenStorage`` | ``TokenStorageProvider`` token_storage: A class responsible for storing and retrieving tokens. This may be either a well-known provider (one of - :class:`"json" `, - :class:`"sqlite" `, or - :class:`"memory" `) or a custom + :class:`"json" `, + :class:`"sqlite" `, or + :class:`"memory" `) or a custom storage/provider. Default: ``"json"``. :ivar str | ``LoginFlowManager`` | ``LoginFlowManagerProvider`` login_flow_manager: diff --git a/src/globus_sdk/globus_app/protocols.py b/src/globus_sdk/globus_app/protocols.py index f7379af52..02f0e3d1f 100644 --- a/src/globus_sdk/globus_app/protocols.py +++ b/src/globus_sdk/globus_app/protocols.py @@ -6,7 +6,7 @@ from globus_sdk import AuthLoginClient, IDTokenDecoder from globus_sdk._types import UUIDLike from globus_sdk.login_flows import LoginFlowManager - from globus_sdk.tokenstorage import TokenStorage, TokenValidationError + from globus_sdk.token_storage import TokenStorage, TokenValidationError from .app import GlobusApp from .config import GlobusAppConfig diff --git a/src/globus_sdk/globus_app/user_app.py b/src/globus_sdk/globus_app/user_app.py index aef011214..6346971f3 100644 --- a/src/globus_sdk/globus_app/user_app.py +++ b/src/globus_sdk/globus_app/user_app.py @@ -13,7 +13,7 @@ from globus_sdk._types import ScopeCollectionType, UUIDLike from globus_sdk.gare import GlobusAuthorizationParameters from globus_sdk.login_flows import CommandLineLoginFlowManager, LoginFlowManager -from globus_sdk.tokenstorage import ( +from globus_sdk.token_storage import ( HasRefreshTokensValidator, NotExpiredValidator, TokenStorage, diff --git a/src/globus_sdk/tokenstorage/__init__.py b/src/globus_sdk/token_storage/__init__.py similarity index 100% rename from src/globus_sdk/tokenstorage/__init__.py rename to src/globus_sdk/token_storage/__init__.py diff --git a/src/globus_sdk/tokenstorage/v1/__init__.py b/src/globus_sdk/token_storage/v1/__init__.py similarity index 100% rename from src/globus_sdk/tokenstorage/v1/__init__.py rename to src/globus_sdk/token_storage/v1/__init__.py diff --git a/src/globus_sdk/tokenstorage/v1/base.py b/src/globus_sdk/token_storage/v1/base.py similarity index 100% rename from src/globus_sdk/tokenstorage/v1/base.py rename to src/globus_sdk/token_storage/v1/base.py diff --git a/src/globus_sdk/tokenstorage/v1/file_adapters.py b/src/globus_sdk/token_storage/v1/file_adapters.py similarity index 99% rename from src/globus_sdk/tokenstorage/v1/file_adapters.py rename to src/globus_sdk/token_storage/v1/file_adapters.py index f5655a2f6..f0113dfd1 100644 --- a/src/globus_sdk/tokenstorage/v1/file_adapters.py +++ b/src/globus_sdk/token_storage/v1/file_adapters.py @@ -55,7 +55,7 @@ def _raw_load(self) -> dict[str, t.Any]: return val def _handle_formats(self, read_data: dict[str, t.Any]) -> _JSONFileData: - """Handle older data formats supported by globus_sdk.tokenstorage + """Handle older data formats supported by globus_sdk.token_storage if the data is not in a known/recognized format, this will error otherwise, reshape the data to the current supported format and return it @@ -110,7 +110,7 @@ def store(self, token_response: globus_sdk.OAuthTokenResponse) -> None: Given a token response, extract all the token data and write it to ``self.filename`` as JSON data. - Additionally will write the version of ``globus_sdk.tokenstorage`` + Additionally will write the version of ``globus_sdk.token_storage`` which was in use. Under the assumption that this may be running on a system with multiple diff --git a/src/globus_sdk/tokenstorage/v1/memory_adapter.py b/src/globus_sdk/token_storage/v1/memory_adapter.py similarity index 100% rename from src/globus_sdk/tokenstorage/v1/memory_adapter.py rename to src/globus_sdk/token_storage/v1/memory_adapter.py diff --git a/src/globus_sdk/tokenstorage/v1/sqlite_adapter.py b/src/globus_sdk/token_storage/v1/sqlite_adapter.py similarity index 100% rename from src/globus_sdk/tokenstorage/v1/sqlite_adapter.py rename to src/globus_sdk/token_storage/v1/sqlite_adapter.py diff --git a/src/globus_sdk/tokenstorage/v2/__init__.py b/src/globus_sdk/token_storage/v2/__init__.py similarity index 100% rename from src/globus_sdk/tokenstorage/v2/__init__.py rename to src/globus_sdk/token_storage/v2/__init__.py diff --git a/src/globus_sdk/tokenstorage/v2/base.py b/src/globus_sdk/token_storage/v2/base.py similarity index 100% rename from src/globus_sdk/tokenstorage/v2/base.py rename to src/globus_sdk/token_storage/v2/base.py diff --git a/src/globus_sdk/tokenstorage/v2/json.py b/src/globus_sdk/token_storage/v2/json.py similarity index 100% rename from src/globus_sdk/tokenstorage/v2/json.py rename to src/globus_sdk/token_storage/v2/json.py diff --git a/src/globus_sdk/tokenstorage/v2/memory.py b/src/globus_sdk/token_storage/v2/memory.py similarity index 100% rename from src/globus_sdk/tokenstorage/v2/memory.py rename to src/globus_sdk/token_storage/v2/memory.py diff --git a/src/globus_sdk/tokenstorage/v2/sqlite.py b/src/globus_sdk/token_storage/v2/sqlite.py similarity index 100% rename from src/globus_sdk/tokenstorage/v2/sqlite.py rename to src/globus_sdk/token_storage/v2/sqlite.py diff --git a/src/globus_sdk/tokenstorage/v2/token_data.py b/src/globus_sdk/token_storage/v2/token_data.py similarity index 100% rename from src/globus_sdk/tokenstorage/v2/token_data.py rename to src/globus_sdk/token_storage/v2/token_data.py diff --git a/src/globus_sdk/tokenstorage/v2/validating_token_storage/__init__.py b/src/globus_sdk/token_storage/v2/validating_token_storage/__init__.py similarity index 100% rename from src/globus_sdk/tokenstorage/v2/validating_token_storage/__init__.py rename to src/globus_sdk/token_storage/v2/validating_token_storage/__init__.py diff --git a/src/globus_sdk/tokenstorage/v2/validating_token_storage/context.py b/src/globus_sdk/token_storage/v2/validating_token_storage/context.py similarity index 100% rename from src/globus_sdk/tokenstorage/v2/validating_token_storage/context.py rename to src/globus_sdk/token_storage/v2/validating_token_storage/context.py diff --git a/src/globus_sdk/tokenstorage/v2/validating_token_storage/errors.py b/src/globus_sdk/token_storage/v2/validating_token_storage/errors.py similarity index 100% rename from src/globus_sdk/tokenstorage/v2/validating_token_storage/errors.py rename to src/globus_sdk/token_storage/v2/validating_token_storage/errors.py diff --git a/src/globus_sdk/tokenstorage/v2/validating_token_storage/storage.py b/src/globus_sdk/token_storage/v2/validating_token_storage/storage.py similarity index 100% rename from src/globus_sdk/tokenstorage/v2/validating_token_storage/storage.py rename to src/globus_sdk/token_storage/v2/validating_token_storage/storage.py diff --git a/src/globus_sdk/tokenstorage/v2/validating_token_storage/validators.py b/src/globus_sdk/token_storage/v2/validating_token_storage/validators.py similarity index 100% rename from src/globus_sdk/tokenstorage/v2/validating_token_storage/validators.py rename to src/globus_sdk/token_storage/v2/validating_token_storage/validators.py diff --git a/tests/functional/globus_app/test_globus_app_token_handling.py b/tests/functional/globus_app/test_globus_app_token_handling.py index ab5b979f6..ecf7e8810 100644 --- a/tests/functional/globus_app/test_globus_app_token_handling.py +++ b/tests/functional/globus_app/test_globus_app_token_handling.py @@ -4,7 +4,7 @@ import responses import globus_sdk -import globus_sdk.tokenstorage +import globus_sdk.token_storage from globus_sdk._testing import RegisteredResponse, load_response # the JWT will have a client ID in its audience claim @@ -124,7 +124,7 @@ def _count_jwk_calls(): calls = [c for c in calls if c.url == "https://auth.globus.org/jwk.json"] return len(calls) - memory_storage = globus_sdk.tokenstorage.MemoryTokenStorage() + memory_storage = globus_sdk.token_storage.MemoryTokenStorage() config = globus_sdk.GlobusAppConfig( token_storage=memory_storage, id_token_decoder=InfiniteLeewayDecoder, @@ -164,7 +164,7 @@ def __init__(self, *args, **kwargs) -> None: nonlocal init_counter init_counter += 1 - memory_storage = globus_sdk.tokenstorage.MemoryTokenStorage() + memory_storage = globus_sdk.token_storage.MemoryTokenStorage() config = globus_sdk.GlobusAppConfig( token_storage=memory_storage, id_token_decoder=CustomDecoder, @@ -195,7 +195,7 @@ def decode(self, *args, **kwargs) -> None: return super().decode(*args, **kwargs) login_client = globus_sdk.NativeAppAuthClient(client_id=CLIENT_ID_FROM_JWT) - memory_storage = globus_sdk.tokenstorage.MemoryTokenStorage() + memory_storage = globus_sdk.token_storage.MemoryTokenStorage() config = globus_sdk.GlobusAppConfig( token_storage=memory_storage, id_token_decoder=CustomDecoder(login_client) ) @@ -222,7 +222,7 @@ def test_globus_app_custom_id_token_decoder_instance_can_overload_jwt_leeway( load_response(globus_sdk.NativeAppAuthClient.oauth2_revoke_token) login_client = globus_sdk.NativeAppAuthClient(client_id=CLIENT_ID_FROM_JWT) - memory_storage = globus_sdk.tokenstorage.MemoryTokenStorage() + memory_storage = globus_sdk.token_storage.MemoryTokenStorage() config = globus_sdk.GlobusAppConfig( token_storage=memory_storage, id_token_decoder=globus_sdk.IDTokenDecoder( diff --git a/tests/functional/tokenstorage/v1/test_simplejson_file.py b/tests/functional/tokenstorage/v1/test_simplejson_file.py index ed6153ac4..371784f11 100644 --- a/tests/functional/tokenstorage/v1/test_simplejson_file.py +++ b/tests/functional/tokenstorage/v1/test_simplejson_file.py @@ -4,7 +4,7 @@ import pytest from globus_sdk import __version__ -from globus_sdk.tokenstorage import SimpleJSONFileAdapter +from globus_sdk.token_storage import SimpleJSONFileAdapter IS_WINDOWS = os.name == "nt" diff --git a/tests/functional/tokenstorage/v1/test_sqlite.py b/tests/functional/tokenstorage/v1/test_sqlite.py index 176a4d3ac..95361b5cf 100644 --- a/tests/functional/tokenstorage/v1/test_sqlite.py +++ b/tests/functional/tokenstorage/v1/test_sqlite.py @@ -1,6 +1,6 @@ import pytest -from globus_sdk.tokenstorage import SQLiteAdapter +from globus_sdk.token_storage import SQLiteAdapter @pytest.fixture diff --git a/tests/functional/tokenstorage/v2/conftest.py b/tests/functional/tokenstorage/v2/conftest.py index 2bbe171e0..f00823c35 100644 --- a/tests/functional/tokenstorage/v2/conftest.py +++ b/tests/functional/tokenstorage/v2/conftest.py @@ -6,7 +6,7 @@ import globus_sdk from globus_sdk._testing import RegisteredResponse -from globus_sdk.tokenstorage import TokenStorageData +from globus_sdk.token_storage import TokenStorageData @pytest.fixture diff --git a/tests/functional/tokenstorage/v2/test_common_tokenstorage.py b/tests/functional/tokenstorage/v2/test_common_tokenstorage.py index 1162b20f3..f732710df 100644 --- a/tests/functional/tokenstorage/v2/test_common_tokenstorage.py +++ b/tests/functional/tokenstorage/v2/test_common_tokenstorage.py @@ -1,6 +1,6 @@ import pytest -from globus_sdk.tokenstorage import ( +from globus_sdk.token_storage import ( JSONTokenStorage, MemoryTokenStorage, SQLiteTokenStorage, diff --git a/tests/functional/tokenstorage/v2/test_json_tokenstorage.py b/tests/functional/tokenstorage/v2/test_json_tokenstorage.py index 04221130e..b383cf862 100644 --- a/tests/functional/tokenstorage/v2/test_json_tokenstorage.py +++ b/tests/functional/tokenstorage/v2/test_json_tokenstorage.py @@ -4,7 +4,7 @@ import pytest from globus_sdk import __version__ -from globus_sdk.tokenstorage import JSONTokenStorage, SimpleJSONFileAdapter +from globus_sdk.token_storage import JSONTokenStorage, SimpleJSONFileAdapter IS_WINDOWS = os.name == "nt" diff --git a/tests/functional/tokenstorage/v2/test_memory_tokenstorage.py b/tests/functional/tokenstorage/v2/test_memory_tokenstorage.py index 9783e0b7b..f2631144a 100644 --- a/tests/functional/tokenstorage/v2/test_memory_tokenstorage.py +++ b/tests/functional/tokenstorage/v2/test_memory_tokenstorage.py @@ -1,4 +1,4 @@ -from globus_sdk.tokenstorage import MemoryTokenStorage +from globus_sdk.token_storage import MemoryTokenStorage def test_store_and_get_token_data_by_resource_server( diff --git a/tests/functional/tokenstorage/v2/test_sqlite_tokenstorage.py b/tests/functional/tokenstorage/v2/test_sqlite_tokenstorage.py index 5662afc57..552f3a2d1 100644 --- a/tests/functional/tokenstorage/v2/test_sqlite_tokenstorage.py +++ b/tests/functional/tokenstorage/v2/test_sqlite_tokenstorage.py @@ -1,7 +1,7 @@ import pytest from globus_sdk import exc -from globus_sdk.tokenstorage import SQLiteAdapter, SQLiteTokenStorage +from globus_sdk.token_storage import SQLiteAdapter, SQLiteTokenStorage @pytest.fixture diff --git a/tests/non-pytest/lazy-imports/test_modules_do_not_require_requests.py b/tests/non-pytest/lazy-imports/test_modules_do_not_require_requests.py index d7a97dc2b..8bd4faabe 100644 --- a/tests/non-pytest/lazy-imports/test_modules_do_not_require_requests.py +++ b/tests/non-pytest/lazy-imports/test_modules_do_not_require_requests.py @@ -28,7 +28,7 @@ "paging", "response", "scopes", - "tokenstorage", + "token_storage", # the top-level of the 'exc' subpackage (but not necessarily its contents) # should similarly be standalone, for exception handlers "exc", diff --git a/tests/unit/experimental/test_legacy_support.py b/tests/unit/experimental/test_legacy_support.py index 16f9825fe..349f8c1a1 100644 --- a/tests/unit/experimental/test_legacy_support.py +++ b/tests/unit/experimental/test_legacy_support.py @@ -23,15 +23,6 @@ def test_login_flow_manager_importable_from_experimental(): ) -def test_tokenstorage_importable_from_experimental(): - with pytest.warns(RemovedInV4Warning): - from globus_sdk.experimental.tokenstorage import ( # noqa: F401 - JSONTokenStorage, - MemoryTokenStorage, - SQLiteTokenStorage, - ) - - def test_globus_app_importable_from_experimental(): # This construct should be imported from `globus_sdk.globus_app`. with pytest.warns(RemovedInV4Warning, match=r"globus_sdk\.globus_app\."): diff --git a/tests/unit/globus_app/test_authorizer_factory.py b/tests/unit/globus_app/test_authorizer_factory.py index 111ce963e..cb38521d9 100644 --- a/tests/unit/globus_app/test_authorizer_factory.py +++ b/tests/unit/globus_app/test_authorizer_factory.py @@ -8,12 +8,12 @@ ClientCredentialsAuthorizerFactory, RefreshTokenAuthorizerFactory, ) -from globus_sdk.tokenstorage import ( +from globus_sdk.token_storage import ( HasRefreshTokensValidator, MemoryTokenStorage, NotExpiredValidator, ) -from globus_sdk.tokenstorage.v2.validating_token_storage import ( +from globus_sdk.token_storage.v2.validating_token_storage import ( ExpiredTokenError, MissingTokenError, ValidatingTokenStorage, diff --git a/tests/unit/globus_app/test_client_integration.py b/tests/unit/globus_app/test_client_integration.py index 126761f8d..e676eb5ec 100644 --- a/tests/unit/globus_app/test_client_integration.py +++ b/tests/unit/globus_app/test_client_integration.py @@ -5,7 +5,7 @@ import globus_sdk from globus_sdk import GlobusApp, GlobusAppConfig, UserApp from globus_sdk._testing import load_response -from globus_sdk.tokenstorage import MemoryTokenStorage +from globus_sdk.token_storage import MemoryTokenStorage @pytest.fixture diff --git a/tests/unit/globus_app/test_globus_app.py b/tests/unit/globus_app/test_globus_app.py index 13cd38529..7149871ac 100644 --- a/tests/unit/globus_app/test_globus_app.py +++ b/tests/unit/globus_app/test_globus_app.py @@ -33,7 +33,7 @@ LoginFlowManager, ) from globus_sdk.scopes import AuthScopes, Scope -from globus_sdk.tokenstorage import ( +from globus_sdk.token_storage import ( HasRefreshTokensValidator, JSONTokenStorage, MemoryTokenStorage, diff --git a/tests/unit/test_base_client.py b/tests/unit/test_base_client.py index e6555262e..0b08f689c 100644 --- a/tests/unit/test_base_client.py +++ b/tests/unit/test_base_client.py @@ -10,7 +10,7 @@ from globus_sdk._testing import RegisteredResponse, get_last_request from globus_sdk.authorizers import NullAuthorizer from globus_sdk.scopes import Scope, TransferScopes -from globus_sdk.tokenstorage import TokenValidationError +from globus_sdk.token_storage import TokenValidationError @pytest.fixture diff --git a/tests/unit/tokenstorage/v1/test_memory_adapter.py b/tests/unit/tokenstorage/v1/test_memory_adapter.py index d94ff1adc..9402eaaac 100644 --- a/tests/unit/tokenstorage/v1/test_memory_adapter.py +++ b/tests/unit/tokenstorage/v1/test_memory_adapter.py @@ -1,7 +1,7 @@ import time from unittest import mock -from globus_sdk.tokenstorage import MemoryAdapter +from globus_sdk.token_storage import MemoryAdapter def test_memory_adapter_store_overwrites_only_new_data(): diff --git a/tests/unit/tokenstorage/v1/test_simplejson_adapter.py b/tests/unit/tokenstorage/v1/test_simplejson_adapter.py index ecf3c13a7..88d35d28c 100644 --- a/tests/unit/tokenstorage/v1/test_simplejson_adapter.py +++ b/tests/unit/tokenstorage/v1/test_simplejson_adapter.py @@ -3,7 +3,7 @@ import pytest from globus_sdk import __version__ as sdkversion -from globus_sdk.tokenstorage import SimpleJSONFileAdapter +from globus_sdk.token_storage import SimpleJSONFileAdapter def test_simplejson_reading_bad_data(tmp_path): diff --git a/tests/unit/tokenstorage/v1/test_sqlite_adapter.py b/tests/unit/tokenstorage/v1/test_sqlite_adapter.py index f76e7a7c7..d7740af05 100644 --- a/tests/unit/tokenstorage/v1/test_sqlite_adapter.py +++ b/tests/unit/tokenstorage/v1/test_sqlite_adapter.py @@ -1,6 +1,6 @@ import pytest -from globus_sdk.tokenstorage import SQLiteAdapter +from globus_sdk.token_storage import SQLiteAdapter def test_sqlite_reading_bad_config(): diff --git a/tests/unit/tokenstorage/v2/test_token_storage.py b/tests/unit/tokenstorage/v2/test_token_storage.py index 5f9919436..8b25e5548 100644 --- a/tests/unit/tokenstorage/v2/test_token_storage.py +++ b/tests/unit/tokenstorage/v2/test_token_storage.py @@ -1,7 +1,7 @@ import pytest from globus_sdk import GlobusSDKUsageError -from globus_sdk.tokenstorage.v2.base import _slugify_app_name +from globus_sdk.token_storage.v2.base import _slugify_app_name @pytest.mark.parametrize( diff --git a/tests/unit/tokenstorage/v2/test_validating_token_storage.py b/tests/unit/tokenstorage/v2/test_validating_token_storage.py index bdba81328..f7ab0046a 100644 --- a/tests/unit/tokenstorage/v2/test_validating_token_storage.py +++ b/tests/unit/tokenstorage/v2/test_validating_token_storage.py @@ -16,13 +16,13 @@ Scope, ) from globus_sdk.scopes.consents import ConsentForest -from globus_sdk.tokenstorage import ( +from globus_sdk.token_storage import ( MemoryTokenStorage, ScopeRequirementsValidator, UnchangingIdentityIDValidator, ValidatingTokenStorage, ) -from globus_sdk.tokenstorage.v2.validating_token_storage import ( +from globus_sdk.token_storage.v2.validating_token_storage import ( IdentityMismatchError, MissingIdentityError, MissingTokenError,