mosn

Форк
0
/
proxy_test.go 
63 строки · 2.0 Кб
1
package integrate
2

3
import (
4
	"testing"
5
	"time"
6

7
	"mosn.io/mosn/pkg/protocol/xprotocol/bolt"
8
	"mosn.io/mosn/pkg/protocol/xprotocol/dubbo"
9
	"mosn.io/mosn/pkg/protocol/xprotocol/dubbothrift"
10
	"mosn.io/mosn/pkg/protocol/xprotocol/tars"
11

12
	"mosn.io/mosn/pkg/protocol"
13
	"mosn.io/mosn/test/util"
14
)
15

16
// Proxy Mode
17
func TestProxy(t *testing.T) {
18
	appaddr := "127.0.0.1:8080"
19
	testCases := []*TestCase{
20
		NewTestCase(t, protocol.HTTP1, protocol.HTTP1, util.NewHTTPServer(t, nil)),
21
		NewTestCase(t, protocol.HTTP2, protocol.HTTP2, util.NewUpstreamHTTP2(t, appaddr, nil)),
22
	}
23
	for i, tc := range testCases {
24
		t.Logf("start case #%d\n", i)
25
		tc.StartProxy()
26
		go tc.RunCase(1, 0)
27
		select {
28
		case err := <-tc.C:
29
			if err != nil {
30
				t.Errorf("[ERROR MESSAGE] #%d %v to mesh %v test failed, error: %v\n", i, tc.AppProtocol, tc.MeshProtocol, err)
31
			}
32
		case <-time.After(15 * time.Second):
33
			t.Errorf("[ERROR MESSAGE] #%d %v to mesh %v hang\n", i, tc.AppProtocol, tc.MeshProtocol)
34
		}
35
		tc.FinishCase()
36
	}
37
}
38

39
// Proxy Mode with xprotocol
40
func TestXProxy(t *testing.T) {
41
	appaddr := "127.0.0.1:8080"
42
	testCases := []*XTestCase{
43
		NewXTestCase(t, bolt.ProtocolName, util.NewRPCServer(t, appaddr, bolt.ProtocolName)),
44
		NewXTestCase(t, dubbo.ProtocolName, util.NewRPCServer(t, appaddr, dubbo.ProtocolName)),
45
		NewXTestCase(t, tars.ProtocolName, util.NewRPCServer(t, appaddr, tars.ProtocolName)),
46
		NewXTestCase(t, dubbothrift.ProtocolName, util.NewRPCServer(t, appaddr, dubbothrift.ProtocolName)),
47
		//TODO: boltv2
48
	}
49
	for i, tc := range testCases {
50
		t.Logf("start case #%d\n", i)
51
		tc.StartProxy()
52
		go tc.RunCase(1, 0)
53
		select {
54
		case err := <-tc.C:
55
			if err != nil {
56
				t.Errorf("[ERROR MESSAGE] #%d %v proxy to mesh %v xprotocol: %s test failed, error: %v\n", i, tc.AppProtocol, tc.MeshProtocol, tc.SubProtocol, err)
57
			}
58
		case <-time.After(15 * time.Second):
59
			t.Errorf("[ERROR MESSAGE] #%d %v proxy to mesh %v xprotocol: %s hang\n", i, tc.AppProtocol, tc.SubProtocol, tc.MeshProtocol)
60
		}
61
		tc.FinishCase()
62
	}
63
}
64

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.