Skip to content

Commit d5d5b13

Browse files
committed
Add to schema with test
1 parent 5e9d01b commit d5d5b13

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

eppo_metrics_sync/schema/eppo_metric_schema.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@
156156
},
157157
"operation": {
158158
"description": "Which aggregation to apply to the fact",
159-
"enum": ["sum", "count", "distinct_entity", "threshold", "conversion", "retention", "count_distinct"]
159+
"enum": ["sum", "count", "distinct_entity", "threshold", "conversion", "retention", "count_distinct", "last_value", "first_value"]
160160
},
161161
"filters": {
162162
"description": "Optional fact property filters to apply",
@@ -254,7 +254,7 @@
254254
},
255255
"operation": {
256256
"description": "How to aggregate fact",
257-
"enum": ["sum", "count", "distinct_entity", "count_distinct"]
257+
"enum": ["sum", "count", "distinct_entity", "count_distinct", "last_value", "first_value"]
258258
},
259259
"filters": {
260260
"description": "Optional fact property filters to apply",

tests/test_validation.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,8 @@ def test_last_value():
137137
def test_first_value():
138138
res = aggregation_is_valid({'operation': 'first_value'})
139139
assert res == None
140+
141+
def test_valid_yaml():
142+
eppo_metrics_sync = EppoMetricsSync(directory=None)
143+
eppo_metrics_sync.load_eppo_yaml(path='tests/yaml/valid/purchases.yaml')
144+
eppo_metrics_sync.validate()

tests/yaml/valid/purchases.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,10 @@ metrics:
5252
operation: equals
5353
values:
5454
- "UNITED STATES"
55-
55+
- name: Last Purchase Amount
56+
description: The last purchase amount with winsorization
57+
numerator:
58+
fact_name: Purchase
59+
operation: last_value
60+
winsorization_lower_percentile: 0.05
61+
winsorization_upper_percentile: 0.95

0 commit comments

Comments
 (0)