forked from p4gefau1t/trojan-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoption_test.go
41 lines (38 loc) · 948 Bytes
/
option_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package url
import (
"testing"
"time"
_ "github.com/p4gefau1t/trojan-go/proxy/client"
)
func TestUrl_Handle(t *testing.T) {
urlCases := []string{
"trojan-go://password@server.com",
"trojan-go://password@server.com/?type=ws&host=baidu.com&path=%2fwspath",
"trojan-go://password@server.com/?encryption=ss%3baes-256-gcm%3afuckgfw",
"trojan-go://password@server.com/?type=ws&host=baidu.com&path=%2fwspath&encryption=ss%3Baes-256-gcm%3Afuckgfw",
}
optionCases := []string{
"mux=true;listen=127.0.0.1:0",
"mux=false;listen=127.0.0.1:0",
"mux=false;listen=127.0.0.1:0;api=127.0.0.1:0",
}
for _, s := range urlCases {
for _, option := range optionCases {
u := &url{
url: &s,
option: &option,
}
u.Name()
u.Priority()
errChan := make(chan error, 1)
go func() {
errChan <- u.Handle()
}()
select {
case err := <-errChan:
t.Fatal(err)
case <-time.After(time.Second * 1):
}
}
}
}