# import unittest # from unittest.mock import MagicMock, patch # from alipay.aop.api.AlipayClientConfig import AlipayClientConfig # from app.core.alipay.config import get_alipay_config # class TestAlipayClient(unittest.TestCase): # """支付宝客户端工具类测试""" # def test_get_client_returns_default_alipay_client(self): # """测试get_client返回DefaultAlipayClient实例""" # from app.core.alipay import AlipayClient # with patch("app.core.alipay.client.DefaultAlipayClient") as mock_default_client: # mock_instance = MagicMock() # mock_default_client.return_value = mock_instance # AlipayClient._client = None # result = AlipayClient.get_client() # mock_default_client.assert_called_once() # self.assertEqual(result, mock_instance) # def test_get_client_returns_singleton(self): # """测试get_client返回单例""" # from app.core.alipay import AlipayClient # with patch("app.core.alipay.client.DefaultAlipayClient") as mock_default_client: # mock_instance = MagicMock() # mock_default_client.return_value = mock_instance # AlipayClient._client = None # result1 = AlipayClient.get_client() # result2 = AlipayClient.get_client() # self.assertEqual(result1, result2) # mock_default_client.assert_called_once() # class TestAlipayIntegration(unittest.TestCase): # """支付宝集成测试""" # def setUp(self): # """设置测试配置""" # self.alipay_config = get_alipay_config() # def test_alipay_ec_enterprise_registerinvite_create(self): # """测试支付宝企业码注册邀请接口""" # from app.core.alipay import AlipayClient # client = AlipayClient.get_client() # from alipay.aop.api.request.AlipayCommerceEcEnterpriseRegisterinviteCreateRequest import ( # AlipayCommerceEcEnterpriseRegisterinviteCreateRequest, # ) # from alipay.aop.api.domain.AlipayCommerceEcEnterpriseRegisterinviteCreateModel import ( # AlipayCommerceEcEnterpriseRegisterinviteCreateModel,EnterpriseBaseInfoDTO # ) # from alipay.aop.api.response.AlipayCommerceEcEnterpriseRegisterinviteCreateResponse import ( # AlipayCommerceEcEnterpriseRegisterinviteCreateResponse, # from app.core.alipay.schema import AlipayCommerceEcEnterpriseRegisterInviteCreateResponse # model = AlipayCommerceEcEnterpriseRegisterinviteCreateModel() # model.out_biz_no = "2024051000000001" # model.identity_type = "ALIPAY_USER_ID" # model.identity = "2088051553855663" # # model.identity_open_id = "" # model.register_mode = "NORMAL" # model.sign_fund_way = "BALANCE" # request = AlipayCommerceEcEnterpriseRegisterinviteCreateRequest() # request.biz_model = model # response = client.execute(request) # self.assertIsNotNone(response) # # success reponse example # # {"code":"10000","msg":"Success","expire_time":"2026-05-12 00:00:00","pc_invite_url":"https:\/\/qiyema.alipay.com\/invite?token=9ed13b19afbe73c8720dd705ebc318558dd00024695bebae4349bc7bfc12a69346dc426c7e077eef87e316021fe1a49a"} # result = AlipayCommerceEcEnterpriseRegisterInviteCreateResponse.model_validate_json(response) # self.assertTrue(result.success) # print(result.pc_invite_url) # print(result.expire_time) # class TestAlipaySchema(unittest.TestCase): # """支付宝响应模型测试""" # def test_alipay_response_code_enum_success_code(self): # """测试 AlipayResponseCodeEnum.SUCCESS 的 code 值""" # from app.core.alipay.schema import AlipayResponseCodeEnum # self.assertEqual(AlipayResponseCodeEnum.SUCCESS.value.code, "10000") # print(AlipayResponseCodeEnum.SUCCESS.value.code) # def test_alipay_response_code_enum_from_code(self): # """测试 from_code 方法""" # from app.core.alipay.schema import AlipayResponseCodeEnum # result = AlipayResponseCodeEnum.from_code("10000") # self.assertEqual(result.code, "10000") # self.assertEqual(result.msg, "接口调用成功") # print(result) # if __name__ == "__main__": # unittest.main()