| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- from hermes_mcp.store import get_decision_profile, init_db, list_decision_profiles, list_strategy_assignments, list_strategy_groups, table_counts, upsert_concern, upsert_decision_profile, upsert_strategy_assignment, upsert_strategy_group
- def test_schema_tables_exist():
- init_db()
- counts = table_counts()
- assert set(counts) == {
- "concerns",
- "decision_profiles",
- "strategy_groups",
- "strategy_assignments",
- "cycles",
- "observations",
- "states",
- "narratives",
- "decisions",
- "actions",
- "coverage_gaps",
- "regime_samples",
- }
- def test_profile_group_assignment_helpers_round_trip():
- upsert_decision_profile(id="profile-grid", name="Grid profile", config={"short_term_trend_min_score": 0.28, "require_release_signal_before_grid": False})
- upsert_concern(
- id="a1:xrpusd",
- account_id="a1",
- market_symbol="xrpusd",
- base_currency="XRP",
- quote_currency="USD",
- strategy_id="grid-1",
- decision_profile_id="profile-grid",
- source="test",
- )
- upsert_strategy_group(id="group-1", concern_id="a1:xrpusd", name="XRP spot cluster", strategy_family="mixed", decision_profile_id="profile-grid")
- upsert_strategy_assignment(id="assign-1", strategy_group_id="group-1", strategy_id="grid-1", strategy_type="grid_trader", role="primary")
- profile = get_decision_profile(profile_id="profile-grid")
- assert profile is not None
- assert profile["id"] == "profile-grid"
- assert list_decision_profiles()[0]["id"] == "profile-grid"
- assert list_strategy_groups(concern_id="a1:xrpusd")[0]["id"] == "group-1"
- assert list_strategy_assignments(strategy_group_id="group-1")[0]["id"] == "assign-1"
|