public void TestInitialize() { _fakeBuilder = new FakeClassBuilder <RateLimitCacheManager>(); _fakeRateLimitCache = _fakeBuilder.GetFake <IRateLimitCache>(); _fakeRateLimitHelper = _fakeBuilder.GetFake <IRateLimitHelper>(); _fakeWebRequestExecutor = _fakeBuilder.GetFake <IWebRequestExecutor>(); _fakeHelpQueryGenerator = _fakeBuilder.GetFake <IHelpQueryGenerator>(); _fakeJsonObjectConverter = _fakeBuilder.GetFake <IJsonObjectConverter>(); _fakeCredentialsAccessor = _fakeBuilder.GetFake <ICredentialsAccessor>(); _fakeTwitterQueryFactory = _fakeBuilder.GetFake <ITwitterQueryFactory>(); InitializeData(); _fakeRateLimitHelper.CallsTo(x => x.GetEndpointRateLimitFromQuery(TEST_QUERY, _credentialsRateLimits, false)).Returns(_endpointRateLimit); _fakeRateLimitCache.CallsTo(x => x.GetCredentialsRateLimits(_credentials)).Returns(_credentialsRateLimits); _fakeRateLimitCache.CallsTo(x => x.RefreshEntry(_credentials, _credentialsRateLimits)).Invokes(() => { _fakeRateLimitCache.CallsTo(x => x.GetCredentialsRateLimits(_credentials)).Returns(_refreshedCredentialsRateLimits); _fakeRateLimitHelper.CallsTo(x => x.GetEndpointRateLimitFromQuery(TEST_QUERY, _refreshedCredentialsRateLimits, false)).Returns(_refreshedEndpointRateLimit); }); _fakeCredentialsAccessor.SetupPassThrough <ICredentialsRateLimits>(); _fakeHelpQueryGenerator.CallsTo(x => x.GetCredentialsLimitsQuery()).Returns(TEST_QUERY); _webRequestResult = A.Fake <IWebRequestResult>(); _webRequestResult.Text = TEST_QUERY; _fakeWebRequestExecutor.CallsTo(x => x.ExecuteQuery(_twitterQuery, null)).Returns(_webRequestResult); _fakeJsonObjectConverter.CallsTo(x => x.DeserializeObject <ICredentialsRateLimits>(TEST_QUERY, It.IsAny <JsonConverter[]>())).ReturnsNextFromSequence(_credentialsRateLimits, _credentialsRateLimits2); _fakeTwitterQueryFactory.CallsTo(x => x.Create(TEST_QUERY, It.IsAny <HttpMethod>(), It.IsAny <ITwitterCredentials>())).Returns(_twitterQuery); }
public static byte[] ToBinary(this IWebRequestResult webRequestResult) { var stream = webRequestResult.ResultStream; if (stream == null) { return(null); } byte[] binary; using (var tempMemStream = new MemoryStream()) { byte[] buffer = new byte[128]; while (true) { int read = stream.Read(buffer, 0, buffer.Length); if (read <= 0) { binary = tempMemStream.ToArray(); break; } tempMemStream.Write(buffer, 0, read); } } return(binary); }
public TwitterException GenerateTwitterException(IWebRequestResult webRequestResult) { var webExceptionParameterOverride = _twitterExceptionUnityFactory.GenerateParameterOverrideWrapper("webRequestResult", webRequestResult); var twitterException = _twitterExceptionUnityFactory.Create(webExceptionParameterOverride); return(twitterException as TwitterException); }
public TwitterException AddFailedWebRequestResult(IWebRequestResult webRequestResult) { var twitterException = GenerateTwitterException(webRequestResult); AddTwitterException(twitterException); return twitterException; }
public TwitterException AddFailedWebRequestResult(IWebRequestResult webRequestResult) { var twitterException = GenerateTwitterException(webRequestResult); AddTwitterException(twitterException); return(twitterException); }
public TwitterException( IWebExceptionInfoExtractor webExceptionInfoExtractor, IWebRequestResult webRequestResult) : this(webRequestResult.URL) { StatusCode = webRequestResult.StatusCode; TwitterExceptionInfos = webExceptionInfoExtractor.GetTwitterExceptionInfosFromStream(webRequestResult.ResultStream); TwitterDescription = webExceptionInfoExtractor.GetStatusCodeDescription(StatusCode); }
private void QueryCompleted(ITwitterQuery twitterQuery, IWebRequestResult webRequestResult, RateLimitTrackerMode rateLimitTrackerMode) { if (rateLimitTrackerMode != RateLimitTrackerMode.None) { var rateLimitHeaders = webRequestResult.Headers.Where(kvp => kvp.Key.StartsWith("x-rate-limit-")).ToDictionary(kvp => kvp.Key, kvp => kvp.Value); _rateLimitUpdater.QueryExecuted(twitterQuery.QueryURL, twitterQuery.TwitterCredentials, rateLimitHeaders); } _tweetinviEvents.RaiseAfterQueryExecuted(new QueryAfterExecuteEventArgs(twitterQuery, webRequestResult.Response, webRequestResult.Headers)); }
public TwitterException TryLogFailedWebRequestResult(IWebRequestResult webRequestResult) { var twitterException = GenerateTwitterException(webRequestResult); if (LogExceptions) { AddTwitterException(twitterException); } return(twitterException); }
public static string ToJson(this IWebRequestResult webRequestResult) { var resultStream = webRequestResult.ResultStream; if (resultStream != null) { var responseReader = new StreamReader(resultStream); var json = responseReader.ReadLine(); return(json); } return(null); }
public TwitterException Create(IWebRequestResult webRequestResult) { return new TwitterException(_webExceptionInfoExtractor, webRequestResult); }
public TwitterException GenerateTwitterException(IWebRequestResult webRequestResult) { var webExceptionParameterOverride = _twitterExceptionUnityFactory.GenerateParameterOverrideWrapper("webRequestResult", webRequestResult); var twitterException = _twitterExceptionUnityFactory.Create(webExceptionParameterOverride); return twitterException as TwitterException; }
public TwitterException Create(IWebRequestResult webRequestResult) { return(new TwitterException(_webExceptionInfoExtractor, webRequestResult)); }
public TwitterException GenerateTwitterException(IWebRequestResult webRequestResult) { return _twitterExceptionFactory.Create(webRequestResult); }
public TwitterException GenerateTwitterException(IWebRequestResult webRequestResult) { return(_twitterExceptionFactory.Create(webRequestResult)); }
public TwitterException TryLogFailedWebRequestResult(IWebRequestResult webRequestResult) { var twitterException = GenerateTwitterException(webRequestResult); if (LogExceptions) { AddTwitterException(twitterException); } return twitterException; }
public void TestInitialize() { _fakeBuilder = new FakeClassBuilder<RateLimitCacheManager>(); _fakeRateLimitCache = _fakeBuilder.GetFake<IRateLimitCache>(); _fakeRateLimitHelper = _fakeBuilder.GetFake<IRateLimitHelper>(); _fakeWebRequestExecutor = _fakeBuilder.GetFake<IWebRequestExecutor>(); _fakeHelpQueryGenerator = _fakeBuilder.GetFake<IHelpQueryGenerator>(); _fakeJsonObjectConverter = _fakeBuilder.GetFake<IJsonObjectConverter>(); _fakeCredentialsAccessor = _fakeBuilder.GetFake<ICredentialsAccessor>(); _fakeTwitterQueryFactory = _fakeBuilder.GetFake<ITwitterQueryFactory>(); InitializeData(); _fakeRateLimitHelper.CallsTo(x => x.GetEndpointRateLimitFromQuery(TEST_QUERY, _credentialsRateLimits, false)).Returns(_endpointRateLimit); _fakeRateLimitCache.CallsTo(x => x.GetCredentialsRateLimits(_credentials)).Returns(_credentialsRateLimits); _fakeRateLimitCache.CallsTo(x => x.RefreshEntry(_credentials, _credentialsRateLimits)).Invokes(() => { _fakeRateLimitCache.CallsTo(x => x.GetCredentialsRateLimits(_credentials)).Returns(_refreshedCredentialsRateLimits); _fakeRateLimitHelper.CallsTo(x => x.GetEndpointRateLimitFromQuery(TEST_QUERY, _refreshedCredentialsRateLimits, false)).Returns(_refreshedEndpointRateLimit); }); _fakeCredentialsAccessor.SetupPassThrough<ICredentialsRateLimits>(); _fakeHelpQueryGenerator.CallsTo(x => x.GetCredentialsLimitsQuery()).Returns(TEST_QUERY); _webRequestResult = A.Fake<IWebRequestResult>(); _webRequestResult.Response = TEST_QUERY; _fakeWebRequestExecutor.CallsTo(x => x.ExecuteQuery(_twitterQuery, null)).Returns(_webRequestResult); _fakeJsonObjectConverter.CallsTo(x => x.DeserializeObject<ICredentialsRateLimits>(TEST_QUERY, It.IsAny<JsonConverter[]>())).ReturnsNextFromSequence(_credentialsRateLimits, _credentialsRateLimits2); _fakeTwitterQueryFactory.CallsTo(x => x.Create(TEST_QUERY, It.IsAny<HttpMethod>(), It.IsAny<ITwitterCredentials>())).Returns(_twitterQuery); }