public async Task AbleToMigrate_fails_if_Timeout_table_Does_not_exist()
        {
            // Arrange
            var timeoutTarget = new ASQTarget(connectionString, new DelayedDeliveryTableNameProvider("TimeoutTableThatDoesNotExist"));

            // Act
            var ableToMigrate = await timeoutTarget.AbleToMigrate(new EndpointInfo { EndpointName = endpointName });

            // Assert
            Assert.IsFalse(ableToMigrate.CanMigrate);
            Assert.AreEqual("Target delayed delivery table TimeoutTableThatDoesNotExist does not exist.", ableToMigrate.Problems[0]);
        }
        public async Task AbleToMigrate_passes_if_Timeout_table_exists()
        {
            // Arrange
            await CreateTimeoutTable($"T{endpointName}");

            var timeoutTarget = new ASQTarget(connectionString, new DelayedDeliveryTableNameProvider($"T{endpointName}"));

            // Act
            var ableToMigrate = await timeoutTarget.AbleToMigrate(new EndpointInfo { EndpointName = endpointName });

            // Assert
            Assert.IsTrue(ableToMigrate.CanMigrate);
        }
        public async Task AbleToMigrate_fails_with_incorrect_connection_string()
        {
            // Arrange
            string fakeConnectionString = "DefaultEndpointsProtocol=https;AccountName=fakename;AccountKey=g94OvNO9o3sVan5eipemQEHmU8zD2M9iq98E8nKSdR2bTuQB1hi07Yd1/8dDw6+1jGI2klWjpvoDahHPhR/3og==";
            var    account = CloudStorageAccount.Parse(fakeConnectionString);
            var    client  = account.CreateCloudTableClient();

            client.DefaultRequestOptions.MaximumExecutionTime = TimeSpan.FromSeconds(2);

            var timeoutTarget = new ASQTarget(client, new DelayedDeliveryTableNameProvider("TimeoutTableThatDoesNotExist"));

            // Act
            var ableToMigrate = await timeoutTarget.AbleToMigrate(new EndpointInfo { EndpointName = endpointName });

            // Assert
            Assert.IsFalse(ableToMigrate.CanMigrate);
            Assert.That(ableToMigrate.Problems[0], Does.StartWith("Unable to connect to the storage instance on account 'fakename'. Verify the connection string. Exception message '"));
        }