using NUnit.Framework; using Alipay.EasySDK.Factory; using Alipay.EasySDK.Util.Generic.Models; using System; using System.Collections.Generic; using Alipay.EasySDK.Kernel.Util; namespace UnitTest.Util.Generic { public class ClientTest { [SetUp] public void SetUp() { Factory.SetOptions(TestAccount.Mini.CONFIG); } [Test] public void TestExecuteWithoutAppAuthToken() { string outTradeNo = Guid.NewGuid().ToString(); AlipayOpenApiGenericResponse response = Factory.Util.Generic().Execute( "alipay.trade.create", null, GetBizParams(outTradeNo)); Assert.IsTrue(ResponseChecker.Success(response)); Assert.AreEqual(response.Code, "10000"); Assert.AreEqual(response.Msg, "Success"); Assert.IsNull(response.SubCode); Assert.IsNull(response.SubMsg); Assert.NotNull(response.HttpBody); } [Test] public void TestExecuteWithAppAuthToken() { string outTradeNo = Guid.NewGuid().ToString(); AlipayOpenApiGenericResponse response = Factory.Util.Generic().Execute( "alipay.trade.create", GetTextParams(), GetBizParams(outTradeNo)); Assert.IsFalse(ResponseChecker.Success(response)); Assert.AreEqual(response.Code, "20001"); Assert.AreEqual(response.Msg, "Insufficient Token Permissions"); Assert.AreEqual(response.SubCode, "aop.invalid-app-auth-token"); Assert.AreEqual(response.SubMsg, "无效的应用授权令牌"); Assert.NotNull(response.HttpBody); } private Dictionary GetTextParams() { return new Dictionary { { "app_auth_token", "201712BB_D0804adb2e743078d1822d536956X34" } }; } private Dictionary GetBizParams(string outTradeNo) { return new Dictionary { { "subject", "Iphone6 16G" }, { "out_trade_no", outTradeNo }, { "total_amount", "0.10" }, { "buyer_id", "2088002656718920" }, { "extend_params", GetHuabeiParams() } }; } private Dictionary GetHuabeiParams() { return new Dictionary { { "hb_fq_num", "3"}, { "hb_fq_seller_percent", "3"} }; } } }