httpmessage_ut.cc 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include "gtest/gtest.h"
  4. #include "alibabacloud/core/HttpRequest.h"
  5. using namespace std;
  6. using namespace AlibabaCloud;
  7. TEST(HttpMessage, perRequest) {
  8. const std::string data = "Thu, 19 Oct 2017 04:38:27 GMT";
  9. HttpRequest req;
  10. req.setHeader("accept", "application/xml");
  11. EXPECT_TRUE(req.header("accept") == "application/xml");
  12. req.setHeader("Accept", "application/json");
  13. EXPECT_TRUE(req.header("accept") == "application/json");
  14. EXPECT_TRUE(req.headers().size() == 1);
  15. req.setHeader("Date", data);
  16. EXPECT_TRUE(req.headers().size() == 2);
  17. EXPECT_TRUE(req.header(HttpMessage::KnownHeader::Date) == data);
  18. req.addHeader("header1", "value1");
  19. EXPECT_TRUE(req.header("header1") == "value1");
  20. EXPECT_TRUE(req.headers().size() == 3);
  21. req.addHeader(HttpMessage::KnownHeader::ContentMD5, "testmd5sume");
  22. EXPECT_TRUE(req.header(HttpMessage::KnownHeader::ContentMD5) == "testmd5sume");
  23. EXPECT_TRUE(req.headers().size() == 4);
  24. req.removeHeader("header1");
  25. EXPECT_TRUE(req.header("header1") == "");
  26. EXPECT_TRUE(req.headers().size() == 3);
  27. req.removeHeader(HttpMessage::KnownHeader::ContentMD5);
  28. EXPECT_TRUE(req.header(HttpMessage::KnownHeader::ContentMD5) == "");
  29. EXPECT_TRUE(req.headers().size() == 2);
  30. string body = "this is a test body";
  31. req.setBody(body.c_str(), body.size());
  32. EXPECT_TRUE(req.bodySize() == body.size());
  33. EXPECT_TRUE(req.hasBody());
  34. EXPECT_TRUE(req.body() != nullptr);
  35. }
  36. class TestHttpMessage: public HttpMessage {
  37. public:
  38. TestHttpMessage(): HttpMessage(){}
  39. };
  40. TEST(HttpMessage, A) {
  41. TestHttpMessage tm;
  42. TestHttpMessage ttm(tm);
  43. }