| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package operation_setting
- import (
- "testing"
- "github.com/stretchr/testify/require"
- )
- func TestParseHTTPStatusCodeRanges_CommaSeparated(t *testing.T) {
- ranges, err := ParseHTTPStatusCodeRanges("401,403,500-599")
- require.NoError(t, err)
- require.Equal(t, []StatusCodeRange{
- {Start: 401, End: 401},
- {Start: 403, End: 403},
- {Start: 500, End: 599},
- }, ranges)
- }
- func TestParseHTTPStatusCodeRanges_MergeAndNormalize(t *testing.T) {
- ranges, err := ParseHTTPStatusCodeRanges("500-505,504,401,403,402")
- require.NoError(t, err)
- require.Equal(t, []StatusCodeRange{
- {Start: 401, End: 403},
- {Start: 500, End: 505},
- }, ranges)
- }
- func TestParseHTTPStatusCodeRanges_Invalid(t *testing.T) {
- _, err := ParseHTTPStatusCodeRanges("99,600,foo,500-400,500-")
- require.Error(t, err)
- }
- func TestParseHTTPStatusCodeRanges_NoComma_IsInvalid(t *testing.T) {
- _, err := ParseHTTPStatusCodeRanges("401 403")
- require.Error(t, err)
- }
- func TestShouldDisableByStatusCode(t *testing.T) {
- orig := AutomaticDisableStatusCodeRanges
- t.Cleanup(func() { AutomaticDisableStatusCodeRanges = orig })
- AutomaticDisableStatusCodeRanges = []StatusCodeRange{
- {Start: 401, End: 403},
- {Start: 500, End: 599},
- }
- require.True(t, ShouldDisableByStatusCode(401))
- require.True(t, ShouldDisableByStatusCode(403))
- require.False(t, ShouldDisableByStatusCode(404))
- require.True(t, ShouldDisableByStatusCode(500))
- require.False(t, ShouldDisableByStatusCode(200))
- }
|