refactor: rename CloudEvents extension attributes hub* → central*

Rename extension attributes for consistency with project naming:
- hubschemaversion → centralschemaversion
- hubcategory → centralcategory
- hubseverity → centralseverity

Non-breaking change - no consumers depend on these names yet.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Matt Johnson 2026-05-15 21:47:06 +00:00 committed by Ubuntu
commit 4a7f1a76c7
2 changed files with 33 additions and 33 deletions

View file

@ -24,13 +24,13 @@ def wrap_event(event: Event, config: Config) -> tuple[dict[str, Any], str]:
# Build extension attributes - lowercase, no underscores per CE spec # Build extension attributes - lowercase, no underscores per CE spec
extensions: dict[str, Any] = { extensions: dict[str, Any] = {
"hubschemaversion": config.cloudevents.schema_version, "centralschemaversion": config.cloudevents.schema_version,
"hubcategory": event.category, "centralcategory": event.category,
} }
# Only include hubseverity if severity is present # Only include centralseverity if severity is present
if event.severity is not None: if event.severity is not None:
extensions["hubseverity"] = event.severity extensions["centralseverity"] = event.severity
# Create CloudEvent # Create CloudEvent
ce = CloudEvent( ce = CloudEvent(

View file

@ -129,19 +129,19 @@ class TestCloudEventsWire:
envelope, _ = wrap_event(sample_event, sample_config) envelope, _ = wrap_event(sample_event, sample_config)
# Check that extension attributes exist and are lowercase # Check that extension attributes exist and are lowercase
assert envelope["hubschemaversion"] == "1.0" assert envelope["centralschemaversion"] == "1.0"
assert envelope["hubcategory"] == "wx.alert.severe_thunderstorm_warning" assert envelope["centralcategory"] == "wx.alert.severe_thunderstorm_warning"
assert envelope["hubseverity"] == 3 assert envelope["centralseverity"] == 3
# Verify no uppercase or underscores in extension names # Verify no uppercase or underscores in extension names
for key in ["hubschemaversion", "hubcategory", "hubseverity"]: for key in ["centralschemaversion", "centralcategory", "centralseverity"]:
assert key.islower() assert key.islower()
assert "_" not in key assert "_" not in key
def test_severity_none_omits_hubseverity( def test_severity_none_omits_centralseverity(
self, sample_geo: Geo, sample_config: Config self, sample_geo: Geo, sample_config: Config
) -> None: ) -> None:
"""When severity is None, hubseverity is omitted entirely.""" """When severity is None, centralseverity is omitted entirely."""
event = Event( event = Event(
id="test-no-severity", id="test-no-severity",
source="test", source="test",
@ -154,8 +154,8 @@ class TestCloudEventsWire:
envelope, _ = wrap_event(event, sample_config) envelope, _ = wrap_event(event, sample_config)
# hubseverity should not be present at all # centralseverity should not be present at all
assert "hubseverity" not in envelope assert "centralseverity" not in envelope
# Other extensions should still be present # Other extensions should still be present
assert "hubschemaversion" in envelope assert "centralschemaversion" in envelope
assert "hubcategory" in envelope assert "centralcategory" in envelope