OSDN Git Service

TwitterApiクラスの初期値としてTwitterCredentialNoneを使用する
authorKimura Youichi <kim.upsilon@bucyou.net>
Sun, 10 Dec 2023 13:44:49 +0000 (22:44 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sun, 10 Dec 2023 13:56:24 +0000 (22:56 +0900)
OpenTween.Tests/Api/TwitterApiTest.cs
OpenTween.Tests/MediaSelectorTest.cs
OpenTween.Tests/TweenMainTest.cs
OpenTween.Tests/TwitterTest.cs
OpenTween/Api/TwitterApi.cs
OpenTween/Twitter.cs

index bac959b..1fde2e5 100644 (file)
@@ -51,33 +51,28 @@ namespace OpenTween.Api
         [Fact]
         public void Initialize_Test()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
-            Assert.Null(twitterApi.ApiConnection);
+            using var twitterApi = new TwitterApi();
+            var apiConnection = Assert.IsType<TwitterApiConnection>(twitterApi.Connection);
+            Assert.IsType<TwitterCredentialNone>(apiConnection.Credential);
 
-            twitterApi.Initialize("*** AccessToken ***", "*** AccessSecret ***", userId: 100L, screenName: "hogehoge");
+            var credential = new TwitterCredentialOAuth1(TwitterAppToken.GetDefault(), "*** AccessToken ***", "*** AccessSecret ***");
+            twitterApi.Initialize(credential, userId: 100L, screenName: "hogehoge");
 
-            Assert.IsType<TwitterApiConnection>(twitterApi.ApiConnection);
-
-            var apiConnection = (TwitterApiConnection)twitterApi.ApiConnection!;
-            var credential = Assert.IsType<TwitterCredentialOAuth1>(apiConnection.Credential);
-            Assert.Equal("*** AccessToken ***", credential.Token);
-            Assert.Equal("*** AccessSecret ***", credential.TokenSecret);
+            apiConnection = Assert.IsType<TwitterApiConnection>(twitterApi.Connection);
+            Assert.Same(credential, apiConnection.Credential);
 
             Assert.Equal(100L, twitterApi.CurrentUserId);
             Assert.Equal("hogehoge", twitterApi.CurrentScreenName);
 
             // 複数回 Initialize を実行した場合は新たに TwitterApiConnection が生成される
-            twitterApi.Initialize("*** AccessToken2 ***", "*** AccessSecret2 ***", userId: 200L, screenName: "foobar");
+            var credential2 = new TwitterCredentialOAuth1(TwitterAppToken.GetDefault(), "*** AccessToken2 ***", "*** AccessSecret2 ***");
+            twitterApi.Initialize(credential2, userId: 200L, screenName: "foobar");
 
             var oldApiConnection = apiConnection;
             Assert.True(oldApiConnection.IsDisposed);
 
-            Assert.IsType<TwitterApiConnection>(twitterApi.ApiConnection);
-
-            apiConnection = (TwitterApiConnection)twitterApi.ApiConnection!;
-            credential = Assert.IsType<TwitterCredentialOAuth1>(apiConnection.Credential);
-            Assert.Equal("*** AccessToken2 ***", credential.Token);
-            Assert.Equal("*** AccessSecret2 ***", credential.TokenSecret);
+            apiConnection = Assert.IsType<TwitterApiConnection>(twitterApi.Connection);
+            Assert.Same(credential2, apiConnection.Credential);
 
             Assert.Equal(200L, twitterApi.CurrentUserId);
             Assert.Equal("foobar", twitterApi.CurrentScreenName);
@@ -103,7 +98,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(Array.Empty<TwitterStatus>());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.StatusesHomeTimeline(200, maxId: new("900"), sinceId: new("100"));
@@ -131,7 +126,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(Array.Empty<TwitterStatus>());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.StatusesMentionsTimeline(200, maxId: new("900"), sinceId: new("100"));
@@ -161,7 +156,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(Array.Empty<TwitterStatus>());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.StatusesUserTimeline("twitterapi", count: 200, maxId: new("900"), sinceId: new("100"));
@@ -187,7 +182,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterStatus { Id = 100L });
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.StatusesShow(statusId: new("100"));
@@ -214,7 +209,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(Array.Empty<TwitterStatus>());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.StatusesLookup(statusIds: new[] { "100", "200" });
@@ -244,7 +239,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterStatus()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.StatusesUpdate(
@@ -278,7 +273,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterStatus()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.StatusesUpdate("hogehoge", replyToId: null, mediaIds: null, excludeReplyUserIds: Array.Empty<long>())
@@ -298,7 +293,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterStatus { Id = 100L }));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.StatusesDestroy(statusId: new("100"))
@@ -324,7 +319,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterStatus()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.StatusesRetweet(new("100"))
@@ -356,7 +351,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterSearchResult());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.SearchTweets("from:twitterapi", "en", count: 200, maxId: new("900"), sinceId: new("100"));
@@ -381,7 +376,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterLists());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ListsOwnerships("twitterapi", cursor: -1L, count: 100);
@@ -406,7 +401,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterLists());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ListsSubscriptions("twitterapi", cursor: -1L, count: 100);
@@ -432,7 +427,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterLists());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ListsMemberships("twitterapi", cursor: -1L, count: 100, filterToOwnedLists: true);
@@ -456,7 +451,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterList()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ListsCreate("hogehoge", description: "aaaa", @private: true)
@@ -482,7 +477,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterList()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ListsUpdate(12345L, name: "hogehoge", description: "aaaa", @private: true)
@@ -505,7 +500,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterList()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ListsDestroy(12345L)
@@ -536,7 +531,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(Array.Empty<TwitterStatus>());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ListsStatuses(12345L, count: 200, maxId: new("900"), sinceId: new("100"), includeRTs: true);
@@ -563,7 +558,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterUsers());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ListsMembers(12345L, cursor: -1);
@@ -590,7 +585,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterUser());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ListsMembersShow(12345L, "twitterapi");
@@ -616,7 +611,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterUser()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ListsMembersCreate(12345L, "twitterapi")
@@ -643,7 +638,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterUser()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ListsMembersDestroy(12345L, "twitterapi")
@@ -668,7 +663,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterMessageEventList());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.DirectMessagesEventsList(count: 50, cursor: "12345abcdefg");
@@ -708,7 +703,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterMessageEventSingle()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.DirectMessagesEventsNew(recipientId: 12345L, text: "hogehoge", mediaId: 67890L);
@@ -726,7 +721,7 @@ namespace OpenTween.Api
             )
             .Returns(Task.CompletedTask);
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.DirectMessagesEventsDestroy(eventId: new("100"));
@@ -752,7 +747,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterUser { ScreenName = "twitterapi" });
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.UsersShow(screenName: "twitterapi");
@@ -778,7 +773,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(Array.Empty<TwitterUser>());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.UsersLookup(userIds: new[] { "11111", "22222" });
@@ -801,7 +796,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterUser { ScreenName = "twitterapi" }));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.UsersReportSpam(screenName: "twitterapi")
@@ -830,7 +825,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(Array.Empty<TwitterStatus>());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.FavoritesList(200, maxId: 900L, sinceId: 100L);
@@ -853,7 +848,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterStatus { Id = 100L }));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.FavoritesCreate(statusId: new("100"))
@@ -877,7 +872,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterStatus { Id = 100L }));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.FavoritesDestroy(statusId: new("100"))
@@ -898,7 +893,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterFriendship());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.FriendshipsShow(sourceScreenName: "twitter", targetScreenName: "twitterapi");
@@ -917,7 +912,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterFriendship()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.FriendshipsCreate(screenName: "twitterapi")
@@ -937,7 +932,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterFriendship()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.FriendshipsDestroy(screenName: "twitterapi")
@@ -958,7 +953,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(Array.Empty<long>());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.NoRetweetIds();
@@ -978,7 +973,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterIds());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.FollowersIds(cursor: -1L);
@@ -998,7 +993,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterIds());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.MutesUsersIds(cursor: -1L);
@@ -1018,7 +1013,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterIds());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.BlocksIds(cursor: -1L);
@@ -1041,7 +1036,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterUser()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.BlocksCreate(screenName: "twitterapi")
@@ -1065,7 +1060,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterUser()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.BlocksDestroy(screenName: "twitterapi")
@@ -1095,7 +1090,7 @@ namespace OpenTween.Api
                 ScreenName = "opentween",
             });
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.AccountVerifyCredentials();
@@ -1126,7 +1121,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterUser()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.AccountUpdateProfile(name: "Name", url: "http://example.com/", location: "Location", description: "<script>alert(1)</script>")
@@ -1154,7 +1149,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterUser()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.AccountUpdateProfileImage(media)
@@ -1175,7 +1170,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterRateLimits());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.ApplicationRateLimitStatus();
@@ -1195,7 +1190,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterConfiguration());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.Configuration();
@@ -1220,7 +1215,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterUploadMediaInit()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.MediaUploadInit(totalBytes: 123456L, mediaType: "image/png", mediaCategory: "dm_image")
@@ -1248,7 +1243,7 @@ namespace OpenTween.Api
             )
             .Returns(Task.CompletedTask);
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.MediaUploadAppend(mediaId: 11111L, segmentIndex: 1, media: media);
@@ -1271,7 +1266,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(LazyJson.Create(new TwitterUploadMediaResult()));
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.MediaUploadFinalize(mediaId: 11111L)
@@ -1296,7 +1291,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync(new TwitterUploadMediaResult());
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.MediaUploadStatus(mediaId: 11111L);
@@ -1315,7 +1310,7 @@ namespace OpenTween.Api
             )
             .ReturnsAsync("");
 
-            using var twitterApi = new TwitterApi(ApiKey.Create("fake_consumer_key"), ApiKey.Create("fake_consumer_secret"));
+            using var twitterApi = new TwitterApi();
             twitterApi.ApiConnection = mock.Object;
 
             await twitterApi.MediaMetadataCreate(mediaId: 12345L, altText: "hogehoge");
index 2ad1e83..ffd6502 100644 (file)
@@ -51,10 +51,9 @@ namespace OpenTween
         [Fact]
         public void SelectedMediaServiceIndex_Test()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
 
             Assert.Equal("Twitter", mediaSelector.MediaServices[0].Key);
@@ -70,10 +69,9 @@ namespace OpenTween
         [Fact]
         public void SelectMediaService_TwitterTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -89,10 +87,9 @@ namespace OpenTween
         [Fact]
         public void SelectMediaService_ImgurTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Imgur");
 
@@ -106,10 +103,9 @@ namespace OpenTween
         [Fact]
         public void AddMediaItem_FilePath_SingleTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -132,10 +128,9 @@ namespace OpenTween
         [Fact]
         public void AddMediaItem_MemoryImageTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -160,10 +155,9 @@ namespace OpenTween
         [Fact]
         public void AddMediaItem_FilePath_MultipleTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -186,10 +180,9 @@ namespace OpenTween
         [Fact]
         public void ClearMediaItems_Test()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -207,10 +200,9 @@ namespace OpenTween
         [Fact]
         public void DetachMediaItems_Test()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -230,10 +222,9 @@ namespace OpenTween
         [Fact]
         public void SelectedMediaItemChange_Test()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -268,10 +259,9 @@ namespace OpenTween
         [Fact]
         public void SelectedMediaItemChange_DisposeTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -292,10 +282,9 @@ namespace OpenTween
         [Fact]
         public void SetSelectedMediaAltText_Test()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -317,10 +306,9 @@ namespace OpenTween
         [Fact]
         public void Validate_PassTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -333,10 +321,9 @@ namespace OpenTween
         [Fact]
         public void Validate_EmptyErrorTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -350,10 +337,9 @@ namespace OpenTween
         [Fact]
         public void Validate_ServiceNotSelectedErrorTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
 
             using var mediaItem = TestUtils.CreateDummyMediaItem();
@@ -368,10 +354,9 @@ namespace OpenTween
         [Fact]
         public void Validate_ExtensionErrorTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -391,10 +376,9 @@ namespace OpenTween
         [Fact]
         public void Validate_FileSizeErrorTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
-            twitter.Initialize("", "", "", 0L);
             mediaSelector.InitializeServices(twitter, TwitterConfiguration.DefaultConfiguration());
             mediaSelector.SelectMediaService("Twitter");
 
@@ -414,7 +398,7 @@ namespace OpenTween
         [Fact]
         public void MoveSelectedMediaItemToPrevious_Test()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
 
@@ -430,7 +414,7 @@ namespace OpenTween
         [Fact]
         public void MoveSelectedMediaItemToNext_Test()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
 
@@ -446,7 +430,7 @@ namespace OpenTween
         [Fact]
         public void RemoveSelectedMediaItem_Test()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
             using var mediaSelector = new MediaSelector();
 
index 87dfbec..ea14617 100644 (file)
@@ -48,7 +48,6 @@ namespace OpenTween
             using var imageCache = new ImageCache();
             using var iconAssets = new IconAssetsManager();
             var thumbnailGenerator = new ThumbnailGenerator(new(autoupdate: false));
-            twitter.Initialize(new TwitterCredentialNone(), "", 0L);
 
             using var tweenMain = new TweenMain(settings, tabinfo, twitter, imageCache, iconAssets, thumbnailGenerator);
         }
index 56bdf6c..89d6b78 100644 (file)
@@ -224,7 +224,7 @@ namespace OpenTween
         [Fact]
         public void GetTextLengthRemain_Test()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
 
             Assert.Equal(280, twitter.GetTextLengthRemain(""));
@@ -234,7 +234,7 @@ namespace OpenTween
         [Fact]
         public void GetTextLengthRemain_DirectMessageTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
 
             // 2015年8月から DM の文字数上限が 10,000 文字に変更された
@@ -255,7 +255,7 @@ namespace OpenTween
         [Fact]
         public void GetTextLengthRemain_UrlTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
 
             // t.co に短縮される分の文字数を考慮
@@ -272,7 +272,7 @@ namespace OpenTween
         [Fact]
         public void GetTextLengthRemain_UrlWithoutSchemeTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
 
             // t.co に短縮される分の文字数を考慮
@@ -290,7 +290,7 @@ namespace OpenTween
         [Fact]
         public void GetTextLengthRemain_SurrogatePairTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
 
             Assert.Equal(278, twitter.GetTextLengthRemain("🍣"));
@@ -300,7 +300,7 @@ namespace OpenTween
         [Fact]
         public void GetTextLengthRemain_EmojiTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
 
             // 絵文字の文字数カウントの仕様変更に対するテストケース
@@ -320,7 +320,7 @@ namespace OpenTween
         [Fact]
         public void GetTextLengthRemain_BrokenSurrogateTest()
         {
-            using var twitterApi = new TwitterApi(ApiKey.Create(""), ApiKey.Create(""));
+            using var twitterApi = new TwitterApi();
             using var twitter = new Twitter(twitterApi);
 
             // 投稿欄に IME から絵文字を入力すると HighSurrogate のみ入力された状態で TextChanged イベントが呼ばれることがある
index bc97384..c10c2ae 100644 (file)
@@ -41,28 +41,14 @@ namespace OpenTween.Api
 
         public string CurrentScreenName { get; private set; } = "";
 
-        public IApiConnectionLegacy Connection => this.ApiConnection ?? throw new InvalidOperationException();
+        public IApiConnectionLegacy Connection => this.ApiConnection;
 
-        internal IApiConnectionLegacy? ApiConnection;
+        internal IApiConnectionLegacy ApiConnection;
 
         public TwitterAppToken AppToken { get; private set; } = TwitterAppToken.GetDefault();
 
         public TwitterApi()
-        {
-        }
-
-        public TwitterApi(ApiKey consumerKey, ApiKey consumerSecret)
-        {
-            this.AppToken = new()
-            {
-                AuthType = APIAuthType.OAuth1,
-                OAuth1CustomConsumerKey = consumerKey,
-                OAuth1CustomConsumerSecret = consumerSecret,
-            };
-        }
-
-        public void Initialize(string accessToken, string accessSecret, long userId, string screenName)
-            => this.Initialize(new TwitterCredentialOAuth1(this.AppToken, accessToken, accessSecret), userId, screenName);
+            => this.ApiConnection = new TwitterApiConnection(new TwitterCredentialNone());
 
         public void Initialize(ITwitterCredential credential, long userId, string screenName)
         {
index 48be5ba..facd008 100644 (file)
@@ -217,17 +217,6 @@ namespace OpenTween
             this.UpdateUserStats(user);
         }
 
-        public void Initialize(string token, string tokenSecret, string username, long userId)
-        {
-            // OAuth認証
-            if (MyCommon.IsNullOrEmpty(token) || MyCommon.IsNullOrEmpty(tokenSecret) || MyCommon.IsNullOrEmpty(username))
-            {
-                Twitter.AccountState = MyCommon.ACCOUNT_STATE.Invalid;
-            }
-            this.ResetApiStatus();
-            this.Api.Initialize(token, tokenSecret, userId, username);
-        }
-
         public void Initialize(ITwitterCredential credential, string username, long userId)
         {
             // OAuth認証