servicerequest_ut.cc 3.2 KB

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