servicerequest_ut.cc 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include "gtest/gtest.h"
  5. #include "alibabacloud/core/ServiceRequest.h"
  6. using namespace std;
  7. using namespace AlibabaCloud;
  8. namespace {
  9. class TestServiceRequest: public ServiceRequest {
  10. public:
  11. explicit TestServiceRequest(const std::string &product, const std::string &version):
  12. ServiceRequest(product, version)
  13. {}
  14. explicit TestServiceRequest(const ServiceRequest &other):
  15. ServiceRequest(other)
  16. {}
  17. explicit TestServiceRequest(ServiceRequest &&other):
  18. ServiceRequest(other)
  19. {}
  20. using ServiceRequest::addParameter;
  21. using ServiceRequest::removeParameter;
  22. using ServiceRequest::parameter;
  23. using ServiceRequest::setContent;
  24. using ServiceRequest::setParameter;
  25. using ServiceRequest::setParameters;
  26. using ServiceRequest::setResourcePath;
  27. using ServiceRequest::setProduct;
  28. using ServiceRequest::setVersion;
  29. };
  30. TEST(ServiceRequestTest, basic) {
  31. TestServiceRequest sr1("ECS", "1.0");
  32. TestServiceRequest sr2(sr1);
  33. sr1.addParameter("k1", "v1");
  34. sr2.addParameter("k2", "v2");
  35. ServiceRequest::ParameterCollection p1 = sr1.parameters();
  36. ServiceRequest::ParameterCollection p2 = sr2.parameters();
  37. EXPECT_TRUE(sr1.parameter("k1") == "v1");
  38. sr1.addParameter("kx", "vx");
  39. EXPECT_TRUE(sr1.parameter("kx") == "vx");
  40. EXPECT_TRUE(sr1.parameters().size() == 2);
  41. sr1.removeParameter("k1");
  42. EXPECT_TRUE(sr1.parameters().size() == 1);
  43. sr1.setParameter("ka", "va");
  44. EXPECT_TRUE(sr1.parameter("ka") == "va");
  45. sr1.setContent("123456", 6);
  46. EXPECT_TRUE(sr1.contentSize() == 6);
  47. EXPECT_TRUE(sr1.hasContent() == true);
  48. EXPECT_TRUE(strncmp(sr1.content(), "123456", 6) == 0);
  49. sr1.setContent("aliyunsdk", 9);
  50. EXPECT_TRUE(sr1.contentSize() == 9);
  51. EXPECT_TRUE(sr1.hasContent() == true);
  52. EXPECT_TRUE(strncmp(sr1.content(), "aliyunsdk", 9) == 0);
  53. sr1.setProduct("OSS");
  54. EXPECT_TRUE(sr1.product() == "OSS");
  55. sr1.setVersion("3.0");
  56. EXPECT_TRUE(sr1.version() == "3.0");
  57. sr1.setResourcePath("http://abc.com/a/b/c");
  58. EXPECT_TRUE(sr1.resourcePath() == "http://abc.com/a/b/c");
  59. ServiceRequest::ParameterCollection ps;
  60. ps["km"] = "vm";
  61. ps["kn"] = "vn";
  62. sr1.setParameters(ps);
  63. ServiceRequest::ParameterCollection pc = sr1.parameters();
  64. EXPECT_TRUE(pc.at("km") == "vm");
  65. EXPECT_TRUE(pc.at("kn") == "vn");
  66. }
  67. }