MCPcopy Index your code
hub / github.com/ContentSquare/chproxy / TestRunningQueries

Function TestRunningQueries

scope_test.go:35–109  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

33)
34
35func TestRunningQueries(t *testing.T) {
36 u1 := &user{
37 maxConcurrentQueries: 1,
38 }
39 s := &scope{id: newScopeID()}
40 s.host = c.getHost()
41 s.cluster = c
42 s.user = u1
43 s.clusterUser = cu
44 s.labels = prometheus.Labels{
45 "user": "default",
46 "cluster": "default",
47 "cluster_user": "default",
48 "replica": "default",
49 "cluster_node": "default",
50 }
51
52 check := func(uq, cuq, hq uint32) {
53 if s.user.queryCounter.load() != uq {
54 t.Fatalf("expected runningQueries for user: %d; got: %d", uq, s.user.queryCounter.load())
55 }
56
57 if s.clusterUser.queryCounter.load() != cuq {
58 t.Fatalf("expected runningQueries for cluster user: %d; got: %d", cuq, s.clusterUser.queryCounter.load())
59 }
60
61 if s.host.CurrentLoad() != hq {
62 t.Fatalf("expected runningQueries for host: %d; got: %d", hq, s.host.CurrentLoad())
63 }
64 }
65
66 // initial check
67 check(0, 0, 0)
68
69 if err := s.inc(); err != nil {
70 t.Fatalf("unexpected err: %s", err)
71 }
72 // check after first increase
73 check(1, 1, 1)
74
75 // next inc expected to hit limits
76 if err := s.inc(); err == nil {
77 t.Fatalf("error expected while call .inc()")
78 }
79 // check that limits are still same after error
80 check(1, 1, 1)
81
82 u2 := &user{
83 maxConcurrentQueries: 1,
84 }
85 s = &scope{id: newScopeID()}
86 s.host = c.getHost()
87 s.cluster = c
88 s.user = u2
89 s.clusterUser = cu
90 s.labels = prometheus.Labels{
91 "user": "default",
92 "cluster": "default",

Callers

nothing calls this directly

Calls 6

incMethod · 0.95
decMethod · 0.95
newScopeIDFunction · 0.85
CurrentLoadMethod · 0.80
getHostMethod · 0.45
loadMethod · 0.45

Tested by

no test coverage detected