21 lines
587 B
Go
21 lines
587 B
Go
package identityhttp
|
|
|
|
import (
|
|
"net/http/httptest"
|
|
"testing"
|
|
"time"
|
|
|
|
merrors "git.sendico.io/tech/sxchnge/shared/errors"
|
|
"github.com/stretchr/testify/require"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
func TestThrottleDoesNotBecomeGenericUnavailable(t *testing.T) {
|
|
h := router{logger: zap.NewNop()}
|
|
w := httptest.NewRecorder()
|
|
r := httptest.NewRequest("POST", "/accounts/identity", nil)
|
|
h.result(nil, merrors.WithThrottle(merrors.ErrServiceUnavailable, "identity", 120*time.Second, "temporary limit"))(w, r)
|
|
require.Equal(t, 429, w.Code)
|
|
require.Equal(t, "120", w.Header().Get("Retry-After"))
|
|
}
|