Add per-client billing basis export

This commit is contained in:
tegwick 2026-08-11 14:39:48 +02:00
parent b75ad06b3a
commit fcec177ded
10 changed files with 506 additions and 11 deletions

View file

@ -1,11 +1,16 @@
import pytest
from fin_hub.attribution import ClientAttribution, optional_attribution
from fin_hub.attribution import (
ClientAttribution,
optional_attribution,
parse_client_attribution_key,
)
def test_client_attribution_key_is_stable():
attribution = ClientAttribution(" acme ", "portal", "prod-01")
assert attribution.key == "client:acme|app:portal|instance:prod-01"
assert parse_client_attribution_key(attribution.key) == attribution
def test_empty_attribution_is_explicitly_unattributed():
@ -17,3 +22,8 @@ def test_empty_attribution_is_explicitly_unattributed():
def test_client_attribution_rejects_unsafe_parts(invalid: str):
with pytest.raises(ValueError):
ClientAttribution(invalid, "portal", "prod-01")
def test_client_attribution_parser_rejects_other_namespaces():
with pytest.raises(ValueError, match="invalid"):
parse_client_attribution_key("platform:shared-cluster")