test_symbols.py 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. from argus_mcp.symbols import canonicalize_symbol, get_symbol_spec
  2. def test_canonicalize_legacy_dxy_to_uup():
  3. assert canonicalize_symbol("DXY") == "UUP"
  4. def test_symbol_spec_maps_crypto_provider_symbols():
  5. btc = get_symbol_spec("BTCUSD")
  6. assert btc.canonical == "BTCUSD"
  7. assert btc.finnhub == "BINANCE:BTCUSDT"
  8. assert btc.twelve_data == "BTC/USD"
  9. def test_symbol_spec_covers_tech_and_energy_proxies():
  10. assert get_symbol_spec("XLK").finnhub == "XLK"
  11. assert get_symbol_spec("SMH").twelve_data == "SMH"
  12. assert get_symbol_spec("USO").canonical == "USO"
  13. def test_symbol_spec_covers_transport_proxies():
  14. assert get_symbol_spec("IYT").finnhub == "IYT"
  15. assert get_symbol_spec("JETS").twelve_data == "JETS"
  16. assert get_symbol_spec("ZIM").canonical == "ZIM"
  17. def test_symbol_spec_covers_metals_mcp_proxies():
  18. assert get_symbol_spec("XAU").metals_mcp == "XAU"
  19. assert get_symbol_spec("XAG").metals_mcp == "XAG"
  20. assert get_symbol_spec("XPT").metals_mcp == "XPT"
  21. assert get_symbol_spec("XPD").metals_mcp == "XPD"