Repository navigation
Expand file tree
/
Copy pathprotocol_test.go
More file actions
52 lines (47 loc) · 1.68 KB
/
Copy pathprotocol_test.go
File metadata and controls
52 lines (47 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package main
import (
"testing"
"google.golang.org/grpc/codes"
)
func TestConnectCodeMapsEveryCodeName(t *testing.T) {
tests := map[string]codes.Code{
"canceled": codes.Canceled, "unknown": codes.Unknown,
"invalid_argument": codes.InvalidArgument, "deadline_exceeded": codes.DeadlineExceeded,
"not_found": codes.NotFound, "already_exists": codes.AlreadyExists,
"permission_denied": codes.PermissionDenied, "resource_exhausted": codes.ResourceExhausted,
"failed_precondition": codes.FailedPrecondition, "aborted": codes.Aborted,
"out_of_range": codes.OutOfRange, "unimplemented": codes.Unimplemented,
"internal": codes.Internal, "unavailable": codes.Unavailable,
"data_loss": codes.DataLoss, "unauthenticated": codes.Unauthenticated,
}
for name, want := range tests {
if got := connectCode(name); got != want {
t.Errorf("connectCode(%q) = %s, want %s", name, got, want)
}
}
if got := connectCode("not-a-code"); got != codes.Unknown {
t.Errorf("unknown code = %s, want Unknown", got)
}
}
func TestParseProtocols(t *testing.T) {
got, err := parseProtocols(" grpc, connect-json,connect ")
if err != nil {
t.Fatal(err)
}
want := []string{"grpc", "connect-json", "connect"}
for i := range want {
if got[i] != want[i] {
t.Errorf("protocols = %v, want %v", got, want)
}
}
for _, input := range []string{"", "grpc,grpc", "stdio", "connect,wat"} {
if _, err := parseProtocols(input); err == nil {
t.Errorf("parseProtocols(%q) accepted invalid input", input)
}
}
}
func TestGRPCTransportRejectsConnectProtocol(t *testing.T) {
if err := validateProtocols([]string{"connect"}, transportGRPC); err == nil {
t.Fatal("grpc transport accepted a Connect protocol")
}
}