admin_test.go 579 B

1234567891011121314151617181920212223242526272829
  1. package action
  2. import (
  3. "github.com/stretchr/testify/assert"
  4. "net"
  5. "testing"
  6. )
  7. func TestAdminRunConn(t *testing.T) {
  8. ac := &AdminAction{
  9. DefaultAction: DefaultAction{},
  10. }
  11. finish := make(chan struct{}, 0)
  12. go func() {
  13. _, err := GetAdminListener().Accept()
  14. assert.NoError(t, err)
  15. finish <- struct{}{}
  16. }()
  17. ln, err := net.Listen("tcp", "127.0.0.1:0")
  18. assert.NoError(t, err)
  19. go func() {
  20. conn, err := ln.Accept()
  21. assert.NoError(t, err)
  22. assert.NoError(t, ac.RunConn(conn))
  23. }()
  24. _, err = net.Dial("tcp", ln.Addr().String())
  25. assert.NoError(t, err)
  26. <-finish
  27. }