registry: adopt micro/micro 69b0ac2e9140fee1cde043f5ecdab438a41898ee
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
parent
92aec349c3
commit
762f20d179
@ -4,6 +4,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
|
"unicode"
|
||||||
|
"unicode/utf8"
|
||||||
|
|
||||||
"github.com/unistack-org/micro/v3/metadata"
|
"github.com/unistack-org/micro/v3/metadata"
|
||||||
)
|
)
|
||||||
@ -21,6 +23,18 @@ func ExtractValue(v reflect.Type, d int) *Value {
|
|||||||
v = v.Elem()
|
v = v.Elem()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(v.Name()) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// get the rune character
|
||||||
|
a, _ := utf8.DecodeRuneInString(string(v.Name()[0]))
|
||||||
|
|
||||||
|
// crude check for is unexported field
|
||||||
|
if unicode.IsLower(a) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
arg := &Value{
|
arg := &Value{
|
||||||
Name: v.Name(),
|
Name: v.Name(),
|
||||||
Type: v.Name(),
|
Type: v.Name(),
|
||||||
@ -91,6 +105,9 @@ func ExtractEndpoint(method reflect.Method) *Endpoint {
|
|||||||
|
|
||||||
request := ExtractValue(reqType, 0)
|
request := ExtractValue(reqType, 0)
|
||||||
response := ExtractValue(rspType, 0)
|
response := ExtractValue(rspType, 0)
|
||||||
|
if request == nil || response == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
ep := &Endpoint{
|
ep := &Endpoint{
|
||||||
Name: method.Name,
|
Name: method.Name,
|
||||||
|
@ -6,18 +6,18 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
type testHandler struct{}
|
type TestHandler struct{}
|
||||||
|
|
||||||
type testRequest struct{}
|
type TestRequest struct{}
|
||||||
|
|
||||||
type testResponse struct{}
|
type TestResponse struct{}
|
||||||
|
|
||||||
func (t *testHandler) Test(ctx context.Context, req *testRequest, rsp *testResponse) error {
|
func (t *TestHandler) Test(ctx context.Context, req *TestRequest, rsp *TestResponse) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestExtractEndpoint(t *testing.T) {
|
func TestExtractEndpoint(t *testing.T) {
|
||||||
handler := &testHandler{}
|
handler := &TestHandler{}
|
||||||
typ := reflect.TypeOf(handler)
|
typ := reflect.TypeOf(handler)
|
||||||
|
|
||||||
var endpoints []*Endpoint
|
var endpoints []*Endpoint
|
||||||
@ -29,35 +29,35 @@ func TestExtractEndpoint(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if i := len(endpoints); i != 1 {
|
if i := len(endpoints); i != 1 {
|
||||||
t.Errorf("Expected 1 endpoint, have %d", i)
|
t.Fatalf("Expected 1 endpoint, have %d", i)
|
||||||
}
|
}
|
||||||
|
|
||||||
if endpoints[0].Name != "Test" {
|
if endpoints[0].Name != "Test" {
|
||||||
t.Errorf("Expected handler Test, got %s", endpoints[0].Name)
|
t.Fatalf("Expected handler Test, got %s", endpoints[0].Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
if endpoints[0].Request == nil {
|
if endpoints[0].Request == nil {
|
||||||
t.Error("Expected non nil request")
|
t.Fatal("Expected non nil Request")
|
||||||
}
|
}
|
||||||
|
|
||||||
if endpoints[0].Response == nil {
|
if endpoints[0].Response == nil {
|
||||||
t.Error("Expected non nil request")
|
t.Fatal("Expected non nil Request")
|
||||||
}
|
}
|
||||||
|
|
||||||
if endpoints[0].Request.Name != "testRequest" {
|
if endpoints[0].Request.Name != "TestRequest" {
|
||||||
t.Errorf("Expected testRequest got %s", endpoints[0].Request.Name)
|
t.Fatalf("Expected TestRequest got %s", endpoints[0].Request.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
if endpoints[0].Response.Name != "testResponse" {
|
if endpoints[0].Response.Name != "TestResponse" {
|
||||||
t.Errorf("Expected testResponse got %s", endpoints[0].Response.Name)
|
t.Fatalf("Expected TestResponse got %s", endpoints[0].Response.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
if endpoints[0].Request.Type != "testRequest" {
|
if endpoints[0].Request.Type != "TestRequest" {
|
||||||
t.Errorf("Expected testRequest type got %s", endpoints[0].Request.Type)
|
t.Fatalf("Expected TestRequest type got %s", endpoints[0].Request.Type)
|
||||||
}
|
}
|
||||||
|
|
||||||
if endpoints[0].Response.Type != "testResponse" {
|
if endpoints[0].Response.Type != "TestResponse" {
|
||||||
t.Errorf("Expected testResponse type got %s", endpoints[0].Response.Type)
|
t.Fatalf("Expected TestResponse type got %s", endpoints[0].Response.Type)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user