test_dashboard.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from fastapi.testclient import TestClient
  2. from exec_mcp.server import app
  3. client = TestClient(app)
  4. def test_health():
  5. resp = client.get('/health')
  6. assert resp.status_code == 200
  7. assert resp.json() == {'ok': True, 'server': 'exec-mcp'}
  8. def test_dashboard_account_crud_roundtrip():
  9. payload = {
  10. 'display_name': 'Bitstamp Main',
  11. 'venue': 'bitstamp',
  12. 'venue_account_ref': '123456',
  13. 'api_key': 'key-123',
  14. 'api_secret': 'secret-123',
  15. 'description': 'primary account',
  16. 'enabled': 'on',
  17. }
  18. resp = client.post('/dashboard/accounts/create', data=payload, follow_redirects=True)
  19. assert resp.status_code == 200, resp.text
  20. assert 'Bitstamp Main' in resp.text
  21. assert '123456' in resp.text
  22. resp = client.get('/dashboard/accounts/bitstamp/123456/edit')
  23. assert resp.status_code == 200
  24. assert 'Edit account' in resp.text
  25. resp = client.post(
  26. '/dashboard/accounts/bitstamp/123456/update',
  27. data={'display_name': 'Bitstamp Main', 'description': 'updated', 'enabled': 'on'},
  28. follow_redirects=True,
  29. )
  30. assert resp.status_code == 200
  31. assert 'updated' in resp.text
  32. resp = client.post('/dashboard/accounts/bitstamp/123456/delete', follow_redirects=True)
  33. assert resp.status_code == 200
  34. assert '123456' not in resp.text