Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        public TwitterException GenerateTwitterException(IWebRequestResult webRequestResult)
        {
            var webExceptionParameterOverride = _twitterExceptionUnityFactory.GenerateParameterOverrideWrapper("webRequestResult", webRequestResult);
            var twitterException = _twitterExceptionUnityFactory.Create(webExceptionParameterOverride);

            return(twitterException as TwitterException);
        }
Esempio n. 4
0
        public TwitterException AddFailedWebRequestResult(IWebRequestResult webRequestResult)
        {
            var twitterException = GenerateTwitterException(webRequestResult);

            AddTwitterException(twitterException);
            
            return twitterException;
        }
Esempio n. 5
0
        public TwitterException AddFailedWebRequestResult(IWebRequestResult webRequestResult)
        {
            var twitterException = GenerateTwitterException(webRequestResult);

            AddTwitterException(twitterException);

            return(twitterException);
        }
Esempio n. 6
0
 public TwitterException(
     IWebExceptionInfoExtractor webExceptionInfoExtractor,
     IWebRequestResult webRequestResult)
     : this(webRequestResult.URL)
 {
     StatusCode = webRequestResult.StatusCode;
     TwitterExceptionInfos = webExceptionInfoExtractor.GetTwitterExceptionInfosFromStream(webRequestResult.ResultStream);
     TwitterDescription = webExceptionInfoExtractor.GetStatusCodeDescription(StatusCode);
 }
Esempio n. 7
0
 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));
        }
Esempio n. 9
0
        public TwitterException TryLogFailedWebRequestResult(IWebRequestResult webRequestResult)
        {
            var twitterException = GenerateTwitterException(webRequestResult);

            if (LogExceptions)
            {
                AddTwitterException(twitterException);
            }

            return(twitterException);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
 public TwitterException Create(IWebRequestResult webRequestResult)
 {
     return new TwitterException(_webExceptionInfoExtractor, webRequestResult);
 }
Esempio n. 12
0
 public TwitterException GenerateTwitterException(IWebRequestResult webRequestResult)
 {
     var webExceptionParameterOverride = _twitterExceptionUnityFactory.GenerateParameterOverrideWrapper("webRequestResult", webRequestResult);
     var twitterException = _twitterExceptionUnityFactory.Create(webExceptionParameterOverride);
     return twitterException as TwitterException;
 }
Esempio n. 13
0
 public TwitterException Create(IWebRequestResult webRequestResult)
 {
     return(new TwitterException(_webExceptionInfoExtractor, webRequestResult));
 }
 public TwitterException GenerateTwitterException(IWebRequestResult webRequestResult)
 {
     return _twitterExceptionFactory.Create(webRequestResult);
 }
Esempio n. 15
0
 public TwitterException GenerateTwitterException(IWebRequestResult webRequestResult)
 {
     return(_twitterExceptionFactory.Create(webRequestResult));
 }
        public TwitterException TryLogFailedWebRequestResult(IWebRequestResult webRequestResult)
        {
            var twitterException = GenerateTwitterException(webRequestResult);

            if (LogExceptions)
            {
                AddTwitterException(twitterException);
            }

            return twitterException;
        }
Esempio n. 17
0
        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);
        }