public DoFriendsFollowersTest ( IUserSession session, List |
||
session | IUserSession | |
testSeq | List |
|
return | Task |
public async Task<bool> DoFriendsFollowersTest(IUserSession session, List<int> testSeq)
{
var successStatus = true;
try
{
// 1
if (testSeq.Contains(1))
{
ConsoleOutput.PrintMessage("6.1 FriendsFollowers\\GetFriendsIDs", ConsoleColor.Gray);
long nextcursor = -1;
var ffListCount = 0;
do
{
var ff1List = await session.GetFriendsIDs(cursor: nextcursor);
if (ff1List.twitterFaulted)
{
successStatus = false;
break;
};
nextcursor = ff1List.next_cursor;
ConsoleOutput.PrintMessage(String.Format("Previous cursor: {0} Next cursor: {1}",
ff1List.previous_cursor, ff1List.next_cursor));
foreach (var l in ff1List.UserIDs)
{
ffListCount++;
ConsoleOutput.PrintMessage(String.Format("User ID: {0}", l ));
}
} while (nextcursor != 0);
ConsoleOutput.PrintMessage(String.Format("Total Friends List Count: {0}",
ffListCount));
}
// 2
if (testSeq.Contains(2))
{
ConsoleOutput.PrintMessage("6.2 FriendsFollowers\\GetFollowersIDs", ConsoleColor.Gray);
long nextcursor = -1;
var ff2ListCount = 0;
do
{
var ff2List = await session.GetFollowersIDs(cursor: nextcursor);
if (ff2List.twitterFaulted)
{
successStatus = false;
break;
};
nextcursor = ff2List.next_cursor;
ConsoleOutput.PrintMessage(String.Format("Previous cursor: {0} Next cursor: {1}",
ff2List.previous_cursor, ff2List.next_cursor));
foreach (var l in ff2List.UserIDs)
{
ff2ListCount++;
ConsoleOutput.PrintMessage(String.Format("User ID: {0}", l));
}
} while (nextcursor != 0);
ConsoleOutput.PrintMessage(String.Format("Total Followers List Count: {0}",
ff2ListCount));
}
// 3
if (testSeq.Contains(3))
{
ConsoleOutput.PrintMessage("6.3 FriendsFollowers\\GetFriendships", ConsoleColor.Gray);
var ff3 = await session.GetFriendships(new List<string>{"katyperry","shiftkey"});
if (ff3.OK)
{
foreach (var t in ff3)
{
ConsoleOutput.PrintMessage(
String.Format("Name: {0} // UserID: {1}", t.ScreenName, t.UserId));
foreach (var c in t.Connections)
{
ConsoleOutput.PrintMessage(
String.Format("Connection: {0}", c.ToString()));
}
}
}
else
successStatus = false;
}
// 4
if (testSeq.Contains(4))
{
ConsoleOutput.PrintMessage("6.4 FriendsFollowers\\GetFriendshipRequestsIncoming", ConsoleColor.Gray);
long nextcursor = -1;
var ff4ListCount = 0;
do
{
var ff4List = await session.GetFriendshipRequestsIncoming(cursor: nextcursor);
if (ff4List.twitterFaulted)
{
successStatus = false;
break;
};
nextcursor = ff4List.next_cursor;
ConsoleOutput.PrintMessage(String.Format("Previous cursor: {0} Next cursor: {1}",
ff4List.previous_cursor, ff4List.next_cursor));
foreach (var l in ff4List.UserIDs)
{
ff4ListCount++;
ConsoleOutput.PrintMessage(String.Format("User ID: {0}", l));
}
} while (nextcursor != 0);
ConsoleOutput.PrintMessage(String.Format("Total Followers List Count: {0}",
ff4ListCount));
}
// 5
if (testSeq.Contains(5))
{
ConsoleOutput.PrintMessage("6.5 FriendsFollowers\\GetFriendshipRequestsOutgoing", ConsoleColor.Gray);
long nextcursor = -1;
var ff5ListCount = 0;
do
{
var ff5List = await session.GetFriendshipRequestsOutgoing(cursor: nextcursor);
if (ff5List.twitterFaulted)
{
successStatus = false;
break;
};
nextcursor = ff5List.next_cursor;
ConsoleOutput.PrintMessage(String.Format("Previous cursor: {0} Next cursor: {1}",
ff5List.previous_cursor, ff5List.next_cursor));
foreach (var l in ff5List.UserIDs)
{
ff5ListCount++;
ConsoleOutput.PrintMessage(String.Format("User ID: {0}", l));
}
} while (nextcursor != 0);
ConsoleOutput.PrintMessage(String.Format("Total Followers List Count: {0}",
ff5ListCount));
}
// 6
if (testSeq.Contains(6))
{
ConsoleOutput.PrintMessage("6.6 FriendsFollowers\\CreateFriendship", ConsoleColor.Gray);
var ff6 = await session.CreateFriendship("katyperry");
if (ff6.OK)
{
ConsoleOutput.PrintMessage(String.Format("Name: {0}", ff6.Name));
ConsoleOutput.PrintMessage(String.Format("User ID: {0}", ff6.UserId));
ConsoleOutput.PrintMessage(String.Format("Avatar URL: {0}", ff6.Avatar));
ConsoleOutput.PrintMessage(String.Format("Followers: {0}", ff6.Followers));
ConsoleOutput.PrintMessage(String.Format("Friends: {0}", ff6.Friends));
ConsoleOutput.PrintMessage(String.Format("Description: {0}", ff6.Description));
}
else
successStatus = false;
}
// 7
if (testSeq.Contains(7))
{
ConsoleOutput.PrintMessage("6.7 FriendsFollowers\\DeleteFriendship", ConsoleColor.Gray);
var ff7 = await session.DeleteFriendship(user_id: 21447363);
if (ff7.OK)
{
ConsoleOutput.PrintMessage(String.Format("Name: {0}", ff7.Name));
ConsoleOutput.PrintMessage(String.Format("User ID: {0}", ff7.UserId));
ConsoleOutput.PrintMessage(String.Format("Avatar URL: {0}", ff7.Avatar));
ConsoleOutput.PrintMessage(String.Format("Followers: {0}", ff7.Followers));
ConsoleOutput.PrintMessage(String.Format("Friends: {0}", ff7.Friends));
ConsoleOutput.PrintMessage(String.Format("Description: {0}", ff7.Description));
}
else
successStatus = false;
}
}
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(); }