Files
ss-tools/backend/src/schemas/dashboard_testing/enums.py

116 lines
3.9 KiB
Python

# #region DashboardTesting.Schemas.Enums [C:1] [TYPE Module] [SEMANTICS baseline,enum]
# @defgroup DashboardTesting.Enums Core enums for dashboard testing schemas.
# @LAYER DTO
# @INVARIANT All enums are StrEnum for JSON serialization compatibility.
from __future__ import annotations
from enum import StrEnum
# #region DashboardTesting.Schemas.ValueKind [C:1] [TYPE Class] [SEMANTICS baseline,enum,value-kind]
class ValueKind(StrEnum):
NULL = "null"
BOOLEAN = "boolean"
INTEGER = "integer"
DECIMAL = "decimal"
STRING = "string"
DATE = "date"
DATETIME = "datetime"
PERCENT = "percent"
TABLE = "table"
BIG_NUMBER = "big_number"
UNKNOWN = "unknown"
# #endregion DashboardTesting.Schemas.ValueKind
# #region DashboardTesting.Schemas.BaselineStatus [C:1] [TYPE Class] [SEMANTICS baseline,enum,status]
class BaselineStatus(StrEnum):
APPROVED = "approved"
SUPERSEDED = "superseded"
RETIRED = "retired"
# #endregion DashboardTesting.Schemas.BaselineStatus
# #region DashboardTesting.Schemas.ComparisonStatus [C:1] [TYPE Class] [SEMANTICS baseline,enum,comparison]
class ComparisonStatus(StrEnum):
PASS = "pass"
FAIL = "fail"
INCONCLUSIVE = "inconclusive"
MISSING_BASELINE = "missing_baseline"
STALE_BASELINE = "stale_baseline"
STALE_VISUAL_BASELINE = "stale_visual_baseline"
IMMUTABILITY_VIOLATION = "immutability_violation"
PERMISSION_DENIED = "permission_denied"
SOURCE_ERROR = "source_error"
# #endregion DashboardTesting.Schemas.ComparisonStatus
# #region DashboardTesting.Schemas.ImmutabilityPolicy [C:1] [TYPE Class] [SEMANTICS baseline,enum,immutability]
class ImmutabilityPolicy(StrEnum):
ALERT = "alert"
BLOCK_PUBLISH = "block_publish"
REQUIRE_INVESTIGATION = "require_investigation"
# #endregion DashboardTesting.Schemas.ImmutabilityPolicy
# #region DashboardTesting.Schemas.ComparisonPolicyType [C:1] [TYPE Class] [SEMANTICS baseline,enum,comparison-policy]
class ComparisonPolicyType(StrEnum):
EXACT = "exact"
ABSOLUTE_TOLERANCE = "absolute_tolerance"
RELATIVE_TOLERANCE = "relative_tolerance"
RANGE = "range"
ROW_SET = "row_set"
VISUAL_EXACT = "visual_exact"
VISUAL_PERCEPTUAL = "visual_perceptual"
# #endregion DashboardTesting.Schemas.ComparisonPolicyType
# #region DashboardTesting.Schemas.VizType [C:1] [TYPE Class] [SEMANTICS baseline,enum,visualization]
class VizType(StrEnum):
TABLE = "table"
BAR = "bar"
LINE = "line"
PIE = "pie"
BIG_NUMBER = "big_number"
BIG_NUMBER_TOTAL = "big_number_total"
FILTER_BOX = "filter_box"
MAP = "map"
HANDOFF = "handoff"
OTHER = "other"
# #endregion DashboardTesting.Schemas.VizType
# #region DashboardTesting.Schemas.DiffSeverity [C:1] [TYPE Class] [SEMANTICS baseline,enum,structure-diff]
class DiffSeverity(StrEnum):
CRITICAL = "critical"
WARNING = "warning"
INFO = "info"
# #endregion DashboardTesting.Schemas.DiffSeverity
# #region DashboardTesting.Schemas.DiffKind [C:1] [TYPE Class] [SEMANTICS baseline,enum,structure-diff]
class DiffKind(StrEnum):
SCOPE_CHANGE = "scope_change"
COLUMN_REORDER = "column_reorder"
COLUMN_ORDER_CHANGED = "column_order_changed"
COLUMN_ADDED = "column_added"
COLUMN_REMOVED = "column_removed"
CHART_REMOVED = "chart_removed"
CHART_ADDED = "chart_added"
VIZ_TYPE_CHANGE = "viz_type_change"
GROUP_BY_CHANGE = "group_by_change"
METRIC_ADDED = "metric_added"
METRIC_REMOVED = "metric_removed"
FILTER_ADDED = "filter_added"
FILTER_REMOVED = "filter_removed"
FILTER_SCOPE_NARROWED = "filter_scope_narrowed"
FILTER_SCOPE_WIDENED = "filter_scope_widened"
FILTER_OPERATOR_CHANGED = "filter_operator_changed"
FILTER_DEFAULT_CHANGED = "filter_default_changed"
DATASET_CHANGED = "dataset_changed"
TIME_GRAIN_CHANGED = "time_grain_changed"
# #endregion DashboardTesting.Schemas.DiffKind
# #endregion DashboardTesting.Schemas.Enums