[Box Backup-commit] COMMIT r2446 - box/trunk/test/httpserver
boxbackup-dev@boxbackup.org
boxbackup-dev@boxbackup.org
Fri, 9 Jan 2009 10:19:46 +0000 (GMT)
Author: chris
Date: 2009-01-09 10:19:46 +0000 (Fri, 09 Jan 2009)
New Revision: 2446
Modified:
box/trunk/test/httpserver/testhttpserver.cpp
Log:
Add support for PUT requests in HTTP simulator.
Modified: box/trunk/test/httpserver/testhttpserver.cpp
===================================================================
--- box/trunk/test/httpserver/testhttpserver.cpp 2009-01-09 10:19:11 UTC (rev 2445)
+++ box/trunk/test/httpserver/testhttpserver.cpp 2009-01-09 10:19:46 UTC (rev 2446)
@@ -347,6 +347,8 @@
{ }
HTTPResponse GetObject(const std::string& rObjectURI);
+ HTTPResponse PutObject(const std::string& rObjectURI,
+ IOStream& rStreamToSend, const char* pContentType = NULL);
private:
S3Simulator* mpSimulator;
@@ -369,6 +371,13 @@
return FinishAndSendRequest(HTTPRequest::Method_GET, rObjectURI);
}
+HTTPResponse S3Client::PutObject(const std::string& rObjectURI,
+ IOStream& rStreamToSend, const char* pContentType)
+{
+ return FinishAndSendRequest(HTTPRequest::Method_PUT, rObjectURI,
+ &rStreamToSend, pContentType);
+}
+
HTTPResponse S3Client::FinishAndSendRequest(HTTPRequest::Method Method,
const std::string& rRequestURI, IOStream* pStreamToSend,
const char* pStreamContentType)
@@ -683,8 +692,24 @@
response.GetSize());
TEST_EQUAL("omgpuppies!\n", response_data);
+ // make sure that assigning to HTTPResponse does clear stream
+ response = client.GetObject("/photos/puppy.jpg");
+ TEST_EQUAL(200, response.GetResponseCode());
+ response_data = std::string((const char *)response.GetBuffer(),
+ response.GetSize());
+ TEST_EQUAL("omgpuppies!\n", response_data);
+
response = client.GetObject("/nonexist");
TEST_EQUAL(404, response.GetResponseCode());
+
+ FileStream fs("testfiles/testrequests.pl");
+ response = client.PutObject("/newfile", fs);
+ TEST_EQUAL(200, response.GetResponseCode());
+
+ response = client.GetObject("/newfile");
+ TEST_EQUAL(200, response.GetResponseCode());
+ TEST_THAT(fs.CompareWith(response));
+ TEST_EQUAL(0, ::unlink("testfiles/newfile"));
}
{