فهرست منبع

add test cases for local_global_resolver

Jackson Tian 7 سال پیش
والد
کامیت
45b7a430b4
2فایلهای تغییر یافته به همراه57 افزوده شده و 1 حذف شده
  1. 1 1
      sdk/endpoints/local_global_resolver.go
  2. 56 0
      sdk/endpoints/local_global_resolver_test.go

+ 1 - 1
sdk/endpoints/local_global_resolver.go

@@ -35,7 +35,7 @@ func (resolver *LocalGlobalResolver) TryResolve(param *ResolveParam) (endpoint s
 	if err == nil && endpointData != nil && len(endpointData.([]interface{})) > 0 {
 		endpoint = endpointData.([]interface{})[0].(string)
 		support = len(endpoint) > 0
-		return endpoint, support, nil
+		return
 	}
 	support = false
 	return

+ 56 - 0
sdk/endpoints/local_global_resolver_test.go

@@ -0,0 +1,56 @@
+package endpoints
+
+import (
+  "testing"
+
+  "github.com/stretchr/testify/assert"
+)
+
+func TestLocalGlobalResolver_GetName(t *testing.T) {
+  resolver := &LocalGlobalResolver{}
+  assert.Equal(t, resolver.GetName(), "local global resolver")
+}
+
+func TestLocalGlobalResolver_TryResolve(t *testing.T) {
+  resolver := &LocalGlobalResolver{}
+  resolveParam := &ResolveParam{
+		Product: "ecs",
+	}
+  endpoint, support, err := resolver.TryResolve(resolveParam)
+  assert.Nil(t, err)
+  assert.Equal(t, "", endpoint)
+	assert.Equal(t, false, support)
+
+	resolveParam = &ResolveParam{
+		Product: "drds",
+	}
+  endpoint, support, err = resolver.TryResolve(resolveParam)
+  assert.Nil(t, err)
+  assert.Equal(t, "drds.aliyuncs.com", endpoint)
+	assert.Equal(t, true, support)
+
+	resolveParam = &ResolveParam{
+		Product: "inexist",
+	}
+  endpoint, support, err = resolver.TryResolve(resolveParam)
+  assert.Nil(t, err)
+  assert.Equal(t, "", endpoint)
+	assert.Equal(t, false, support)
+}
+
+// func TestLocationResolver_TryResolve_LocationWithError(t *testing.T) {
+//   resolver := &LocationResolver{}
+//   resolveParam := &ResolveParam{
+//     LocationProduct: "ecs",
+//     RegionId: "cn-hangzhou",
+//     Product:  "ecs",
+//     CommonApi: func(request *requests.CommonRequest) (response *responses.CommonResponse, err error) {
+//       err = errors.NewClientError("SDK.MockError", "Mock error", nil)
+//       return
+//     },
+//   }
+//   endpoint, support, err := resolver.TryResolve(resolveParam)
+//   assert.Equal(t, "", endpoint)
+//   assert.Equal(t, false, support)
+//   assert.Equal(t, "[SDK.MockError] Mock error", err.Error())
+// }