75f50fe083
Co-authored-by: Cursor <cursoragent@cursor.com>
37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
import unittest
|
|
|
|
from lib.exchange.api_credentials_lib import (
|
|
credentials_configured,
|
|
is_exchange_auth_error,
|
|
normalize_api_credential,
|
|
)
|
|
|
|
|
|
class TestNormalizeApiCredential(unittest.TestCase):
|
|
def test_empty_and_placeholder(self):
|
|
self.assertEqual(normalize_api_credential(""), "")
|
|
self.assertEqual(normalize_api_credential(None), "")
|
|
self.assertEqual(normalize_api_credential(" "), "")
|
|
self.assertEqual(normalize_api_credential("REPLACE_WITH_GATE_API_KEY"), "")
|
|
self.assertEqual(normalize_api_credential("CHANGE_TO_LONG_RANDOM_SECRET"), "")
|
|
self.assertEqual(normalize_api_credential("你的密钥"), "")
|
|
|
|
def test_real_key_kept(self):
|
|
self.assertEqual(normalize_api_credential(" real-key-value "), "real-key-value")
|
|
self.assertTrue(credentials_configured("abc", "def"))
|
|
self.assertFalse(credentials_configured("REPLACE_WITH_X", "secret"))
|
|
|
|
|
|
class TestAuthErrorDetect(unittest.TestCase):
|
|
def test_binance_invalid_key(self):
|
|
class AuthenticationError(Exception):
|
|
pass
|
|
|
|
self.assertTrue(is_exchange_auth_error(AuthenticationError('binance {"code":-2008,"msg":"Invalid Api-Key ID."}')))
|
|
self.assertTrue(is_exchange_auth_error(Exception("gate INVALID_KEY")))
|
|
self.assertFalse(is_exchange_auth_error(Exception("rate limit exceeded")))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|