Skip to content

Commit

Permalink
proxy: imp naming
Browse files Browse the repository at this point in the history
  • Loading branch information
schzhn committed Jan 22, 2025
1 parent b877057 commit af2e4a9
Showing 1 changed file with 92 additions and 92 deletions.
184 changes: 92 additions & 92 deletions proxy/stats_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,155 +64,155 @@ func TestCollectQueryStats(t *testing.T) {
}

testCases := []struct {
isExchangeErr assert.BoolAssertionFunc
config *proxy.UpstreamConfig
fallbackConfig *proxy.UpstreamConfig
name string
mode proxy.UpstreamMode
mainCount int
fallbackCount int
isMainErr bool
isFallbackErr bool
wantErr assert.ErrorAssertionFunc
wantMainErr assert.BoolAssertionFunc
wantFallbackErr assert.BoolAssertionFunc
config *proxy.UpstreamConfig
fallbackConfig *proxy.UpstreamConfig
name string
mode proxy.UpstreamMode
wantMainCount int
wantFallbackCount int
}{{
isExchangeErr: assert.False,
wantErr: assert.NoError,
wantMainErr: assert.False,
wantFallbackErr: assert.False,
config: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups},
},
fallbackConfig: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups},
},
name: "load_balance_success",
mode: proxy.UpstreamModeLoadBalance,
mainCount: 1,
fallbackCount: 0,
isMainErr: false,
isFallbackErr: false,
name: "load_balance_success",
mode: proxy.UpstreamModeLoadBalance,
wantMainCount: 1,
wantFallbackCount: 0,
}, {
isExchangeErr: assert.True,
wantErr: assert.Error,
wantMainErr: assert.True,
wantFallbackErr: assert.True,
config: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{failUps},
},
fallbackConfig: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{failUps, failUps},
},
name: "load_balance_bad",
mode: proxy.UpstreamModeLoadBalance,
mainCount: 1,
fallbackCount: 2,
isMainErr: true,
isFallbackErr: true,
name: "load_balance_bad",
mode: proxy.UpstreamModeLoadBalance,
wantMainCount: 1,
wantFallbackCount: 2,
}, {
isExchangeErr: assert.False,
wantErr: assert.NoError,
wantMainErr: assert.False,
wantFallbackErr: assert.False,
config: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups, failUps},
},
fallbackConfig: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups},
},
name: "parallel_success",
mode: proxy.UpstreamModeParallel,
mainCount: 1,
fallbackCount: 0,
isMainErr: false,
isFallbackErr: false,
name: "parallel_success",
mode: proxy.UpstreamModeParallel,
wantMainCount: 1,
wantFallbackCount: 0,
}, {
isExchangeErr: assert.False,
wantErr: assert.NoError,
wantMainErr: assert.True,
wantFallbackErr: assert.False,
config: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{failUps},
},
fallbackConfig: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups},
},
name: "parallel_bad_fallback_success",
mode: proxy.UpstreamModeParallel,
mainCount: 1,
fallbackCount: 1,
isMainErr: true,
isFallbackErr: false,
name: "parallel_bad_fallback_success",
mode: proxy.UpstreamModeParallel,
wantMainCount: 1,
wantFallbackCount: 1,
}, {
isExchangeErr: assert.True,
wantErr: assert.Error,
wantMainErr: assert.True,
wantFallbackErr: assert.True,
config: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{failUps, failUps},
},
fallbackConfig: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{failUps, failUps, failUps},
},
name: "parallel_bad",
mode: proxy.UpstreamModeParallel,
mainCount: 2,
fallbackCount: 3,
isMainErr: true,
isFallbackErr: true,
name: "parallel_bad",
mode: proxy.UpstreamModeParallel,
wantMainCount: 2,
wantFallbackCount: 3,
}, {
isExchangeErr: assert.False,
wantErr: assert.NoError,
wantMainErr: assert.False,
wantFallbackErr: assert.False,
config: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups},
},
fallbackConfig: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups},
},
name: "fastest_single_success",
mode: proxy.UpstreamModeFastestAddr,
mainCount: 1,
fallbackCount: 0,
isMainErr: false,
isFallbackErr: false,
name: "fastest_single_success",
mode: proxy.UpstreamModeFastestAddr,
wantMainCount: 1,
wantFallbackCount: 0,
}, {
isExchangeErr: assert.False,
wantErr: assert.NoError,
wantMainErr: assert.False,
wantFallbackErr: assert.False,
config: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups, ups},
},
fallbackConfig: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups},
},
name: "fastest_multiple_success",
mode: proxy.UpstreamModeFastestAddr,
mainCount: 2,
fallbackCount: 0,
isMainErr: false,
isFallbackErr: false,
name: "fastest_multiple_success",
mode: proxy.UpstreamModeFastestAddr,
wantMainCount: 2,
wantFallbackCount: 0,
}, {
isExchangeErr: assert.False,
wantErr: assert.NoError,
wantMainErr: assert.True,
wantFallbackErr: assert.False,
config: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups, failUps},
},
fallbackConfig: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups},
},
name: "fastest_mixed_success",
mode: proxy.UpstreamModeFastestAddr,
mainCount: 2,
fallbackCount: 0,
isMainErr: true,
isFallbackErr: false,
name: "fastest_mixed_success",
mode: proxy.UpstreamModeFastestAddr,
wantMainCount: 2,
wantFallbackCount: 0,
}, {
isExchangeErr: assert.True,
wantErr: assert.Error,
wantMainErr: assert.True,
wantFallbackErr: assert.True,
config: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{failUps, failUps},
},
fallbackConfig: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{failUps, failUps, failUps},
},
name: "fastest_multiple_bad",
mode: proxy.UpstreamModeFastestAddr,
mainCount: 2,
fallbackCount: 3,
isMainErr: true,
isFallbackErr: true,
name: "fastest_multiple_bad",
mode: proxy.UpstreamModeFastestAddr,
wantMainCount: 2,
wantFallbackCount: 3,
}, {
isExchangeErr: assert.False,
wantErr: assert.NoError,
wantMainErr: assert.True,
wantFallbackErr: assert.False,
config: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{failUps, failUps},
},
fallbackConfig: &proxy.UpstreamConfig{
Upstreams: []upstream.Upstream{ups},
},
name: "fastest_bad_fallback_success",
mode: proxy.UpstreamModeFastestAddr,
mainCount: 2,
fallbackCount: 1,
isMainErr: true,
isFallbackErr: false,
name: "fastest_bad_fallback_success",
mode: proxy.UpstreamModeFastestAddr,
wantMainCount: 2,
wantFallbackCount: 1,
}}

for _, tc := range testCases {
Expand All @@ -227,16 +227,16 @@ func TestCollectQueryStats(t *testing.T) {
d := &proxy.DNSContext{Req: testReq}

err = p.Resolve(d)
tc.isExchangeErr(t, err != nil)
tc.wantErr(t, err)

stats := d.QueryStatistics()
assertQueryStats(
t,
stats,
tc.mainCount,
tc.isMainErr,
tc.fallbackCount,
tc.isFallbackErr,
tc.wantMainCount,
tc.wantMainErr,
tc.wantFallbackCount,
tc.wantFallbackErr,
)
})
}
Expand All @@ -246,21 +246,21 @@ func TestCollectQueryStats(t *testing.T) {
func assertQueryStats(
t *testing.T,
stats *proxy.QueryStatistics,
mainCount int,
isMainErr bool,
fallbackCount int,
isFallbackErr bool,
wantMainCount int,
wantMainErr assert.BoolAssertionFunc,
wantFallbackCount int,
wantFallbackErr assert.BoolAssertionFunc,
) {
t.Helper()

main := stats.Main()
assert.Equalf(t, mainCount, len(main), "main stats count")
assert.Lenf(t, main, wantMainCount, "main stats count")

fallback := stats.Fallback()
assert.Equalf(t, fallbackCount, len(fallback), "fallback stats count")
assert.Lenf(t, fallback, wantFallbackCount, "fallback stats count")

assert.Equalf(t, isMainErr, isErrorInStats(main), "main err")
assert.Equalf(t, isFallbackErr, isErrorInStats(fallback), "fallback err")
wantMainErr(t, isErrorInStats(main), "main err")
wantFallbackErr(t, isErrorInStats(fallback), "fallback err")
}

// isErrorInStats is a helper function for tests that returns true if the
Expand Down

0 comments on commit af2e4a9

Please sign in to comment.