public DoListsTest ( IUserSession session, List |
||
session | IUserSession | |
testSeq | List |
|
Résultat | Task |
public async Task<bool> DoListsTest(IUserSession session, List<int> testSeq)
{
var successStatus = true;
var twList = new TwitterList();
try
{
// 1
if (testSeq.Contains(1))
{
ConsoleOutput.PrintMessage("10.1 Lists\\GetLists", ConsoleColor.Gray);
var lists1 = await session.GetLists(screenName:"NickHodgeMSFT");
if (lists1.OK)
{
foreach (var lst in lists1)
{
ConsoleOutput.PrintMessage(
String.Format("ID: {5} // Slug: {0} // Name: {1} // {2} // {3} // {4}", lst.Slug, lst.Name, lst.CreatedTime,lst.MemberCount,lst.Mode,lst.Id));
twList = lst;
}
}
else
{
TwitterLiveFireUserAuth.PrintTwitterErrors(lists1.twitterControlMessage);
successStatus = false;
}
}
// 2
if (testSeq.Contains(2))
{
ConsoleOutput.PrintMessage("10.2 Lists\\GetListTimeline", ConsoleColor.Gray);
var lists2 = await session.GetListTimeline(listId: twList.Id, slug:twList.Slug);
if (lists2.OK)
{
foreach (var tweet in lists2)
{
ConsoleOutput.PrintMessage(
String.Format("From: {0} // Message: {1}", tweet.User.ScreenName, tweet.Text));
}
}
else
{
TwitterLiveFireUserAuth.PrintTwitterErrors(lists2.twitterControlMessage);
successStatus = false;
}
}
// 3
if (testSeq.Contains(3))
{
ConsoleOutput.PrintMessage("10.3 Lists\\GetMyListsUserIsMemberOf - Cursored", ConsoleColor.Gray);
long nextcursor = -1;
var listCount = 0;
do
{
var lists3 =
await session.GetMyListsUserIsMemberOf(screenName: "shiftkey", cursor: nextcursor);
if (lists3.twitterFaulted)
{
TwitterLiveFireUserAuth.PrintTwitterErrors(lists3.twitterControlMessage);
successStatus = false;
break;
}
nextcursor = lists3.next_cursor;
ConsoleOutput.PrintMessage(String.Format("Previous cursor: {0} Next cursor: {1}",
lists3.previous_cursor, lists3.next_cursor), ConsoleColor.Magenta);
foreach (var lst in lists3.lists)
{
listCount++;
ConsoleOutput.PrintMessage(
String.Format("ID: {5} // Slug: {0} // Name: {1} // {2} // {3} // {4}", lst.Slug, lst.Name, lst.CreatedTime, lst.MemberCount, lst.Mode, lst.Id));
}
} while (nextcursor != 0);
ConsoleOutput.PrintMessage(String.Format("List Membership Count: {0}",
listCount));
}
// 4
if (testSeq.Contains(4))
{
ConsoleOutput.PrintMessage("10.4 Lists\\GetMembersOnList - Cursored", ConsoleColor.Gray);
long nextcursor = -1;
do
{
var lists4 =
await session.GetMembersOnList(listId: 52908745, slug: "autechheads", ownerId: 800364, ownerScreenName: "NickHodgeMSFT", cursor: nextcursor);
if (lists4.twitterFaulted)
{
successStatus = false;
TwitterLiveFireUserAuth.PrintTwitterErrors(lists4.twitterControlMessage);
break;
}
nextcursor = lists4.next_cursor;
ConsoleOutput.PrintMessage(String.Format("Previous cursor: {0} Next cursor: {1}",
lists4.previous_cursor, lists4.next_cursor), ConsoleColor.Magenta);
foreach (var lusr in lists4.users)
{
ConsoleOutput.PrintMessage(
String.Format("UserID: {0} // ScreenName: {1}", lusr.UserId, lusr.ScreenName));
}
} while (nextcursor != 0);
}
// 5
if (testSeq.Contains(5))
{
ConsoleOutput.PrintMessage("10.5 Lists\\IsUserOnList", ConsoleColor.Gray);
var testScreenName = "coatsy";
var lists5 =
await session.IsUserOnList(screenName: testScreenName, listId: 52908745, ownerId: 800364, ownerScreenName:"NickHodgeMSFT");
if (lists5.OK)
{
if (lists5.ScreenName == null)
ConsoleOutput.PrintMessage(String.Format("UserID: {0} is NOT ON the list", testScreenName));
else
ConsoleOutput.PrintMessage(String.Format("ScreenName: {0} is on the list", lists5.ScreenName));
}
else
{
TwitterLiveFireUserAuth.PrintTwitterErrors(lists5.twitterControlMessage);
successStatus = false;
}
}
// 6
if (testSeq.Contains(6))
{
ConsoleOutput.PrintMessage("10.6 Lists\\AddUserToMyList", ConsoleColor.Gray);
var testScreenName = "shiftkey";
var lists6 =
await session.AddUserToMyList(listId: 52908745, userIdToAdd: 14671135, screenNameToAdd:"shiftkey");
if (lists6.Status)
{
ConsoleOutput.PrintMessage(String.Format("ScreenName: {0} is added the list", testScreenName));
}
}
// 7
if (testSeq.Contains(7))
{
ConsoleOutput.PrintMessage("10.7 Lists\\DeleteUsersFromList", ConsoleColor.Gray);
var testScreenName = "coatsy";
var testScreenNames = new List<string> {testScreenName};
var lists7 =
await session.DeleteUsersFromList(listId: 52908745, ownerId: 800364, ownerScreenName:"NickHodgeMSFT", screenNames:testScreenNames);
if (lists7.Status)
{
ConsoleOutput.PrintMessage(String.Format("ScreenName: {0} is added the list", testScreenName));
}
else
{
TwitterLiveFireUserAuth.PrintTwitterErrors(lists7.twitterControlMessage);
}
}
}
catch (Exception e)
{
ConsoleOutput.PrintError(e.ToString());
return false;
}
return successStatus;
}
}
public static void Main(string[] args) { ConsoleOutput.PrintMessage("BoxKite.Twitter Live Fire Tests (User Auth)"); ConsoleOutput.PrintMessage("(control-c ends at anytime)"); var twittercredentials = ManageTwitterCredentials.GetTwitterCredentialsFromFile(); if (twittercredentials.Valid) { System.Console.CancelKeyPress += cancelStreamHandler; var session = new UserSession(twittercredentials, new DesktopPlatformAdaptor()); var checkUser = session.GetVerifyCredentials().Result; if (checkUser.OK) { ConsoleOutput.PrintMessage(twittercredentials.ScreenName + " is authorised to use BoxKite.Twitter."); // put the test series number you wish to run into the init of the array // then in each test group, put the numbers of the tests you would like to run // NOTE: some tests require a previous test to work successfully // NOTE: some tests post/delete items. This *is* a live fire test! var testSeriesToRun = new List <int> { 4 }; // Calls tested by Test Series // series 1 => 10 (UserAccounts & Auth) // series 2 => 1 (API Management) // series 3 => 4 (Direct Messages) // series 4 => 5 (Tweets) // series 5 => 3 (Favourites) // series 6 => 8 (Friends/Followers) // series 7 => 6 (TimeLine) // series 8 => 3 (Trends) // series 9 => 2 (SuggestedUsers) // series 10=> 7 (Lists) // series 11=> 3 (Combos) // ============= // TOTAL 52 // Test Series 1 if (testSeriesToRun.Contains(1)) { var ualft = new UserAccountLiveFireTests(); var testResult1 = ualft.DoUserAccountTest(session, new List <int> { 1, 2, 3, 4, 5, 6 }).Result; if (testResult1) { ConsoleOutput.PrintMessage(String.Format("1.0 User Account Tests Status: {0}", testResult1), ConsoleColor.White); } else { ConsoleOutput.PrintMessage(String.Format("1.0 User Account Tests Status: {0}", testResult1), ConsoleColor.Red); } } // Test Series 2 if (testSeriesToRun.Contains(2)) { var doit = new ApiManagementLiveFireTests(); var testResult2 = doit.DoApiTest(session, new List <int> { 1 }).Result; if (testResult2) { ConsoleOutput.PrintMessage(String.Format("2.0 API Management Tests Status: {0}", testResult2), ConsoleColor.White); } else { ConsoleOutput.PrintMessage(String.Format("2.0 API Management Tests Status: {0}", testResult2), ConsoleColor.Red); } } // Test Series 3 if (testSeriesToRun.Contains(3)) { var dms = new DirectMessagesLiveFireTests(); var testResult3 = dms.DoDMTest(session, new List <int> { 1, 2 }).Result; if (testResult3) { ConsoleOutput.PrintMessage(String.Format("3.0 Direct Messages Tests Status: {0}", testResult3), ConsoleColor.White); } else { ConsoleOutput.PrintMessage(String.Format("3.0 Direct Messages Tests Status: {0}", testResult3), ConsoleColor.Red); } } // Test Series 4 if (testSeriesToRun.Contains(4)) { var tws = new TweetsLiveFireTests(); var testResult4 = tws.DoTweetTest(session, new List <int> { 5 }).Result; if (testResult4) { ConsoleOutput.PrintMessage(String.Format("4.0 Tweet Tests Status: {0}", testResult4), ConsoleColor.White); } else { ConsoleOutput.PrintMessage(String.Format("4.0 Tweet Tests Status: {0}", testResult4), ConsoleColor.Red); } } // Test Series 5 if (testSeriesToRun.Contains(5)) { var fvs = new FavouritesLiveFireTests(); var testResult5 = fvs.DoFavouritesTest(session, new List <int> { 1, 2, 3 }).Result; if (testResult5) { ConsoleOutput.PrintMessage(String.Format("5.0 Favourite Tests Status: {0}", testResult5), ConsoleColor.White); } else { ConsoleOutput.PrintMessage(String.Format("5.0 Favourite Tests Status: {0}", testResult5), ConsoleColor.Red); } } // Test Series 6 if (testSeriesToRun.Contains(6)) { var ffvs = new FriendsFollowersLiveFireTests(); var testResult6 = ffvs.DoFriendsFollowersTest(session, new List <int> { 4, 5 }).Result; if (testResult6) { ConsoleOutput.PrintMessage(String.Format("6.0 FriendsFollowers Tests Status: {0}", testResult6), ConsoleColor.White); } else { ConsoleOutput.PrintMessage(String.Format("6.0 FriendsFollowers Tests Status: {0}", testResult6), ConsoleColor.Red); } } // Test Series 7 if (testSeriesToRun.Contains(7)) { var tmln = new TimelineLiveFireTests(); var testResult7 = tmln.DoTimelineTest(session, new List <int> { 6 }).Result; if (testResult7) { ConsoleOutput.PrintMessage(String.Format("7.0 Timeline Tests Status: {0}", testResult7), ConsoleColor.White); } else { ConsoleOutput.PrintMessage(String.Format("7.0 Timeline Tests Status: {0}", testResult7), ConsoleColor.Red); } } // Test Series 8(also tests SearchFor in SearchExtensions) if (testSeriesToRun.Contains(8)) { var trln = new TrendsLiveFireTests(); var testResult8 = trln.DoTrendsTest(session, new List <int> { 4, 5 }).Result; if (testResult8) { ConsoleOutput.PrintMessage(String.Format("8.0 Trends (and SearchFor) Tests Status: {0}", testResult8), ConsoleColor.White); } else { ConsoleOutput.PrintMessage(String.Format("8.0 Trends (and SearchFor) Tests Status: {0}", testResult8), ConsoleColor.Red); } } // Test Series 9(also tests SearchFor in SearchExtensions) if (testSeriesToRun.Contains(9)) { var trln = new SuggestedUsersLiveFireTests(); var testResult9 = trln.DoSuggestedUsersTest(session, new List <int> { 1, 2 }).Result; if (testResult9) { ConsoleOutput.PrintMessage(String.Format("9.0 SuggestedUsers Tests Status: {0}", testResult9), ConsoleColor.White); } else { ConsoleOutput.PrintMessage(String.Format("9.0 SuggestedUsers Tests Status: {0}", testResult9), ConsoleColor.Red); } } // Test Series 10 Lists if (testSeriesToRun.Contains(10)) { var lsts = new ListsLiveFireTests(); var testResult10 = lsts.DoListsTest(session, new List <int> { 1, 5, 7 }).Result; if (testResult10) { ConsoleOutput.PrintMessage(String.Format("10.0 Lists Tests Status: {0}", testResult10), ConsoleColor.White); } else { ConsoleOutput.PrintMessage(String.Format("10.0 Lists Tests Status: {0}", testResult10), ConsoleColor.Red); } } // Test Series 11 Lists if (testSeriesToRun.Contains(11)) { var cmbs = new CombosFireTests(); var testResult11 = cmbs.DoCombosTest(session, new List <int> { 2, 3 }).Result; if (testResult11) { ConsoleOutput.PrintMessage(String.Format("11.0 Combos Tests Status: {0}", testResult11), ConsoleColor.White); } else { ConsoleOutput.PrintMessage(String.Format("11.0 Combos Tests Status: {0}", testResult11), ConsoleColor.Red); } } } else { ConsoleOutput.PrintError("Unable to Authorise."); } } ConsoleOutput.PrintMessage("Press Return to close window"); System.Console.ReadLine(); }