-
Notifications
You must be signed in to change notification settings - Fork 4.2k
/
encoding_test.go
37 lines (29 loc) · 1.05 KB
/
encoding_test.go
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
package encoding
import (
"reflect"
"testing"
"google.golang.org/grpc/internal/grpcutil"
)
type mockNamedCompressor struct {
Compressor
}
func (mockNamedCompressor) Name() string {
return "mock-compressor"
}
func TestDuplicateCompressorRegister(t *testing.T) {
defer func(m map[string]Compressor) { registeredCompressor = m }(registeredCompressor)
defer func(c []string) { grpcutil.RegisteredCompressorNames = c }(grpcutil.RegisteredCompressorNames)
registeredCompressor = map[string]Compressor{}
grpcutil.RegisteredCompressorNames = []string{}
RegisterCompressor(&mockNamedCompressor{})
// Register another instance of the same compressor.
mc := &mockNamedCompressor{}
RegisterCompressor(mc)
if got := registeredCompressor["mock-compressor"]; got != mc {
t.Fatalf("Unexpected compressor, got: %+v, want:%+v", got, mc)
}
wantNames := []string{"mock-compressor"}
if !reflect.DeepEqual(wantNames, grpcutil.RegisteredCompressorNames) {
t.Fatalf("Unexpected compressor names, got: %+v, want:%+v", grpcutil.RegisteredCompressorNames, wantNames)
}
}