diff --git a/ops/model.py b/ops/model.py index 62c93384e..860c822d9 100644 --- a/ops/model.py +++ b/ops/model.py @@ -72,8 +72,8 @@ _ReadOnlyStatusName = Literal['error', 'unknown'] _SettableStatusName = Literal['active', 'blocked', 'maintenance', 'waiting'] -_StatusName = Union[_SettableStatusName, _ReadOnlyStatusName] -_StatusDict = TypedDict('_StatusDict', {'status': _StatusName, 'message': str}) +StatusName = Union[_SettableStatusName, _ReadOnlyStatusName] +_StatusDict = TypedDict('_StatusDict', {'status': StatusName, 'message': str}) _SETTABLE_STATUS_NAMES: Tuple[_SettableStatusName, ...] = get_args(_SettableStatusName) # mapping from relation name to a list of relation objects @@ -1878,10 +1878,10 @@ class StatusBase: directly use the child class such as :class:`ActiveStatus` to indicate their status. """ - _statuses: Dict[_StatusName, Type['StatusBase']] = {} + _statuses: Dict[StatusName, Type['StatusBase']] = {} # Subclasses must provide this attribute - name: _StatusName + name: StatusName def __init__(self, message: str = ''): if self.__class__ is StatusBase: @@ -1915,7 +1915,7 @@ def from_name(cls, name: str, message: str): # unknown is special return UnknownStatus() else: - return cls._statuses[typing.cast(_StatusName, name)](message) + return cls._statuses[typing.cast(StatusName, name)](message) @classmethod def register(cls, child: Type['StatusBase']): diff --git a/ops/testing.py b/ops/testing.py index a35a83186..1560de548 100644 --- a/ops/testing.py +++ b/ops/testing.py @@ -60,7 +60,7 @@ from ops._private import yaml from ops.charm import CharmBase, CharmMeta, RelationRole from ops.jujucontext import _JujuContext -from ops.model import Container, RelationNotFoundError, _NetworkDict, _StatusName +from ops.model import Container, RelationNotFoundError, _NetworkDict, StatusName from ops.pebble import ExecProcess ReadableBuffer = Union[bytes, str, StringIO, BytesIO, BinaryIO] @@ -82,7 +82,7 @@ _RawStatus = TypedDict( '_RawStatus', { - 'status': _StatusName, + 'status': StatusName, 'message': str, }, ) diff --git a/test/test_charm.py b/test/test_charm.py index 2f399a25b..0939fbb6b 100644 --- a/test/test_charm.py +++ b/test/test_charm.py @@ -22,7 +22,7 @@ import ops import ops.charm -from ops.model import ModelError, _StatusName +from ops.model import ModelError, StatusName from .test_helpers import FakeScript, create_framework @@ -965,11 +965,11 @@ def _on_collect_status(self, event: ops.CollectStatusEvent): def test_collect_status_priority_valid( request: pytest.FixtureRequest, fake_script: FakeScript, - statuses: typing.List[_StatusName], + statuses: typing.List[StatusName], expected: str, ): class MyCharm(ops.CharmBase): - def __init__(self, framework: ops.Framework, statuses: typing.List[_StatusName]): + def __init__(self, framework: ops.Framework, statuses: typing.List[StatusName]): super().__init__(framework) self.framework.observe(self.on.collect_app_status, self._on_collect_status) self.statuses = statuses @@ -999,10 +999,10 @@ def _on_collect_status(self, event: ops.CollectStatusEvent): def test_collect_status_priority_invalid( request: pytest.FixtureRequest, fake_script: FakeScript, - statuses: typing.List[_StatusName], + statuses: typing.List[StatusName], ): class MyCharm(ops.CharmBase): - def __init__(self, framework: ops.Framework, statuses: typing.List[_StatusName]): + def __init__(self, framework: ops.Framework, statuses: typing.List[StatusName]): super().__init__(framework) self.framework.observe(self.on.collect_app_status, self._on_collect_status) self.statuses = statuses