v2ray_test.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package core_test
  2. import (
  3. "testing"
  4. . "v2ray.com/core"
  5. "v2ray.com/core/app/proxyman"
  6. "v2ray.com/core/common/dice"
  7. "v2ray.com/core/common/net"
  8. "v2ray.com/core/common/protocol"
  9. "v2ray.com/core/common/serial"
  10. "v2ray.com/core/common/uuid"
  11. _ "v2ray.com/core/main/distro/all"
  12. "v2ray.com/core/proxy/dokodemo"
  13. "v2ray.com/core/proxy/vmess"
  14. "v2ray.com/core/proxy/vmess/outbound"
  15. "v2ray.com/core/testing/assert"
  16. )
  17. func TestV2RayClose(t *testing.T) {
  18. assert := assert.On(t)
  19. port := net.Port(dice.RollUint16())
  20. config := &Config{
  21. Inbound: []*proxyman.InboundHandlerConfig{
  22. {
  23. ReceiverSettings: serial.ToTypedMessage(&proxyman.ReceiverConfig{
  24. PortRange: net.SinglePortRange(port),
  25. Listen: net.NewIPOrDomain(net.LocalHostIP),
  26. }),
  27. ProxySettings: serial.ToTypedMessage(&dokodemo.Config{
  28. Address: net.NewIPOrDomain(net.LocalHostIP),
  29. Port: uint32(0),
  30. NetworkList: &net.NetworkList{
  31. Network: []net.Network{net.Network_TCP, net.Network_UDP},
  32. },
  33. }),
  34. },
  35. },
  36. Outbound: []*proxyman.OutboundHandlerConfig{
  37. {
  38. ProxySettings: serial.ToTypedMessage(&outbound.Config{
  39. Receiver: []*protocol.ServerEndpoint{
  40. {
  41. Address: net.NewIPOrDomain(net.LocalHostIP),
  42. Port: uint32(0),
  43. User: []*protocol.User{
  44. {
  45. Account: serial.ToTypedMessage(&vmess.Account{
  46. Id: uuid.New().String(),
  47. }),
  48. },
  49. },
  50. },
  51. },
  52. }),
  53. },
  54. },
  55. }
  56. server, err := New(config)
  57. assert.Error(err).IsNil()
  58. server.Close()
  59. }