test_alipay.py 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. # import unittest
  2. # from unittest.mock import MagicMock, patch
  3. # from alipay.aop.api.AlipayClientConfig import AlipayClientConfig
  4. # from app.core.alipay.config import get_alipay_config
  5. # class TestAlipayClient(unittest.TestCase):
  6. # """支付宝客户端工具类测试"""
  7. # def test_get_client_returns_default_alipay_client(self):
  8. # """测试get_client返回DefaultAlipayClient实例"""
  9. # from app.core.alipay import AlipayClient
  10. # with patch("app.core.alipay.client.DefaultAlipayClient") as mock_default_client:
  11. # mock_instance = MagicMock()
  12. # mock_default_client.return_value = mock_instance
  13. # AlipayClient._client = None
  14. # result = AlipayClient.get_client()
  15. # mock_default_client.assert_called_once()
  16. # self.assertEqual(result, mock_instance)
  17. # def test_get_client_returns_singleton(self):
  18. # """测试get_client返回单例"""
  19. # from app.core.alipay import AlipayClient
  20. # with patch("app.core.alipay.client.DefaultAlipayClient") as mock_default_client:
  21. # mock_instance = MagicMock()
  22. # mock_default_client.return_value = mock_instance
  23. # AlipayClient._client = None
  24. # result1 = AlipayClient.get_client()
  25. # result2 = AlipayClient.get_client()
  26. # self.assertEqual(result1, result2)
  27. # mock_default_client.assert_called_once()
  28. # class TestAlipayIntegration(unittest.TestCase):
  29. # """支付宝集成测试"""
  30. # def setUp(self):
  31. # """设置测试配置"""
  32. # self.alipay_config = get_alipay_config()
  33. # def test_alipay_ec_enterprise_registerinvite_create(self):
  34. # """测试支付宝企业码注册邀请接口"""
  35. # from app.core.alipay import AlipayClient
  36. # client = AlipayClient.get_client()
  37. # from alipay.aop.api.request.AlipayCommerceEcEnterpriseRegisterinviteCreateRequest import (
  38. # AlipayCommerceEcEnterpriseRegisterinviteCreateRequest,
  39. # )
  40. # from alipay.aop.api.domain.AlipayCommerceEcEnterpriseRegisterinviteCreateModel import (
  41. # AlipayCommerceEcEnterpriseRegisterinviteCreateModel,EnterpriseBaseInfoDTO
  42. # )
  43. # from alipay.aop.api.response.AlipayCommerceEcEnterpriseRegisterinviteCreateResponse import (
  44. # AlipayCommerceEcEnterpriseRegisterinviteCreateResponse,
  45. # from app.core.alipay.schema import AlipayCommerceEcEnterpriseRegisterInviteCreateResponse
  46. # model = AlipayCommerceEcEnterpriseRegisterinviteCreateModel()
  47. # model.out_biz_no = "2024051000000001"
  48. # model.identity_type = "ALIPAY_USER_ID"
  49. # model.identity = "2088051553855663"
  50. # # model.identity_open_id = ""
  51. # model.register_mode = "NORMAL"
  52. # model.sign_fund_way = "BALANCE"
  53. # request = AlipayCommerceEcEnterpriseRegisterinviteCreateRequest()
  54. # request.biz_model = model
  55. # response = client.execute(request)
  56. # self.assertIsNotNone(response)
  57. # # success reponse example
  58. # # {"code":"10000","msg":"Success","expire_time":"2026-05-12 00:00:00","pc_invite_url":"https:\/\/qiyema.alipay.com\/invite?token=9ed13b19afbe73c8720dd705ebc318558dd00024695bebae4349bc7bfc12a69346dc426c7e077eef87e316021fe1a49a"}
  59. # result = AlipayCommerceEcEnterpriseRegisterInviteCreateResponse.model_validate_json(response)
  60. # self.assertTrue(result.success)
  61. # print(result.pc_invite_url)
  62. # print(result.expire_time)
  63. # class TestAlipaySchema(unittest.TestCase):
  64. # """支付宝响应模型测试"""
  65. # def test_alipay_response_code_enum_success_code(self):
  66. # """测试 AlipayResponseCodeEnum.SUCCESS 的 code 值"""
  67. # from app.core.alipay.schema import AlipayResponseCodeEnum
  68. # self.assertEqual(AlipayResponseCodeEnum.SUCCESS.value.code, "10000")
  69. # print(AlipayResponseCodeEnum.SUCCESS.value.code)
  70. # def test_alipay_response_code_enum_from_code(self):
  71. # """测试 from_code 方法"""
  72. # from app.core.alipay.schema import AlipayResponseCodeEnum
  73. # result = AlipayResponseCodeEnum.from_code("10000")
  74. # self.assertEqual(result.code, "10000")
  75. # self.assertEqual(result.msg, "接口调用成功")
  76. # print(result)
  77. # if __name__ == "__main__":
  78. # unittest.main()