public DoUserAccountTest ( IUserSession session, List |
||
session | IUserSession | |
testSeq | List |
|
return | Task |
public async Task<bool> DoUserAccountTest(IUserSession session, List<int> testSeq)
{
var successStatus = true;
try
{
// 1
if (testSeq.Contains(1))
{
ConsoleOutput.PrintMessage("1.1 UsersExtensions\\GetAccountSettings", ConsoleColor.Gray);
var accountSettings = await session.GetAccountSettings();
testScreenName = accountSettings.ScreenName;
if (accountSettings.OK && !string.IsNullOrWhiteSpace(testScreenName))
{
ConsoleOutput.PrintMessage(String.Format("Screen Name: {0}", testScreenName));
ConsoleOutput.PrintMessage(String.Format("Time Zone: {0}", accountSettings.TimeZone.name));
ConsoleOutput.PrintMessage(String.Format("Trend Location: {0}",
accountSettings.TrendLocation.ToList()[0].name));
}
else
successStatus = false;
}
// 2
if (testSeq.Contains(2))
{
ConsoleOutput.PrintMessage("1.2 UsersExtensions\\GetVerifyCredentials", ConsoleColor.Gray);
loggedInUserProfile = await session.GetVerifyCredentials();
if (loggedInUserProfile.OK)
{
ConsoleOutput.PrintMessage("Credentials Verified OK.");
ConsoleOutput.PrintMessage(String.Format("User ID Verified OK: {0}", loggedInUserProfile.UserId));
}
else
successStatus = false;
}
// 3
if (testSeq.Contains(3))
{
ConsoleOutput.PrintMessage("1.3 UsersExtensions\\GetUserProfile", ConsoleColor.Gray);
var getProfile = await session.GetUserProfile(testScreenName);
if (getProfile.OK)
{
ConsoleOutput.PrintMessage(String.Format("Name: {0}", getProfile.Name));
ConsoleOutput.PrintMessage(String.Format("User ID: {0}", getProfile.UserId));
ConsoleOutput.PrintMessage(String.Format("Avatar URL: {0}", getProfile.Avatar));
ConsoleOutput.PrintMessage(String.Format("Followers: {0}", getProfile.Followers));
ConsoleOutput.PrintMessage(String.Format("Friends: {0}", getProfile.Friends));
ConsoleOutput.PrintMessage(String.Format("Description: {0}", getProfile.Description));
}
else
successStatus = false;
}
// 4
if (testSeq.Contains(4))
{
ConsoleOutput.PrintMessage("1.4 UsersExtensions\\ChangeAccountSettings", ConsoleColor.Gray);
var changeSettings = await session.ChangeAccountSettings(trendLocationWoeid: "1");
if (changeSettings.OK)
{
ConsoleOutput.PrintMessage(String.Format("Trend Location: {0}",
changeSettings.TrendLocation.ToList()[0].name));
}
else
successStatus = false;
}
// 5
if (testSeq.Contains(5))
{
ConsoleOutput.PrintMessage("1.5 UsersExtensions\\GetBlockList - Cursored", ConsoleColor.Gray);
long nextcursor = -1;
var blockListCount = 0;
do
{
var blockList = await session.GetBlockList(cursor: nextcursor);
if (blockList.twitterFaulted) continue;
nextcursor = blockList.next_cursor;
ConsoleOutput.PrintMessage(String.Format("Previous cursor: {0} Next cursor: {1}",
blockList.previous_cursor, blockList.next_cursor));
foreach (var l in blockList.users)
{
blockListCount++;
ConsoleOutput.PrintMessage(String.Format("ScreenName: {0} User ID: {1} Description: {2}",
l.Name, l.UserId, l.Description));
}
} while (nextcursor != 0);
ConsoleOutput.PrintMessage(String.Format("Block List Count: {0}",
blockListCount));
}
// 6
if (testSeq.Contains(6))
{
ConsoleOutput.PrintMessage("1.6 UsersExtensions\\DeleteUserBlock", ConsoleColor.Gray);
var deleteUserBlock = await session.DeleteUserBlock(screenName: "NickHodgeMSFT");
if (deleteUserBlock.OK)
ConsoleOutput.PrintMessage(String.Format("ScreenName: {0}", deleteUserBlock.ScreenName));
else
successStatus = false;
}
// 7
if (testSeq.Contains(7))
{
ConsoleOutput.PrintMessage("1.7 UsersExtensions\\GetUsersDetailsFull From Screennames ",
ConsoleColor.Gray);
var screennames = new List<string> {"shiftkey", "katyperry"};
var getUserDetailsFullFromScreenNames = await session.GetUsersDetailsFull(screenNames: screennames);
if (getUserDetailsFullFromScreenNames.OK)
{
ConsoleOutput.PrintMessage(String.Format("Returned: {0}",
getUserDetailsFullFromScreenNames.Count()));
foreach (var u in getUserDetailsFullFromScreenNames)
{
ConsoleOutput.PrintMessage(String.Format("User ID: {1} // ScreenName: {0} // Description: {2}",
u.Name, u.UserId, u.Description));
}
}
else
successStatus = false;
}
// 8
if (testSeq.Contains(8))
{
ConsoleOutput.PrintMessage("1.8 UsersExtensions\\GetUsersDetailsFull From IDs", ConsoleColor.Gray);
var usersids = new List<long> { 21447363, 14671135, 4503599627370241};
var getUserDetailsFullFromIDs = await session.GetUsersDetailsFull(userIds: usersids);
if (getUserDetailsFullFromIDs.OK)
{
ConsoleOutput.PrintMessage(String.Format("Returned: {0}", getUserDetailsFullFromIDs.Count()));
foreach (var u in getUserDetailsFullFromIDs)
{
ConsoleOutput.PrintMessage(String.Format(
"ScreenName: {0} User ID: {1} Description: {2}",
u.Name, u.UserId, u.Description));
}
}
else
successStatus = false;
}
// 9
if (testSeq.Contains(9))
{
ConsoleOutput.PrintMessage("1.9 UsersExtensions\\SearchForUsers", ConsoleColor.Gray);
var q = "troll";
var searchForUsers = await session.SearchForUsers(q, 200, 1);
if (searchForUsers.OK)
{
ConsoleOutput.PrintMessage(String.Format("Returned: {0}", searchForUsers.Count()));
foreach (var u in searchForUsers)
{
ConsoleOutput.PrintMessage(String.Format(
"ScreenName: {0} User ID: {1} Description: {2}",
u.Name, u.UserId, u.Description));
}
}
else
successStatus = false;
}
// 10
if (testSeq.Contains(10))
{
ConsoleOutput.PrintMessage("1.10 Get GetConfiguration", ConsoleColor.Gray);
var configUser = await session.GetConfiguration();
if (configUser.OK)
{
ConsoleOutput.PrintMessage(String.Format("Returned for Max Media Per Upload: {0}", configUser.MaxMediaPerUpload));
ConsoleOutput.PrintMessage(String.Format("Returned for Max Chars for DM: {0}", configUser.DirectMessageCharacterLimit));
}
else
successStatus = false;
}
// 11
if (testSeq.Contains(11))
{
ConsoleOutput.PrintMessage("1.11 Start ApplicationOnlyAuth", ConsoleColor.Gray);
var getAuthToken = await session.StartApplicationOnlyAuth();
if (getAuthToken)
{
ConsoleOutput.PrintMessage(String.Format("Returned: {0}", getAuthToken));
}
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(); }