Skip to content

Commit 6022d9f

Browse files
committed
add a full test for config->router config passthrough
1 parent 1b14f14 commit 6022d9f

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

router/core/router_test.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,43 @@ func TestOverridesPriority(t *testing.T) {
210210
assert.Equal(t, parsedURL, subgraphs[0].Url)
211211
}
212212

213+
func TestTrafficShapingRules(t *testing.T) {
214+
allRequestTimeout := 10 * time.Second
215+
allDialTimeout := 0 * time.Second
216+
subgraphRequestTimeout := 15 * time.Second
217+
subgraphDialTimeout := 0 * time.Second
218+
219+
defaults := DefaultTransportRequestOptions()
220+
221+
config := config.TrafficShapingRules{
222+
All: config.GlobalSubgraphRequestRule{
223+
RequestTimeout: &allRequestTimeout,
224+
DialTimeout: &allDialTimeout,
225+
},
226+
Subgraphs: map[string]*config.GlobalSubgraphRequestRule{
227+
"some-subgraph": {
228+
RequestTimeout: &subgraphRequestTimeout,
229+
DialTimeout: &subgraphDialTimeout,
230+
},
231+
},
232+
}
233+
234+
options := []Option{
235+
WithSubgraphTransportOptions(NewSubgraphTransportOptions(config)),
236+
}
237+
router, err := NewRouter(options...)
238+
assert.Nil(t, err)
239+
240+
// Assert that configs are loaded for real, zero and absent values.
241+
assert.Equal(t, allRequestTimeout, router.subgraphTransportOptions.RequestTimeout)
242+
assert.Equal(t, allDialTimeout, router.subgraphTransportOptions.DialTimeout)
243+
assert.Equal(t, defaults.MaxIdleConns, router.subgraphTransportOptions.MaxIdleConns)
244+
245+
assert.Equal(t, subgraphRequestTimeout, router.subgraphTransportOptions.SubgraphMap["some-subgraph"].RequestTimeout)
246+
assert.Equal(t, subgraphDialTimeout, router.subgraphTransportOptions.SubgraphMap["some-subgraph"].DialTimeout)
247+
assert.Equal(t, defaults.MaxIdleConns, router.subgraphTransportOptions.SubgraphMap["some-subgraph"].MaxIdleConns)
248+
}
249+
213250
// Confirms that defaults and fallthrough works properly
214251
func TestNewTransportRequestOptions(t *testing.T) {
215252
defaults := DefaultTransportRequestOptions()

0 commit comments

Comments
 (0)