private static IEnumerable<ISnesActivity> BuildSnesEvents(IDnaDataReader reader) { var activities = new List<ISnesActivity>(); reader.Execute(); if (reader.HasRows) { while (reader.Read()) { activities.Add(SnesActivityFactory.CreateSnesActivity(SnesActivityLogger, reader)); } } return activities; }
private static void MockCurrentRowDataReader(IDnaDataReader reader) { Expect.Call(reader.Execute()).Return(reader); Expect.Call(reader.HasRows).Return(true); var readReturn = new Queue<bool>(); readReturn.Enqueue(true); readReturn.Enqueue(false); Expect.Call(reader.Read()).Return(true).WhenCalled( x => x.ReturnValue = readReturn.Dequeue()); Expect.Call(reader.Dispose); Expect.Call(reader.GetString("AppId")).Return("iPlayer"); Expect.Call(reader.GetString("IdentityUserId")).Return("0"); //Expect.Call(reader.GetInt32NullAsZero("PostId")).Repeat.Times(2).Return(1); //Expect.Call(reader.GetStringNullAsEmpty("DnaUrl")).Return("http://www.bbc.co.uk/dna/"); //Expect.Call(reader.GetInt32NullAsZero("ForumID")).Repeat.Any().Return(1234); //Expect.Call(reader.GetInt32NullAsZero("ThreadId")).Repeat.Any().Return(54321); //Expect.Call(reader.GetInt32("ActivityType")).Repeat.Times(2).Return(5); //Expect.Call(reader.GetInt32("EventID")).Return(1234); //string appId = Guid.NewGuid().ToString(); //Expect.Call(reader.GetStringNullAsEmpty("AppId")).Return(appId); //Expect.Call(reader.GetStringNullAsEmpty("Body")).Return("here is some text"); //DateTime now = new DateTime(1970, 1, 1, 0, 0, 0); //Expect.Call(reader.GetDateTime("ActivityTime")).Return(now); //Expect.Call(reader.GetInt32("IdentityUserId")).Return(12345456); //Expect.Call(reader.GetStringNullAsEmpty("AppName")).Return("iPlayer"); //Expect.Call(reader.GetStringNullAsEmpty("BlogUrl")).Repeat.Times(2).Return("http://www.bbc.co.uk/blogs/test"); return; }
private void GetCommentForum(IDnaDataReader reader) { reader.AddParameter("@uid", _uid) .AddParameter("@url", "http://www.bbc.co.uk/comment.shtml") .AddParameter("@title", "Comment test") .AddParameter("@siteid", 54) .AddParameter("@frompostindex", 0) .AddParameter("topostindex", 0) .AddParameter("@show", 5) .AddParameter("@createifnotexists", 1) .AddParameter("@duration", 1000) .AddParameter("@moderationstatus", 3); reader.Execute(); Assert.IsTrue(reader.Read(), "Checking that getcommentforum returns a row containing the forum details"); }
/// <summary> /// This method creates and maps the twitter user to a DNA User ID and retrieve the created twitter user details /// </summary> /// <param name="searchText"></param> /// <param name="dataReader"></param> private string CreateRetrieveTwitterUser(string searchText, IDnaDataReader dataReader) { //TODO: Call the twitter api to get the user details TwitterClient client; TweetUsers tweetUser; //var twitterAPIException = string.Empty; var twitterException = string.Empty; try { client = new TwitterClient(); tweetUser = new TweetUsers(); //tweetUser = client.GetUserDetails(searchText); tweetUser = client.GetUserDetailsByScrapping(searchText); // Create the twitter user with the associated dnauserid in DNA if (tweetUser != null) { ICacheManager cacheManager = CacheFactory.GetCacheManager(); var callingUser = new CallingTwitterUser(this.readerCreator, this.dnaDiagnostic, cacheManager); //Create the twitter user and map it to DNA with site id 1 callingUser.CreateUserFromTwitterUser(1, tweetUser); callingUser.SynchroniseSiteSuffix(tweetUser.ProfileImageUrl); if (dataReader != null) { dataReader.Execute(); } } } catch (Exception ex) { InputContext.Diagnostics.WriteExceptionToLog(ex); var twitterRateLimitException = "Rate limit exceeded."; var twitterErrorNotFound = "The remote server returned an error: (404) Not Found."; var twitterUnexpectedResponseException = "The remote server returned an unexpected response: (400) Bad Request."; if (ex.Message.Contains(twitterRateLimitException)) { twitterException = "Twitter API has reached its rate limit. Please try again later."; } else if (ex.Message.Equals(twitterErrorNotFound) || ex.InnerException.Message.Equals(twitterErrorNotFound)) { twitterException = "Searched user not found in Twitter"; } else if (ex.Message.Equals(twitterUnexpectedResponseException)) { twitterException = "Twitter Exception: " + ex.Message + " Please try again in few minutes."; } else { twitterException = "Twitter Exception: " + ex.Message; } } return twitterException; }