MCPcopy
hub / github.com/connectrpc/connect-go / TestClientCompressionOptionTest

Function TestClientCompressionOptionTest

compression_test.go:55–109  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

53}
54
55func TestClientCompressionOptionTest(t *testing.T) {
56 t.Parallel()
57 const testURL = "http://foo.bar.com/service/method"
58
59 checkPools := func(t *testing.T, config *clientConfig) {
60 t.Helper()
61 assert.Equal(t, len(config.CompressionNames), len(config.CompressionPools))
62 for _, name := range config.CompressionNames {
63 pool := config.CompressionPools[name]
64 assert.NotNil(t, pool)
65 }
66 }
67 dummyDecompressCtor := func() Decompressor { return nil }
68 dummyCompressCtor := func() Compressor { return nil }
69
70 t.Run("defaults", func(t *testing.T) {
71 t.Parallel()
72 config, err := newClientConfig(testURL, nil)
73 assert.Nil(t, err)
74 assert.Equal(t, config.CompressionNames, []string{compressionGzip})
75 checkPools(t, config)
76 })
77 t.Run("WithAcceptCompression", func(t *testing.T) {
78 t.Parallel()
79 opts := []ClientOption{WithAcceptCompression("foo", dummyDecompressCtor, dummyCompressCtor)}
80 config, err := newClientConfig(testURL, opts)
81 assert.Nil(t, err)
82 assert.Equal(t, config.CompressionNames, []string{compressionGzip, "foo"})
83 checkPools(t, config)
84 })
85 t.Run("WithAcceptCompression-empty-name-noop", func(t *testing.T) {
86 t.Parallel()
87 opts := []ClientOption{WithAcceptCompression("", dummyDecompressCtor, dummyCompressCtor)}
88 config, err := newClientConfig(testURL, opts)
89 assert.Nil(t, err)
90 assert.Equal(t, config.CompressionNames, []string{compressionGzip})
91 checkPools(t, config)
92 })
93 t.Run("WithAcceptCompression-nil-ctors-noop", func(t *testing.T) {
94 t.Parallel()
95 opts := []ClientOption{WithAcceptCompression("foo", nil, nil)}
96 config, err := newClientConfig(testURL, opts)
97 assert.Nil(t, err)
98 assert.Equal(t, config.CompressionNames, []string{compressionGzip})
99 checkPools(t, config)
100 })
101 t.Run("WithAcceptCompression-nil-ctors-unregisters", func(t *testing.T) {
102 t.Parallel()
103 opts := []ClientOption{WithAcceptCompression("gzip", nil, nil)}
104 config, err := newClientConfig(testURL, opts)
105 assert.Nil(t, err)
106 assert.Equal(t, config.CompressionNames, nil)
107 checkPools(t, config)
108 })
109}
110
111func TestHandlerCompressionOptionTest(t *testing.T) {
112 t.Parallel()

Callers

nothing calls this directly

Calls 5

EqualFunction · 0.92
NotNilFunction · 0.92
NilFunction · 0.92
newClientConfigFunction · 0.85
WithAcceptCompressionFunction · 0.85

Tested by

no test coverage detected