| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package service
- import (
- "testing"
- "github.com/QuantumNous/new-api/types"
- "github.com/stretchr/testify/require"
- )
- func TestResetStatusCode(t *testing.T) {
- t.Parallel()
- testCases := []struct {
- name string
- statusCode int
- statusCodeConfig string
- expectedCode int
- }{
- {
- name: "map string value",
- statusCode: 429,
- statusCodeConfig: `{"429":"503"}`,
- expectedCode: 503,
- },
- {
- name: "map int value",
- statusCode: 429,
- statusCodeConfig: `{"429":503}`,
- expectedCode: 503,
- },
- {
- name: "skip invalid string value",
- statusCode: 429,
- statusCodeConfig: `{"429":"bad-code"}`,
- expectedCode: 429,
- },
- {
- name: "skip status code 200",
- statusCode: 200,
- statusCodeConfig: `{"200":503}`,
- expectedCode: 200,
- },
- }
- for _, tc := range testCases {
- tc := tc
- t.Run(tc.name, func(t *testing.T) {
- t.Parallel()
- newAPIError := &types.NewAPIError{
- StatusCode: tc.statusCode,
- }
- ResetStatusCode(newAPIError, tc.statusCodeConfig)
- require.Equal(t, tc.expectedCode, newAPIError.StatusCode)
- })
- }
- }
|