|
|
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
|
|
|
using Senparc.CO2NET.Extensions;
|
|
|
|
|
using Senparc.Weixin.Helpers;
|
|
|
|
|
using Senparc.Weixin.MP.OpenAPIs;
|
|
|
|
|
using Senparc.Weixin.MP.Test.CommonAPIs;
|
|
|
|
|
using Senparc.WeixinTests;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Text.RegularExpressions;
|
|
|
|
|
using System.Threading;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace Senparc.Weixin.MP.OpenAPIs.Tests
|
|
|
|
|
{
|
|
|
|
|
[TestClass()]
|
|
|
|
|
public class OpenApiTests : CommonApiTest
|
|
|
|
|
{
|
|
|
|
|
[TestMethod()]
|
|
|
|
|
public void QuotaGetTest()
|
|
|
|
|
{
|
|
|
|
|
var appId = base._appId;
|
|
|
|
|
|
|
|
|
|
var result1 = OpenApi.QuotaGet(appId, "/cgi-bin/message/custom/send");
|
|
|
|
|
|
|
|
|
|
Assert.IsNotNull(result1);
|
|
|
|
|
Console.WriteLine(result1.ToJson(true));
|
|
|
|
|
|
|
|
|
|
var openId = "oxRg0uLsnpHjb8o93uVnwMK_WAVw";
|
|
|
|
|
var sendResult = AdvancedAPIs.CustomApi.SendText(appId, openId, "测试客服接口,增加接口调用次数");
|
|
|
|
|
|
|
|
|
|
var result2 = OpenApi.QuotaGet(appId, "/cgi-bin/message/custom/send");
|
|
|
|
|
Assert.IsNotNull(result2);
|
|
|
|
|
Console.WriteLine(result2.ToJson(true));
|
|
|
|
|
|
|
|
|
|
Assert.AreEqual(result2.quota.used, result1.quota.used + 1);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[TestMethod()]
|
|
|
|
|
public void RidGetTest()
|
|
|
|
|
{
|
|
|
|
|
var appId = base._appId;
|
|
|
|
|
var urlPath = "/cgi-bin/message/custom/send/worongApi";
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
var result = OpenApi.QuotaGet(appId, urlPath);
|
|
|
|
|
Console.WriteLine(result.ToJson(true));
|
|
|
|
|
}
|
|
|
|
|
catch (Senparc.Weixin.Exceptions.ErrorJsonResultException ex)
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine(ex.JsonResult.ToJson(true));
|
|
|
|
|
|
|
|
|
|
Thread.Sleep(1000);//时间太快rid还没有被记录
|
|
|
|
|
|
|
|
|
|
var rid = ex.GetRid();
|
|
|
|
|
Console.WriteLine("rid:" + rid);
|
|
|
|
|
|
|
|
|
|
var result = OpenApi.RidGet(appId, "62e56973-0c7be0b1-368b3439");
|
|
|
|
|
Assert.IsNotNull(result);
|
|
|
|
|
Console.WriteLine(result.ToJson(true));
|
|
|
|
|
|
|
|
|
|
Assert.IsTrue(result.request.request_body.Contains(urlPath));
|
|
|
|
|
Assert.IsTrue(result.request.response_body.Contains("cgi_path not found"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|