1
0

cmd_test.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package ci
  2. import (
  3. "testing"
  4. "time"
  5. "github.com/fatedier/frp/tests/consts"
  6. "github.com/fatedier/frp/tests/util"
  7. "github.com/stretchr/testify/assert"
  8. )
  9. func TestCmdTCP(t *testing.T) {
  10. assert := assert.New(t)
  11. var err error
  12. s := util.NewProcess(consts.FRPS_BIN_PATH, []string{"-t", "123", "-p", "20000"})
  13. err = s.Start()
  14. if assert.NoError(err) {
  15. defer s.Stop()
  16. }
  17. time.Sleep(200 * time.Millisecond)
  18. c := util.NewProcess(consts.FRPC_BIN_PATH, []string{"tcp", "-s", "127.0.0.1:20000", "-t", "123", "-u", "test",
  19. "-l", "10701", "-r", "20801", "-n", "tcp_test"})
  20. err = c.Start()
  21. if assert.NoError(err) {
  22. defer c.Stop()
  23. }
  24. time.Sleep(500 * time.Millisecond)
  25. res, err := util.SendTCPMsg("127.0.0.1:20801", consts.TEST_TCP_ECHO_STR)
  26. assert.NoError(err)
  27. assert.Equal(consts.TEST_TCP_ECHO_STR, res)
  28. }
  29. func TestCmdUDP(t *testing.T) {
  30. assert := assert.New(t)
  31. var err error
  32. s := util.NewProcess(consts.FRPS_BIN_PATH, []string{"-t", "123", "-p", "20000"})
  33. err = s.Start()
  34. if assert.NoError(err) {
  35. defer s.Stop()
  36. }
  37. time.Sleep(200 * time.Millisecond)
  38. c := util.NewProcess(consts.FRPC_BIN_PATH, []string{"udp", "-s", "127.0.0.1:20000", "-t", "123", "-u", "test",
  39. "-l", "10702", "-r", "20802", "-n", "udp_test"})
  40. err = c.Start()
  41. if assert.NoError(err) {
  42. defer c.Stop()
  43. }
  44. time.Sleep(500 * time.Millisecond)
  45. res, err := util.SendUDPMsg("127.0.0.1:20802", consts.TEST_UDP_ECHO_STR)
  46. assert.NoError(err)
  47. assert.Equal(consts.TEST_UDP_ECHO_STR, res)
  48. }
  49. func TestCmdHTTP(t *testing.T) {
  50. assert := assert.New(t)
  51. var err error
  52. s := util.NewProcess(consts.FRPS_BIN_PATH, []string{"-t", "123", "-p", "20000", "--vhost_http_port", "20001"})
  53. err = s.Start()
  54. if assert.NoError(err) {
  55. defer s.Stop()
  56. }
  57. time.Sleep(200 * time.Millisecond)
  58. c := util.NewProcess(consts.FRPC_BIN_PATH, []string{"http", "-s", "127.0.0.1:20000", "-t", "123", "-u", "test",
  59. "-n", "udp_test", "-l", "10704", "--custom_domain", "127.0.0.1"})
  60. err = c.Start()
  61. if assert.NoError(err) {
  62. defer c.Stop()
  63. }
  64. time.Sleep(500 * time.Millisecond)
  65. code, body, _, err := util.SendHTTPMsg("GET", "http://127.0.0.1:20001", "", nil, "")
  66. if assert.NoError(err) {
  67. assert.Equal(200, code)
  68. assert.Equal(consts.TEST_HTTP_NORMAL_STR, body)
  69. }
  70. }