7
"mosn.io/mosn/pkg/protocol/xprotocol/bolt"
8
"mosn.io/mosn/pkg/protocol/xprotocol/dubbo"
9
"mosn.io/mosn/pkg/protocol/xprotocol/tars"
11
"mosn.io/mosn/pkg/protocol"
12
_ "mosn.io/mosn/pkg/stream/http"
13
_ "mosn.io/mosn/pkg/stream/http2"
14
_ "mosn.io/mosn/pkg/stream/xprotocol"
15
"mosn.io/mosn/test/util"
18
// Notice can'T use APP(HTTPX) to MESH(SofaRPC),
19
// because SofaRPC is a group of protocols,such as boltV1, boltV2.
20
func TestCommon(t *testing.T) {
21
appaddr := "127.0.0.1:8080"
22
testCases := []*TestCase{
23
NewTestCase(t, protocol.HTTP1, protocol.HTTP1, util.NewHTTPServer(t, nil)),
24
// http convert case use transcoder filter instead
25
// NewTestCase(t, protocol.HTTP1, protocol.HTTP2, util.NewHTTPServer(t, nil)),
26
// NewTestCase(t, protocol.HTTP2, protocol.HTTP1, util.NewUpstreamHTTP2(t, appaddr, nil)),
27
NewTestCase(t, protocol.HTTP2, protocol.HTTP2, util.NewUpstreamHTTP2(t, appaddr, nil)),
30
NewTestCase(t, protocol.HTTP2, protocol.Auto, util.NewUpstreamHTTP2(t, appaddr, nil)),
31
NewTestCase(t, protocol.HTTP1, protocol.Auto, util.NewHTTPServer(t, nil)),
33
for i, tc := range testCases {
34
t.Logf("start case #%d\n", i)
40
t.Errorf("[ERROR MESSAGE] #%d %v to mesh %v test failed, error: %v\n", i, tc.AppProtocol, tc.MeshProtocol, err)
42
case <-time.After(15 * time.Second):
43
t.Errorf("[ERROR MESSAGE] #%d %v to mesh %v hang\n", i, tc.AppProtocol, tc.MeshProtocol)
49
func TestTLS(t *testing.T) {
50
appaddr := "127.0.0.1:8080"
51
testCases := []*TestCase{
52
NewTestCase(t, protocol.HTTP1, protocol.HTTP1, util.NewHTTPServer(t, nil)),
53
// NewTestCase(t, protocol.HTTP1, protocol.HTTP2, util.NewHTTPServer(t, nil)),
54
// NewTestCase(t, protocol.HTTP2, protocol.HTTP1, util.NewUpstreamHTTP2(t, appaddr, nil)),
55
NewTestCase(t, protocol.HTTP2, protocol.HTTP2, util.NewUpstreamHTTP2(t, appaddr, nil)),
58
NewTestCase(t, protocol.HTTP2, protocol.Auto, util.NewUpstreamHTTP2(t, appaddr, nil)),
59
NewTestCase(t, protocol.HTTP1, protocol.Auto, util.NewHTTPServer(t, nil)),
61
for i, tc := range testCases {
62
t.Logf("start case #%d\n", i)
68
t.Errorf("[ERROR MESSAGE] #%d %v to mesh %v tls test failed, error: %v\n", i, tc.AppProtocol, tc.MeshProtocol, err)
70
case <-time.After(15 * time.Second):
71
t.Errorf("[ERROR MESSAGE] #%d %v to mesh %v hang\n", i, tc.AppProtocol, tc.MeshProtocol)
78
func TestXprotocol(t *testing.T) {
79
appaddr := "127.0.0.1:8080"
80
testCases := []*XTestCase{
81
NewXTestCase(t, bolt.ProtocolName, util.NewRPCServer(t, appaddr, bolt.ProtocolName)),
82
NewXTestCase(t, dubbo.ProtocolName, util.NewRPCServer(t, appaddr, dubbo.ProtocolName)),
83
NewXTestCase(t, tars.ProtocolName, util.NewRPCServer(t, appaddr, tars.ProtocolName)),
86
for i, tc := range testCases {
87
t.Logf("start case #%d\n", i)
93
t.Errorf("[ERROR MESSAGE] #%d %v to mesh %v xprotocol: %s test failed, error: %v\n", i, tc.AppProtocol, tc.MeshProtocol, tc.SubProtocol, err)
95
case <-time.After(15 * time.Second):
96
t.Errorf("[ERROR MESSAGE] #%d %v to mesh %v xprotocol: %s hang\n", i, tc.AppProtocol, tc.MeshProtocol, tc.SubProtocol)
102
func TestXprotocolTLS(t *testing.T) {
103
appaddr := "127.0.0.1:8080"
104
testCases := []*XTestCase{
105
NewXTestCase(t, bolt.ProtocolName, util.NewRPCServer(t, appaddr, bolt.ProtocolName)),
106
NewXTestCase(t, dubbo.ProtocolName, util.NewRPCServer(t, appaddr, dubbo.ProtocolName)),
107
NewXTestCase(t, tars.ProtocolName, util.NewRPCServer(t, appaddr, tars.ProtocolName)),
110
for i, tc := range testCases {
111
t.Logf("start case #%d\n", i)
117
t.Errorf("[ERROR MESSAGE] #%d %v to mesh %v xprotocol: %s test failed, error: %v\n", i, tc.AppProtocol, tc.MeshProtocol, tc.SubProtocol, err)
119
case <-time.After(15 * time.Second):
120
t.Errorf("[ERROR MESSAGE] #%d %v to mesh %v xprotocol: %s hang\n", i, tc.AppProtocol, tc.MeshProtocol, tc.SubProtocol)