endpointprovider_ut.cc 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include "gtest/gtest.h"
  4. #include "alibabacloud/core/EndpointProvider.h"
  5. using namespace std;
  6. using namespace AlibabaCloud;
  7. using namespace AlibabaCloud::Location;
  8. TEST(EndpointProvider, basic) {
  9. ClientConfiguration configuration("cn-hangzhou");
  10. char* key = getenv("ENV_AccessKeyId");
  11. char* secret = getenv("ENV_AccessKeySecret");
  12. bool no_key_provided = false;
  13. string accessKeyId, accessKeySecret;
  14. if (key == nullptr) {
  15. accessKeyId = "no-AccessKeyId";
  16. no_key_provided = true;
  17. } else {
  18. accessKeyId = string(key);
  19. }
  20. if (secret == nullptr) {
  21. accessKeySecret = "no-AccessKeySecret";
  22. no_key_provided = true;
  23. } else {
  24. accessKeySecret = string(secret);
  25. }
  26. auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
  27. EndpointProvider ep(locationClient, configuration.regionId(), "Ecs", "ecs");
  28. EndpointProvider::EndpointOutcome out = ep.getEndpoint();
  29. if (no_key_provided) {
  30. EXPECT_TRUE(out.error().errorCode() == "InvalidAccessKeyId.NotFound");
  31. } else {
  32. EXPECT_TRUE(out.result() == "ecs-cn-hangzhou.aliyuncs.com");
  33. }
  34. }
  35. TEST(EndpointProvider, basic1) {
  36. ClientConfiguration configuration("cn-hangzhou");
  37. const string accessKeyId = "no-AccessKeyId";
  38. const string accessKeySecret = "no-AccessKeySecret";
  39. auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
  40. EndpointProvider ep(locationClient, configuration.regionId(), "Ecs");
  41. EndpointProvider::EndpointOutcome out = ep.getEndpoint();
  42. EXPECT_TRUE(out.error().errorCode() == "InvalidRegionId");
  43. }
  44. TEST(EndpointProvider, basic2) {
  45. ClientConfiguration configuration("xxxcn-hangzhou");
  46. const string accessKeyId = "no-AccessKeyId";
  47. const string accessKeySecret = "no-AccessKeySecret";
  48. auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
  49. EndpointProvider ep(locationClient, configuration.regionId(), "Ecs", "ecs");
  50. EndpointProvider::EndpointOutcome out = ep.getEndpoint();
  51. EXPECT_TRUE(out.error().errorCode() == "InvalidAccessKeyId.NotFound");
  52. }