Skip to content

Commit bed2c7b

Browse files
committed
make enum strings display consistently for python >=3.11
Signed-off-by: Lance Drane <dranelt@ornl.gov>
1 parent 5d6666d commit bed2c7b

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/intersect_sdk/_internal/event_metadata.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,18 @@ def definition_metadata_differences(
5151
differences.append(('event_type', str(definition.event_type), str(metadata.type)))
5252
if definition.content_type != metadata.content_type:
5353
differences.append(
54-
('content_type', str(definition.content_type), str(metadata.content_type))
54+
(
55+
'content_type',
56+
f'{definition.content_type.__class__.__name__}.{definition.content_type.name}',
57+
f'{metadata.content_type.__class__.__name__}.{metadata.content_type.name}',
58+
)
5559
)
5660
if definition.data_handler != metadata.data_transfer_handler:
5761
differences.append(
58-
('data_handler', str(definition.data_handler), str(metadata.data_transfer_handler))
62+
(
63+
'data_handler',
64+
f'{definition.data_handler.__class__.__name__}.{definition.data_handler.name}',
65+
f'{metadata.data_transfer_handler.__class__.__name__}.{metadata.data_transfer_handler.name}',
66+
)
5967
)
6068
return differences

tests/unit/test_schema_invalids.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"""
1515

1616
import datetime
17+
import sys
1718
from collections import namedtuple
1819
from dataclasses import dataclass
1920
from typing import Any, Dict, FrozenSet, Generator, List, NamedTuple, Set, Tuple, TypeVar
@@ -726,6 +727,10 @@ def mismatching_default_type(
726727
assert 'is not JSON serializable' in caplog.text
727728

728729

730+
@pytest.mark.skipif(
731+
sys.version_info >= (3, 11),
732+
reason='Python 3.11 does not allow dataclasses to be constructed in this improper format',
733+
)
729734
def test_invalid_nested_defaults(caplog: pytest.LogCaptureFixture):
730735
# should fail because we cannot serialize the defaults
731736
class InvalidNestedDefaults(IntersectBaseCapabilityImplementation):

0 commit comments

Comments
 (0)