12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- // Copyright 2022 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package ping
-
- import (
- "context"
- "net/http"
- "net/http/httptest"
- "testing"
-
- pingv1 "code.gitea.io/actions-proto-go/ping/v1"
- "code.gitea.io/actions-proto-go/ping/v1/pingv1connect"
- "connectrpc.com/connect"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- )
-
- func TestService(t *testing.T) {
- mux := http.NewServeMux()
- mux.Handle(pingv1connect.NewPingServiceHandler(
- &Service{},
- ))
- MainServiceTest(t, mux)
- }
-
- func MainServiceTest(t *testing.T, h http.Handler) {
- t.Parallel()
- server := httptest.NewUnstartedServer(h)
- server.EnableHTTP2 = true
- server.StartTLS()
- defer server.Close()
-
- connectClient := pingv1connect.NewPingServiceClient(
- server.Client(),
- server.URL,
- )
-
- grpcClient := pingv1connect.NewPingServiceClient(
- server.Client(),
- server.URL,
- connect.WithGRPC(),
- )
-
- grpcWebClient := pingv1connect.NewPingServiceClient(
- server.Client(),
- server.URL,
- connect.WithGRPCWeb(),
- )
-
- clients := []pingv1connect.PingServiceClient{connectClient, grpcClient, grpcWebClient}
- t.Run("ping request", func(t *testing.T) {
- for _, client := range clients {
- result, err := client.Ping(context.Background(), connect.NewRequest(&pingv1.PingRequest{
- Data: "foobar",
- }))
- require.NoError(t, err)
- assert.Equal(t, "Hello, foobar!", result.Msg.Data)
- }
- })
- }
|