@@ -1927,6 +1927,55 @@ func TestTraceInfoOnTimeout(t *testing.T) {
19271927 assertEqual (t , true , tr .TotalTime == resp .Duration ())
19281928}
19291929
1930+ func TestTraceInfoOnTimeoutWithSetTimeout (t * testing.T ) {
1931+ t .Run ("timeout with very short timeout" , func (t * testing.T ) {
1932+ client := New ().
1933+ SetTimeout (1 * time .Millisecond ).
1934+ SetBaseURL ("http://resty-nowhere.local" ).
1935+ EnableTrace ()
1936+
1937+ resp , err := client .R ().Get ("/" )
1938+ assertNotNil (t , err )
1939+ assertNotNil (t , resp )
1940+
1941+ tr := resp .Request .TraceInfo ()
1942+
1943+ assertEqual (t , true , tr .DNSLookup == 0 )
1944+ assertEqual (t , true , tr .ConnTime == 0 )
1945+ assertEqual (t , true , tr .TLSHandshake == 0 )
1946+ assertEqual (t , true , tr .TCPConnTime == 0 )
1947+ assertEqual (t , true , tr .ServerTime == 0 )
1948+ assertEqual (t , true , tr .ResponseTime == 0 )
1949+ assertEqual (t , true , tr .TotalTime > 0 )
1950+ assertEqual (t , true , tr .TotalTime == resp .Duration ())
1951+ })
1952+
1953+ t .Run ("successful request with SetTimeout" , func (t * testing.T ) {
1954+ ts := createGetServer (t )
1955+ defer ts .Close ()
1956+
1957+ client := New ().
1958+ SetTimeout (5 * time .Second ).
1959+ SetBaseURL (ts .URL ).
1960+ EnableTrace ()
1961+
1962+ resp , err := client .R ().Get ("/" )
1963+ assertNil (t , err )
1964+ assertNotNil (t , resp )
1965+
1966+ tr := resp .Request .TraceInfo ()
1967+
1968+ assertEqual (t , true , tr .DNSLookup >= 0 )
1969+ assertEqual (t , true , tr .ConnTime >= 0 )
1970+ assertEqual (t , true , tr .TLSHandshake >= 0 )
1971+ assertEqual (t , true , tr .TCPConnTime >= 0 )
1972+ assertEqual (t , true , tr .ServerTime >= 0 )
1973+ assertEqual (t , true , tr .ResponseTime >= 0 )
1974+ assertEqual (t , true , tr .TotalTime > 0 )
1975+ assertEqual (t , true , tr .TotalTime == resp .Duration ())
1976+ })
1977+ }
1978+
19301979func TestDebugLoggerRequestBodyTooLarge (t * testing.T ) {
19311980 formTs := createFormPostServer (t )
19321981 defer formTs .Close ()
0 commit comments