@@ -71,10 +71,34 @@ func TestTimeoutErrorOutInHandler(t *testing.T) {
7171 c := e .NewContext (req , rec )
7272
7373 err := m (func (c echo.Context ) error {
74- return errors . New ( "err" )
74+ return echo . NewHTTPError ( http . StatusTeapot , "err" )
7575 })(c )
7676
7777 assert .Error (t , err )
78+ assert .Equal (t , http .StatusTeapot , rec .Code )
79+ assert .Equal (t , "{\" message\" :\" err\" }\n " , rec .Body .String ())
80+ }
81+
82+ func TestTimeoutSuccessfulRequest (t * testing.T ) {
83+ t .Parallel ()
84+ m := TimeoutWithConfig (TimeoutConfig {
85+ // Timeout has to be defined or the whole flow for timeout middleware will be skipped
86+ Timeout : 50 * time .Millisecond ,
87+ })
88+
89+ req := httptest .NewRequest (http .MethodGet , "/" , nil )
90+ rec := httptest .NewRecorder ()
91+
92+ e := echo .New ()
93+ c := e .NewContext (req , rec )
94+
95+ err := m (func (c echo.Context ) error {
96+ return c .JSON (http .StatusCreated , map [string ]string {"data" : "ok" })
97+ })(c )
98+
99+ assert .NoError (t , err )
100+ assert .Equal (t , http .StatusCreated , rec .Code )
101+ assert .Equal (t , "{\" data\" :\" ok\" }\n " , rec .Body .String ())
78102}
79103
80104func TestTimeoutOnTimeoutRouteErrorHandler (t * testing.T ) {
0 commit comments