Skip to content

Commit 0017141

Browse files
committed
using the max recv msg size for local grpc connection
1 parent 54d66f4 commit 0017141

File tree

10 files changed

+1016
-1013
lines changed

10 files changed

+1016
-1013
lines changed

cmd/mock-compose.go

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -17,49 +17,49 @@ limitations under the License.
1717
package cmd
1818

1919
import (
20-
"github.com/linuxsuren/api-testing/pkg/mock"
21-
"github.com/spf13/cobra"
22-
"os"
23-
"os/signal"
24-
"syscall"
20+
"github.com/linuxsuren/api-testing/pkg/mock"
21+
"github.com/spf13/cobra"
22+
"os"
23+
"os/signal"
24+
"syscall"
2525
)
2626

2727
func createMockComposeCmd() (c *cobra.Command) {
28-
c = &cobra.Command{
29-
Use: "mock-compose",
30-
Short: "Mock multiple servers",
31-
Args: cobra.ExactArgs(1),
32-
RunE: func(cmd *cobra.Command, args []string) (err error) {
33-
reader := mock.NewLocalFileReader(args[0])
28+
c = &cobra.Command{
29+
Use: "mock-compose",
30+
Short: "Mock multiple servers",
31+
Args: cobra.ExactArgs(1),
32+
RunE: func(cmd *cobra.Command, args []string) (err error) {
33+
reader := mock.NewLocalFileReader(args[0])
3434

35-
var server *mock.Server
36-
if server, err = reader.Parse(); err != nil {
37-
return
38-
}
35+
var server *mock.Server
36+
if server, err = reader.Parse(); err != nil {
37+
return
38+
}
3939

40-
var subServers []mock.DynamicServer
41-
for _, proxy := range server.Proxies {
42-
subProxy := &mock.Server{
43-
Proxies: []mock.Proxy{proxy},
44-
}
40+
var subServers []mock.DynamicServer
41+
for _, proxy := range server.Proxies {
42+
subProxy := &mock.Server{
43+
Proxies: []mock.Proxy{proxy},
44+
}
4545

46-
subReader := mock.NewObjectReader(subProxy)
47-
subServer := mock.NewInMemoryServer(c.Context(), proxy.Port)
48-
go subServer.Start(subReader, proxy.Prefix)
49-
subServers = append(subServers, subServer)
50-
}
46+
subReader := mock.NewObjectReader(subProxy)
47+
subServer := mock.NewInMemoryServer(c.Context(), proxy.Port)
48+
go subServer.Start(subReader, proxy.Prefix)
49+
subServers = append(subServers, subServer)
50+
}
5151

52-
clean := make(chan os.Signal, 1)
53-
signal.Notify(clean, syscall.SIGINT, syscall.SIGTERM, syscall.SIGHUP, syscall.SIGQUIT)
54-
select {
55-
case <-c.Context().Done():
56-
case <-clean:
57-
}
58-
for _, server := range subServers {
59-
server.Stop()
60-
}
61-
return
62-
},
63-
}
64-
return
52+
clean := make(chan os.Signal, 1)
53+
signal.Notify(clean, syscall.SIGINT, syscall.SIGTERM, syscall.SIGHUP, syscall.SIGQUIT)
54+
select {
55+
case <-c.Context().Done():
56+
case <-clean:
57+
}
58+
for _, server := range subServers {
59+
server.Stop()
60+
}
61+
return
62+
},
63+
}
64+
return
6565
}

cmd/server.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222
"context"
2323
"errors"
2424
"fmt"
25-
"github.com/linuxsuren/api-testing/pkg/apispec"
25+
"math"
2626
"net"
2727
"net/http"
2828
"os"
@@ -33,6 +33,8 @@ import (
3333
"syscall"
3434
"time"
3535

36+
"github.com/linuxsuren/api-testing/pkg/apispec"
37+
3638
"github.com/linuxsuren/api-testing/pkg/runner"
3739
"github.com/linuxsuren/api-testing/pkg/util/home"
3840

@@ -336,7 +338,8 @@ func (o *serverOption) runE(cmd *cobra.Command, args []string) (err error) {
336338
server.RegisterMockHandlerFromEndpoint(ctx, mux, gRPCServerAddr, []grpc.DialOption{grpc.WithTransportCredentials(creds)}),
337339
server.RegisterDataServerHandlerFromEndpoint(ctx, mux, gRPCServerAddr, []grpc.DialOption{grpc.WithTransportCredentials(creds)}))
338340
} else {
339-
dialOption := []grpc.DialOption{grpc.WithTransportCredentials(insecure.NewCredentials())}
341+
dialOption := []grpc.DialOption{grpc.WithTransportCredentials(insecure.NewCredentials()),
342+
grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(math.MaxInt))}
340343
err = errors.Join(
341344
server.RegisterRunnerHandlerFromEndpoint(ctx, mux, gRPCServerAddr, dialOption),
342345
server.RegisterMockHandlerFromEndpoint(ctx, mux, gRPCServerAddr, dialOption),

pkg/generator/curl_generator.go

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -16,56 +16,56 @@ limitations under the License.
1616
package generator
1717

1818
import (
19-
"bytes"
20-
_ "embed"
21-
"net/http"
22-
"strings"
23-
"text/template"
19+
"bytes"
20+
_ "embed"
21+
"net/http"
22+
"strings"
23+
"text/template"
2424

25-
"github.com/linuxsuren/api-testing/pkg/testing"
25+
"github.com/linuxsuren/api-testing/pkg/testing"
2626
)
2727

2828
type curlGenerator struct {
2929
}
3030

3131
func NewCurlGenerator() CodeGenerator {
32-
return &curlGenerator{}
32+
return &curlGenerator{}
3333
}
3434

3535
func (g *curlGenerator) Generate(testSuite *testing.TestSuite, testcase *testing.TestCase) (result string, err error) {
36-
if testcase.Request.Method == "" {
37-
testcase.Request.Method = http.MethodGet
38-
}
36+
if testcase.Request.Method == "" {
37+
testcase.Request.Method = http.MethodGet
38+
}
3939

40-
if !strings.HasSuffix(testcase.Request.API, "?") {
41-
testcase.Request.API += "?"
42-
}
40+
if !strings.HasSuffix(testcase.Request.API, "?") {
41+
testcase.Request.API += "?"
42+
}
4343

44-
queryKeys := testcase.Request.Query.Keys()
45-
for _, k := range queryKeys {
46-
testcase.Request.API += k + "=" + testcase.Request.Query.GetValue(k) + "&"
47-
}
44+
queryKeys := testcase.Request.Query.Keys()
45+
for _, k := range queryKeys {
46+
testcase.Request.API += k + "=" + testcase.Request.Query.GetValue(k) + "&"
47+
}
4848

49-
testcase.Request.API = strings.TrimSuffix(testcase.Request.API, "&")
50-
testcase.Request.API = strings.TrimSuffix(testcase.Request.API, "?")
51-
if err = testcase.Request.Render(nil, ""); err != nil {
52-
return
53-
}
49+
testcase.Request.API = strings.TrimSuffix(testcase.Request.API, "&")
50+
testcase.Request.API = strings.TrimSuffix(testcase.Request.API, "?")
51+
if err = testcase.Request.Render(nil, ""); err != nil {
52+
return
53+
}
5454

55-
var tpl *template.Template
56-
if tpl, err = template.New("curl template").Parse(curlTemplate); err == nil {
57-
buf := new(bytes.Buffer)
58-
if err = tpl.Execute(buf, testcase); err == nil {
59-
result = strings.TrimSpace(buf.String())
55+
var tpl *template.Template
56+
if tpl, err = template.New("curl template").Parse(curlTemplate); err == nil {
57+
buf := new(bytes.Buffer)
58+
if err = tpl.Execute(buf, testcase); err == nil {
59+
result = strings.TrimSpace(buf.String())
6060

61-
result = strings.TrimSuffix(result, " \\")
62-
}
63-
}
64-
return
61+
result = strings.TrimSuffix(result, " \\")
62+
}
63+
}
64+
return
6565
}
6666

6767
func init() {
68-
RegisterCodeGenerator("curl", NewCurlGenerator())
68+
RegisterCodeGenerator("curl", NewCurlGenerator())
6969
}
7070

7171
//go:embed data/curl.tpl

0 commit comments

Comments
 (0)