private static void Main(string[] args) { ConsoleOutput.PrintMessage("Welcome to BoxKite.Twitter Console"); ConsoleOutput.PrintMessage("(control-c ends)"); System.Console.CancelKeyPress += cancelStreamHandler; var twittercredentials = ManageTwitterCredentials.GetTwitterCredentialsFromFile(); if (twittercredentials == null) { // there are no Credentials on file, so create a new set // first, get the Twitter Client (also known as Consumer) Key and Secret from my service var twitterClientKeys = ClientKeyManager.GetTwitterClientKeys().Result; // make a new connection twitterConnection = new TwitterConnection(twitterClientKeys.Item1, twitterClientKeys.Item2); // PIN based authentication var oauth = twitterConnection.BeginUserAuthentication().Result; // if the response is null, something is wrong with the initial request to OAuth if (!string.IsNullOrWhiteSpace(oauth)) { ConsoleOutput.PrintMessage("Pin: "); var pin = System.Console.ReadLine(); twittercredentials = twitterConnection.CompleteUserAuthentication(pin, oauth).Result; ManageTwitterCredentials.SaveTwitterCredentialsToFile(twittercredentials); } else { ConsoleOutput.PrintError("Cannot OAuth with Twitter"); } } if (twittercredentials != null) { twitterConnection = new TwitterConnection(twittercredentials); twitterConnection.StartUserStreaming(); ConsoleOutput.PrintMessage(twitterConnection.TwitterCredentials.ScreenName + " is authorised to use BoxKite.Twitter."); var usersession = twitterConnection.UserSession; var userstream = twitterConnection.UserStream; var applicationsession = twitterConnection.ApplicationSession; var searchstream = twitterConnection.SearchStream; // userstream.Tweets.Subscribe( t => ConsoleOutput.PrintTweet(t)); //userstream.Events.Subscribe(e => ConsoleOutput.PrintEvent(e, ConsoleColor.Yellow)); //userstream.DirectMessages.Subscribe(C:\Users\nhodge\Documents\GitHub\BoxKite.Twitter\src\BoxKite.Twitter\SearchStream.cs // d => ConsoleOutput.PrintDirect(d, ConsoleColor.Magenta, ConsoleColor.Black)); //userstream.Start(); //while (userstream.IsActive) //{ // Thread.Sleep(TimeSpan.FromSeconds(0.5)); //} /*var x = session.SendTweet("d realnickhodge testing & ampersands"); * * if (x.IsFaulted) * { * ConsoleOutput.PrintMessage("bugger"); * } * */ //var locations = new List<string> { "150.700493", "-34.081953", "151.284828", "-33.593316" }; // var locations = new List<string> { "-180", "-90", "180", "90" }; // var track = new List<string> { "mh370" }; twitterConnection.TimeLine.Subscribe(t => { ConsoleOutput.PrintTweet(t, ConsoleColor.Green); }); twitterConnection.Mentions.Subscribe( t => ConsoleOutput.PrintTweet(t, ConsoleColor.White, ConsoleColor.DarkGray)); //twitterConnection.SearchTimeLine.Subscribe(t => { ConsoleOutput.PrintTweet(t, ConsoleColor.Cyan); }); //twitterConnection.StartSearchStreaming("angeles"); while (true) { Thread.Sleep(TimeSpan.FromSeconds(0.5)); } /* * twitterConnection.StartSearch("mh370"); * var xx = session.GetUserProfile(screen_name:"nickhodgemsft").Result; * * if (xx.twitterFaulted) * { * PrintTwitterErrors(xx.twitterControlMessage); * } * else * { * ConsoleOutput.PrintMessage(xx.ToString()); * } * * * * var fileName = "sampleimage\\boxkite1500x500.png"; * * if (File.Exists(fileName)) * { * // var newImage = File.ReadAllBytes(fileName); * * var sr = FilesHelper.FromFile(fileName); * * // var x = session.SendTweetWithImage("Testing Image Upload. You can Ignore", Path.GetFileName(fileName),newImage).Result; * * using (var fs = new FileStream(sr, FileMode.Open, FileAccess.Read)) * { * * var x = session.ChangeProfileBanner("sampleimage\\boxkite1500x500.png", fs).Result; * * // var x = session.SendTweetWithImage("Maggies Rules", "maggie.jpg", fs).Result; * * if (x.twitterFaulted) * { * PrintTwitterErrors(x.twitterControlMessage); * } * else * { * ConsoleOutput.PrintMessage("OK"); * } * * } * * } */ /* * mainTwitterAccount.TimeLine.Subscribe(t => ConsoleOutput.PrintTweet(t)); * mainTwitterAccount.Mentions.Subscribe( * t => ConsoleOutput.PrintTweet(t, ConsoleColor.White, ConsoleColor.DarkGray)); * * while (true) * { * Thread.Sleep(TimeSpan.FromSeconds(0.5)); * } * * Console.ConsoleOutput.PrintMessage("Event stream has stoppped."); * * var locations = new List<string> { "-34.081953", "150.700493", "-33.593316", "151.284828" }; * searchstream = session.StartSearchStream(locations: locations); * searchstream = session.StartSearchStream(track: "hazel"); * searchstream.FoundTweets.Subscribe(t => ConsoleOutput.PrintTweet(t, ConsoleColor.Green)); * searchstream.Start(); * * while (searchstream.IsActive) * { * Thread.Sleep(TimeSpan.FromMinutes(1)); * var sr = new StreamSearchRequest(); * sr.tracks.Add("xbox"); * searchstream.SearchRequests.Publish(sr); * } * */ /* * var x = session.GetMentions(count:100).Result; * * foreach (var tweet in x) * { * ConsoleOutputPrintTweet(tweet); * } * * * session.GetFavourites(count: 10) * .Subscribe(t => ConsoleOutputPrintTweet(t, ConsoleColor.White, ConsoleColor.Black)); */ } ConsoleOutput.PrintMessage("All Finished"); System.Console.ReadLine(); }
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(); }