...
1
18
19 package priority
20
21 import (
22 "context"
23 "testing"
24 "time"
25
26 "google.golang.org/grpc/internal/testutils"
27 "google.golang.org/grpc/resolver"
28 )
29
30 func (s) TestIgnoreResolveNowClientConn(t *testing.T) {
31 cc := testutils.NewBalancerClientConn(t)
32 ignoreCC := newIgnoreResolveNowClientConn(cc, false)
33
34
35 ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout)
36 defer cancel()
37
38 ignoreCC.ResolveNow(resolver.ResolveNowOptions{})
39 select {
40 case <-cc.ResolveNowCh:
41 case <-ctx.Done():
42 t.Fatalf("Timeout waiting for ResolveNow()")
43 }
44
45
46
47 ignoreCC.updateIgnoreResolveNow(true)
48 for i := 0; i < 5; i++ {
49 ignoreCC.ResolveNow(resolver.ResolveNowOptions{})
50 }
51 select {
52 case <-cc.ResolveNowCh:
53 t.Fatalf("got unexpected ResolveNow() call")
54 case <-time.After(defaultTestShortTimeout):
55 }
56
57
58
59 ignoreCC.updateIgnoreResolveNow(false)
60 ignoreCC.ResolveNow(resolver.ResolveNowOptions{})
61 select {
62 case <-cc.ResolveNowCh:
63 case <-ctx.Done():
64 t.Fatalf("timeout waiting for ResolveNow()")
65 }
66 }
67
View as plain text