OSDN Git Service

IMediaItemを引数に取るTwitterApiConnection.PostLazyAsyncメソッドを削除
authorKimura Youichi <kim.upsilon@bucyou.net>
Mon, 11 Dec 2023 18:57:47 +0000 (03:57 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Tue, 12 Dec 2023 17:51:22 +0000 (02:51 +0900)
OpenTween.Tests/Connection/TwitterApiConnectionTest.cs
OpenTween/Connection/IApiConnectionLegacy.cs
OpenTween/Connection/TwitterApiConnection.cs

index 37082ca..b2c206c 100644 (file)
@@ -321,121 +321,6 @@ namespace OpenTween.Connection
         }
 
         [Fact]
-        public async Task PostLazyAsync_MultipartTest()
-        {
-            using var mockHandler = new HttpMessageHandlerMock();
-            using var http = new HttpClient(mockHandler);
-            using var apiConnection = new TwitterApiConnection();
-            apiConnection.Http = http;
-
-            using var image = TestUtils.CreateDummyImage();
-            using var media = new MemoryImageMediaItem(image);
-
-            mockHandler.Enqueue(async x =>
-            {
-                Assert.Equal(HttpMethod.Post, x.Method);
-                Assert.Equal("https://api.twitter.com/1.1/hoge/tetete.json",
-                    x.RequestUri.AbsoluteUri);
-
-                Assert.IsType<MultipartFormDataContent>(x.Content);
-
-                var boundary = x.Content.Headers.ContentType.Parameters.Cast<NameValueHeaderValue>()
-                    .First(y => y.Name == "boundary").Value;
-
-                // 前後のダブルクオーテーションを除去
-                boundary = boundary.Substring(1, boundary.Length - 2);
-
-                var expectedText =
-                    $"--{boundary}\r\n" +
-                    "Content-Type: text/plain; charset=utf-8\r\n" +
-                    "Content-Disposition: form-data; name=aaaa\r\n" +
-                    "\r\n" +
-                    "1111\r\n" +
-                    $"--{boundary}\r\n" +
-                    "Content-Type: text/plain; charset=utf-8\r\n" +
-                    "Content-Disposition: form-data; name=bbbb\r\n" +
-                    "\r\n" +
-                    "2222\r\n" +
-                    $"--{boundary}\r\n" +
-                    $"Content-Disposition: form-data; name=media1; filename={media.Name}; filename*=utf-8''{media.Name}\r\n" +
-                    "\r\n";
-
-                var expected = Encoding.UTF8.GetBytes(expectedText)
-                    .Concat(image.Stream.ToArray())
-                    .Concat(Encoding.UTF8.GetBytes($"\r\n--{boundary}--\r\n"));
-
-                Assert.Equal(expected, await x.Content.ReadAsByteArrayAsync());
-
-                return new HttpResponseMessage(HttpStatusCode.OK)
-                {
-                    Content = new StringContent("\"hogehoge\""),
-                };
-            });
-
-            var endpoint = new Uri("hoge/tetete.json", UriKind.Relative);
-            var param = new Dictionary<string, string>
-            {
-                ["aaaa"] = "1111",
-                ["bbbb"] = "2222",
-            };
-            var mediaParam = new Dictionary<string, IMediaItem>
-            {
-                ["media1"] = media,
-            };
-
-            var result = await apiConnection.PostLazyAsync<string>(endpoint, param, mediaParam);
-
-            Assert.Equal("hogehoge", await result.LoadJsonAsync());
-
-            Assert.Equal(0, mockHandler.QueueCount);
-        }
-
-        [Fact]
-        public async Task PostLazyAsync_Multipart_NullTest()
-        {
-            using var mockHandler = new HttpMessageHandlerMock();
-            using var http = new HttpClient(mockHandler);
-            using var apiConnection = new TwitterApiConnection();
-            apiConnection.Http = http;
-
-            mockHandler.Enqueue(async x =>
-            {
-                Assert.Equal(HttpMethod.Post, x.Method);
-                Assert.Equal("https://api.twitter.com/1.1/hoge/tetete.json",
-                    x.RequestUri.AbsoluteUri);
-
-                Assert.IsType<MultipartFormDataContent>(x.Content);
-
-                var boundary = x.Content.Headers.ContentType.Parameters.Cast<NameValueHeaderValue>()
-                    .First(y => y.Name == "boundary").Value;
-
-                // 前後のダブルクオーテーションを除去
-                boundary = boundary.Substring(1, boundary.Length - 2);
-
-                var expectedText =
-                    $"--{boundary}\r\n" +
-                    $"\r\n--{boundary}--\r\n";
-
-                var expected = Encoding.UTF8.GetBytes(expectedText);
-
-                Assert.Equal(expected, await x.Content.ReadAsByteArrayAsync());
-
-                return new HttpResponseMessage(HttpStatusCode.OK)
-                {
-                    Content = new StringContent("\"hogehoge\""),
-                };
-            });
-
-            var endpoint = new Uri("hoge/tetete.json", UriKind.Relative);
-
-            var result = await apiConnection.PostLazyAsync<string>(endpoint, param: null, media: null);
-
-            Assert.Equal("hogehoge", await result.LoadJsonAsync());
-
-            Assert.Equal(0, mockHandler.QueueCount);
-        }
-
-        [Fact]
         public async Task HandleTimeout_SuccessTest()
         {
             static async Task<int> AsyncFunc(CancellationToken token)
index 839ad46..800300e 100644 (file)
@@ -35,9 +35,5 @@ namespace OpenTween.Connection
         Task<T> GetAsync<T>(Uri uri, IDictionary<string, string>? param, string? endpointName);
 
         Task<LazyJson<T>> PostLazyAsync<T>(Uri uri, IDictionary<string, string>? param);
-
-        Task<LazyJson<T>> PostLazyAsync<T>(Uri uri, IDictionary<string, string>? param, IDictionary<string, IMediaItem>? media);
-
-        Task PostAsync(Uri uri, IDictionary<string, string>? param, IDictionary<string, IMediaItem>? media);
     }
 }
index 3bd735d..02c7458 100644 (file)
@@ -173,35 +173,6 @@ namespace OpenTween.Connection
             return response.ReadAsLazyJson<T>();
         }
 
-        public async Task<LazyJson<T>> PostLazyAsync<T>(Uri uri, IDictionary<string, string>? param, IDictionary<string, IMediaItem>? media)
-        {
-            var request = new PostMultipartRequest
-            {
-                RequestUri = uri,
-                Query = param,
-                Media = media,
-            };
-
-            using var response = await this.SendAsync(request)
-                .ConfigureAwait(false);
-
-            return response.ReadAsLazyJson<T>();
-        }
-
-        public async Task PostAsync(Uri uri, IDictionary<string, string>? param, IDictionary<string, IMediaItem>? media)
-        {
-            var request = new PostMultipartRequest
-            {
-                RequestUri = uri,
-                Query = param,
-                Media = media,
-            };
-
-            await this.SendAsync(request)
-                .IgnoreResponse()
-                .ConfigureAwait(false);
-        }
-
         public static async Task<T> HandleTimeout<T>(Func<CancellationToken, Task<T>> func, TimeSpan timeout)
         {
             using var cts = new CancellationTokenSource();