location_resolver_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package endpoints
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
  6. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
  7. "github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
  8. )
  9. func TestLocationResolver_GetName(t *testing.T) {
  10. resolver := &LocationResolver{}
  11. assert.Equal(t, "location resolver", resolver.GetName())
  12. }
  13. func TestLocationResolver_TryResolve_EmptyLocationProduct(t *testing.T) {
  14. resolver := &LocationResolver{}
  15. resolveParam := &ResolveParam{}
  16. endpoint, support, err := resolver.TryResolve(resolveParam)
  17. assert.Nil(t, err)
  18. assert.Equal(t, "", endpoint)
  19. assert.Equal(t, false, support)
  20. }
  21. func TestLocationResolver_TryResolve_LocationWithError(t *testing.T) {
  22. resolver := &LocationResolver{}
  23. resolveParam := &ResolveParam{
  24. LocationProduct: "ecs",
  25. RegionId: "cn-hangzhou",
  26. Product: "ecs",
  27. CommonApi: func(request *requests.CommonRequest) (response *responses.CommonResponse, err error) {
  28. err = errors.NewClientError("SDK.MockError", "Mock error", nil)
  29. return
  30. },
  31. }
  32. endpoint, support, err := resolver.TryResolve(resolveParam)
  33. assert.Equal(t, "", endpoint)
  34. assert.Equal(t, false, support)
  35. assert.Equal(t, "[SDK.MockError] Mock error", err.Error())
  36. }