{
var mock = new Mock<IApiConnectionLegacy>();
mock.Setup(x =>
- x.DeleteAsync(
- new Uri("direct_messages/events/destroy.json?id=100", UriKind.Relative))
- )
- .Returns(Task.CompletedTask);
+ x.SendAsync(
+ It.Is<DeleteRequest>(r =>
+ r.RequestUri == new Uri("direct_messages/events/destroy.json", UriKind.Relative) &&
+ r.Query != null &&
+ r.Query.Count == 1 &&
+ r.Query["id"] == "100"
+ )
+ )
+ );
using var twitterApi = new TwitterApi();
twitterApi.ApiConnection = mock.Object;
return response.ReadAsLazyJson<TwitterMessageEventSingle>();
}
- public Task DirectMessagesEventsDestroy(TwitterDirectMessageId eventId)
+ public async Task DirectMessagesEventsDestroy(TwitterDirectMessageId eventId)
{
- var endpoint = new Uri("direct_messages/events/destroy.json", UriKind.Relative);
- var param = new Dictionary<string, string>
+ var request = new DeleteRequest
{
- ["id"] = eventId.Id,
+ RequestUri = new("direct_messages/events/destroy.json", UriKind.Relative),
+ Query = new Dictionary<string, string>
+ {
+ ["id"] = eventId.Id,
+ },
};
- // なぜか application/x-www-form-urlencoded でパラメーターを送ると Bad Request になる謎仕様
- endpoint = new Uri(endpoint.OriginalString + "?" + MyCommon.BuildQueryString(param), UriKind.Relative);
-
- return this.Connection.DeleteAsync(endpoint);
+ await this.Connection.SendAsync(request)
+ .IgnoreResponse()
+ .ConfigureAwait(false);
}
public Task<TwitterUser> UsersShow(string screenName)