coreclient_ut.cc 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include "gtest/gtest.h"
  4. #include "alibabacloud/core/CoreClient.h"
  5. using namespace std;
  6. using namespace AlibabaCloud;
  7. namespace AlibabaCloud {
  8. class TestCoreClient : public CoreClient {
  9. public:
  10. TestCoreClient(const std::string & servicename, const ClientConfiguration &configuration):
  11. CoreClient(servicename, configuration)
  12. {}
  13. using CoreClient::buildCoreError;
  14. using CoreClient::hasResponseError;
  15. HttpRequest buildHttpRequest(const std::string & endpoint, const ServiceRequest &msg, HttpRequest::Method method)const {
  16. Url url;
  17. url.setScheme("abc");
  18. url.setUserName("username");
  19. HttpRequest req(url, HttpRequest::Method::Post);
  20. return req;
  21. }
  22. };
  23. }
  24. TEST(CoreClient, basic) {
  25. ClientConfiguration configuration;
  26. TestCoreClient client("test-service", configuration);
  27. HttpResponse res;
  28. Error e1 = client.buildCoreError(res);
  29. EXPECT_TRUE(e1.errorCode() == ("InvalidResponse"));
  30. EXPECT_TRUE(e1.errorMessage() == ("body is empty"));
  31. string body = "{\"Code\":\"any-error-code\",\"Message\":\"any-error-message\",\"HostId\":\"any-host-id\",\"RequestId\":\"any-request-id\"}";
  32. res.setBody(body.c_str(), body.size());
  33. Error e2 = client.buildCoreError(res);
  34. EXPECT_TRUE(e2.errorCode() == ("any-error-code"));
  35. EXPECT_TRUE(e2.errorMessage() == ("any-error-message"));
  36. EXPECT_TRUE(e2.host() == ("any-host-id"));
  37. EXPECT_TRUE(e2.requestId() == ("any-request-id"));
  38. }