httpmessage_ut.cc 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. }