Skip to content

Commit 1aab2dc

Browse files
committed
chore(connectrpc): remove pointless TestConnectRPC_ClientConcurrency test
Test only verified concurrent requests don't crash - not meaningful coverage. Also removed associated golden file.
1 parent 431664e commit 1aab2dc

File tree

2 files changed

+0
-94
lines changed

2 files changed

+0
-94
lines changed

router-tests/connectrpc/connectrpc_client_test.go

Lines changed: 0 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"encoding/json"
77
"net"
88
"net/http"
9-
"sync/atomic"
109
"testing"
1110

1211
"connectrpc.com/connect"
@@ -282,88 +281,3 @@ func TestConnectRPC_ClientErrorHandling(t *testing.T) {
282281
g.Assert(t, "error_http_500", errorJSON)
283282
})
284283
}
285-
286-
// TestConnectRPC_ClientConcurrency tests concurrent requests with generated client
287-
func TestConnectRPC_ClientConcurrency(t *testing.T) {
288-
t.Parallel()
289-
290-
g := goldie.New(
291-
t,
292-
goldie.WithFixtureDir("testdata/connectrpc"),
293-
goldie.WithNameSuffix(".json"),
294-
goldie.WithDiffEngine(goldie.ClassicDiff),
295-
)
296-
297-
var requestCount int64
298-
handler := func(w http.ResponseWriter, r *http.Request) {
299-
atomic.AddInt64(&requestCount, 1)
300-
w.Header().Set("Content-Type", "application/json")
301-
w.WriteHeader(http.StatusOK)
302-
_, _ = w.Write([]byte(`{
303-
"data": {
304-
"employee": {
305-
"id": 1,
306-
"tag": "employee-1",
307-
"details": {
308-
"forename": "John",
309-
"surname": "Doe"
310-
}
311-
}
312-
}
313-
}`))
314-
}
315-
316-
ts := NewTestConnectRPCServer(t, ConnectRPCServerOptions{
317-
GraphQLHandler: handler,
318-
})
319-
320-
err := ts.Start()
321-
require.NoError(t, err)
322-
323-
client := employeev1connect.NewEmployeeServiceClient(
324-
http.DefaultClient,
325-
"http://"+ts.Addr().String(),
326-
)
327-
328-
// Make 10 concurrent requests
329-
const numRequests = 10
330-
results := make(chan error, numRequests)
331-
type responseData struct {
332-
resp *connect.Response[employeev1.GetEmployeeByIdResponse]
333-
err error
334-
}
335-
responses := make(chan responseData, numRequests)
336-
337-
for i := 0; i < numRequests; i++ {
338-
go func() {
339-
req := connect.NewRequest(&employeev1.GetEmployeeByIdRequest{
340-
EmployeeId: 1,
341-
})
342-
resp, err := client.GetEmployeeById(context.Background(), req)
343-
responses <- responseData{resp: resp, err: err}
344-
results <- err
345-
}()
346-
}
347-
348-
// Collect results
349-
for i := 0; i < numRequests; i++ {
350-
err := <-results
351-
assert.NoError(t, err)
352-
}
353-
354-
assert.Equal(t, int64(numRequests), atomic.LoadInt64(&requestCount), "should have made all requests")
355-
356-
// Verify response consistency by checking one of the responses
357-
select {
358-
case respData := <-responses:
359-
if respData.err == nil && respData.resp != nil && respData.resp.Msg != nil && respData.resp.Msg.Employee != nil {
360-
employeeJSON, err := json.MarshalIndent(respData.resp.Msg.Employee, "", " ")
361-
require.NoError(t, err)
362-
g.Assert(t, "concurrent_response", employeeJSON)
363-
} else {
364-
t.Fatal("invalid response received")
365-
}
366-
default:
367-
t.Fatal("no responses received")
368-
}
369-
}

router-tests/connectrpc/testdata/connectrpc/concurrent_response.json

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)