Minor change in allExtensionNumbersForType(), add TestAllServiceNames()

This commit is contained in:
Menghan Li
2016-06-16 15:10:13 -07:00
parent 3fe1c5b241
commit 451a2e416b
2 changed files with 34 additions and 8 deletions

View File

@ -172,9 +172,12 @@ func (s *serverReflectionServer) allExtensionNumbersForType(st reflect.Type) ([]
return nil, fmt.Errorf("failed to create message from type: %v", st)
}
var out []int32
for id := range proto.RegisteredExtensions(m) {
out = append(out, id)
exts := proto.RegisteredExtensions(m)
out := make([]int32, len(exts))
i := 0
for id := range exts {
out[i] = id
i++
}
return out, nil
}

View File

@ -88,7 +88,7 @@ func TestStopBeforeServe(t *testing.T) {
}
}
func TestFileDesc(t *testing.T) {
func TestMetadata(t *testing.T) {
server := NewServer()
server.RegisterService(&testSd, &testServer{})
@ -106,15 +106,15 @@ func TestFileDesc(t *testing.T) {
ok bool
)
if fd, ok = meta.([]byte); !ok {
t.Errorf("FileDesc(%q)=%v, want %v", test.name, meta, test.want)
t.Errorf("Metadata(%q)=%v, want %v", test.name, meta, test.want)
}
if !reflect.DeepEqual(fd, test.want) {
t.Errorf("FileDesc(%q)=%v, want %v", test.name, fd, test.want)
t.Errorf("Metadata(%q)=%v, want %v", test.name, fd, test.want)
}
}
}
func TestFileDescNotFound(t *testing.T) {
func TestMetadataNotFound(t *testing.T) {
server := NewServer()
server.RegisterService(&testSd, &testServer{})
@ -127,7 +127,30 @@ func TestFileDescNotFound(t *testing.T) {
} {
meta := server.Metadata(test)
if meta != nil {
t.Errorf("FileDesc(%q)=%v, want <nil>", test, meta)
t.Errorf("Metadata(%q)=%v, want <nil>", test, meta)
}
}
}
func TestAllServiceNames(t *testing.T) {
server := NewServer()
server.RegisterService(&testSd, &testServer{})
server.RegisterService(&ServiceDesc{
ServiceName: "another.EmptyService",
HandlerType: (*emptyServiceServer)(nil),
}, &testServer{})
services := server.AllServiceNames()
want := []string{"grpc.testing.EmptyService", "another.EmptyService"}
// Compare string slices.
m := make(map[string]int)
for _, s := range services {
m[s]++
}
for _, s := range want {
if m[s] > 0 {
m[s]--
continue
}
t.Fatalf("AllServiceNames() = %q, want: %q", services, want)
}
}