public void S3CapacityManagerIntegrationTest()
{
int TotalRequests = 500;
int RetryRequests = 100;
int ExtraRequests = TotalRequests-RetryRequests;
requestCount = 0;
var retryFlag = true;
using (MultipleResponseServlet servlet = new MultipleResponseServlet())
{
servlet.OnRequest += path =>
{
requestCount++;
if (retryFlag)
{
return new MultipleResponseServlet.Response
{
Contents = "foo",
Headers = new Dictionary<string, string>(),
StatusCode = 500
};
}
else
{
var xmlDoc = UtilityMethods.GetResourceText("ListObjectsResponse.xml");
XmlDocument myxml = new XmlDocument();
myxml.LoadXml(xmlDoc);
string contents = myxml.InnerXml;
return new MultipleResponseServlet.Response
{
Contents = contents,
Headers = new Dictionary<string, string>(),
StatusCode = 200
};
}
};
string server = "http://localhost:" + servlet.Port;
using (var client = new AmazonS3Client(new AmazonS3Config
{
ServiceURL = server,
MaxErrorRetry = 1
}))
{
retryFlag = true;
FailureRetryRequests(TotalRequests, RetryRequests, ExtraRequests, client);
retryFlag = false;
requestCount = 0;
for (int i = 0; i < TotalRequests; i++)
{
var response = client.ListObjects("CapacityManagerTests");
}
retryFlag = true;
requestCount = 0;
FailureRetryRequests(TotalRequests, RetryRequests, ExtraRequests, client);
}
}
}