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
extensions: dict[str, Any] = {
"hubschemaversion": config.cloudevents.schema_version,
"hubcategory": event.category,
"centralschemaversion": config.cloudevents.schema_version,
"centralcategory": event.category,
}
# Only include hubseverity if severity is present
# Only include centralseverity if severity is present
if event.severity is not None:
extensions["hubseverity"] = event.severity
extensions["centralseverity"] = event.severity
# Create CloudEvent
ce = CloudEvent(

View file

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