MCPcopy
hub / github.com/nats-io/nats.go / TestCallbacksOrder

Function TestCallbacksOrder

test/conn_test.go:886–1100  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

884}
885
886func TestCallbacksOrder(t *testing.T) {
887 authS, authSOpts := RunServerWithConfig("./configs/tls.conf")
888 defer authS.Shutdown()
889
890 s := RunDefaultServer()
891 defer s.Shutdown()
892
893 firstDisconnect := true
894 var connTime, dtime1, dtime2, rtime, atime1, atime2, ctime time.Time
895
896 cbErrors := make(chan error, 20)
897
898 connected := make(chan bool)
899 reconnected := make(chan bool)
900 closed := make(chan bool)
901 asyncErr := make(chan bool, 2)
902 recvCh := make(chan bool, 2)
903 recvCh1 := make(chan bool)
904 recvCh2 := make(chan bool)
905
906 connCh := func(nc *nats.Conn) {
907 if err := isRunningInAsyncCBDispatcher(); err != nil {
908 cbErrors <- err
909 connected <- true
910 return
911 }
912 time.Sleep(50 * time.Millisecond)
913 connTime = time.Now()
914 connected <- true
915 }
916
917 dch := func(nc *nats.Conn) {
918 if err := isRunningInAsyncCBDispatcher(); err != nil {
919 cbErrors <- err
920 return
921 }
922 time.Sleep(100 * time.Millisecond)
923 if firstDisconnect {
924 firstDisconnect = false
925 dtime1 = time.Now()
926 } else {
927 dtime2 = time.Now()
928 }
929 }
930
931 rch := func(nc *nats.Conn) {
932 if err := isRunningInAsyncCBDispatcher(); err != nil {
933 cbErrors <- err
934 reconnected <- true
935 return
936 }
937 time.Sleep(50 * time.Millisecond)
938 rtime = time.Now()
939 reconnected <- true
940 }
941
942 ech := func(nc *nats.Conn, sub *nats.Subscription, err error) {
943 if err := isRunningInAsyncCBDispatcher(); err != nil {

Callers

nothing calls this directly

Calls 15

SetPendingLimitsMethod · 0.95
isAsyncDispatcherRunningFunction · 0.85
ConnectMethod · 0.80
ReconnectHandlerMethod · 0.80
ClosedHandlerMethod · 0.80
ErrorHandlerMethod · 0.80
FatalfMethod · 0.80
UnsubscribeMethod · 0.80
RunServerWithConfigFunction · 0.70
RunDefaultServerFunction · 0.70
WaitFunction · 0.70

Tested by

no test coverage detected