Example #1
0
        protected override void Arrange()
        {
            const string validNotExisting = "DefaultEndpointsProtocol=https;AccountName=InexistantDoesntReallyMatter;AccountKey=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa==";

            this.account  = CloudStorageAccount.Parse(validNotExisting);
            this.strategy = new StorageTransientErrorDetectionStrategy();
        }
Example #2
0
        public void StorageTransientErrorDetectionStrategyWebExceptionTest()
        {
            WebExceptionStatus[] allWebExceptionStatusValues = (WebExceptionStatus[])Enum.GetValues(typeof(WebExceptionStatus));

            StorageTransientErrorDetectionStrategy strategy = new StorageTransientErrorDetectionStrategy();

            foreach (WebExceptionStatus status in allWebExceptionStatusValues)
            {
                if (status == WebExceptionStatus.ProtocolError)
                {
                    // This is covered in a separate test
                    continue;
                }

                WebException exception = new WebException("Simulated WebException with " + status.ToString(), status);

                if (strategy.IsTransient(exception))
                {
                    Assert.IsTrue(QueryErrorDetectionStrategyTest.SupportedRetryableWebExceptions.Contains(exception.Status), exception.Status.ToString());
                }
                else
                {
                    Assert.IsFalse(QueryErrorDetectionStrategyTest.SupportedRetryableWebExceptions.Contains(exception.Status), exception.Status.ToString());
                }
            }
        }
Example #3
0
        public void StorageTransientErrorDetectionStrategyTestIOException()
        {
            var exception = new System.IO.IOException();

            bool actual = new StorageTransientErrorDetectionStrategy().IsTransient(exception);

            Assert.IsTrue(actual);
        }
Example #4
0
        public void StorageTransientErrorDetectionStrategyDataServiceTransportExceptionTest()
        {
            HttpStatusCode[] allHttpStatusCodeValues = (HttpStatusCode[])Enum.GetValues(typeof(HttpStatusCode));

            StorageTransientErrorDetectionStrategy strategy = new StorageTransientErrorDetectionStrategy();

            foreach (HttpStatusCode status in allHttpStatusCodeValues)
            {
                DataServiceTransportException exception = QueryErrorDetectionStrategyTest.GetMockedTransportException(status);

                Assert.IsFalse(strategy.IsTransient(exception));
            }
        }
Example #5
0
        protected override void Arrange()
        {
            var storageConnectionString = ConfigurationHelper.GetSetting("StorageConnectionString");

            if (string.IsNullOrEmpty(storageConnectionString) ||
                storageConnectionString.Contains("[AccountName]") ||
                storageConnectionString.Contains("[AccountKey]"))
            {
                Assert.Inconclusive("Cannot run tests because the Windows Azures Storage credentials are not configured in app.config");
            }

            this.account  = CloudStorageAccount.Parse(storageConnectionString);
            this.strategy = new StorageTransientErrorDetectionStrategy();

            // Check to see that the account is valid.
            Assert.IsNotNull(this.account.CreateCloudBlobClient().ListContainers().ToList());
        }
        protected override void Arrange()
        {
            var storageConnectionString = ConfigurationHelper.GetSetting("StorageConnectionString");

            if (string.IsNullOrEmpty(storageConnectionString)
                || storageConnectionString.Contains("[AccountName]")
                || storageConnectionString.Contains("[AccountKey]"))
            {
                Assert.Inconclusive("Cannot run tests because the Windows Azures Storage credentials are not configured in app.config");
            }

            this.account = CloudStorageAccount.Parse(storageConnectionString);
            this.strategy = new StorageTransientErrorDetectionStrategy();

            // Check to see that the account is valid.
            Assert.IsNotNull(this.account.CreateCloudBlobClient().ListContainers().ToList());
        }
Example #7
0
        public void StorageTransientErrorDetectionStrategyTestStorageException()
        {
            List <String> allStorageErrorCodeStrings = GetAllStorageErrorStringConstants();

            StorageTransientErrorDetectionStrategy strategy = new StorageTransientErrorDetectionStrategy();

            foreach (string errorString in allStorageErrorCodeStrings)
            {
                var exception = GetSimulatedStorageTransientErrorDetectionStrategy(errorString);

                if (strategy.IsTransient(exception))
                {
                    Assert.IsTrue(SupportedRetryableStorageErrorStrings.Contains(errorString));
                }
                else
                {
                    Assert.IsFalse(SupportedRetryableStorageErrorStrings.Contains(errorString));
                }
            }
        }
Example #8
0
        public void StorageTransientErrorDetectionStrategyDataServiceClientExceptionTestByStatusCode()
        {
            HttpStatusCode[] allHttpStatusCodeValues = (HttpStatusCode[])Enum.GetValues(typeof(HttpStatusCode));

            StorageTransientErrorDetectionStrategy strategy = new StorageTransientErrorDetectionStrategy();

            foreach (HttpStatusCode status in allHttpStatusCodeValues)
            {
                DataServiceClientException exception = QueryErrorDetectionStrategyTest.GetMockedClientException(status);

                if (strategy.IsTransient(exception))
                {
                    Assert.IsTrue(SupportedRetryableHttpStatusCodes.Contains(status), status.ToString());
                }
                else
                {
                    Assert.IsFalse(SupportedRetryableHttpStatusCodes.Contains(status), status.ToString());
                }
            }
        }
Example #9
0
        public void StorageTransientErrorDetectionStrategyDataServiceClientExceptionTestByErrorString()
        {
            List <String> allStorageErrorCodeStrings = GetAllStorageErrorStringConstants();

            StorageTransientErrorDetectionStrategy strategy = new StorageTransientErrorDetectionStrategy();

            foreach (string errorString in allStorageErrorCodeStrings)
            {
                var innerException = new Exception(FormatErrorString(errorString));
                var exception      = new DataServiceQueryException("Simulated DataServiceQueryException", innerException);

                if (strategy.IsTransient(exception))
                {
                    Assert.IsTrue(SupportedRetryableStorageErrorStrings.Contains(errorString));
                }
                else
                {
                    Assert.IsFalse(SupportedRetryableStorageErrorStrings.Contains(errorString));
                }
            }
        }
        protected override void Arrange()
        {
            const string validNotExisting = "DefaultEndpointsProtocol=https;AccountName=InexistantDoesntReallyMatter;AccountKey=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa==";

            this.account = CloudStorageAccount.Parse(validNotExisting);
            this.strategy = new StorageTransientErrorDetectionStrategy();
        }
 protected override void Arrange()
 {
     this.strategy = new StorageTransientErrorDetectionStrategy();
 }
Example #12
0
        public void StorageTransientErrorDetectionStrategyTestGeneralException()
        {
            bool actual = new StorageTransientErrorDetectionStrategy().IsTransient(new Exception());

            Assert.IsFalse(actual);
        }
Example #13
0
 protected override void Arrange()
 {
     this.strategy = new StorageTransientErrorDetectionStrategy();
 }