Files

41 lines
1.2 KiB
Go
Raw Permalink Normal View History

package googleapi
import (
"net/http"
"testing"
"github.com/stretchr/testify/require"
)
func TestHTTPStatusToGoogleStatus(t *testing.T) {
tests := []struct {
name string
status int
want string
}{
{"bad_request_400", http.StatusBadRequest, "INVALID_ARGUMENT"},
{"unauthorized_401", http.StatusUnauthorized, "UNAUTHENTICATED"},
{"forbidden_403", http.StatusForbidden, "PERMISSION_DENIED"},
{"not_found_404", http.StatusNotFound, "NOT_FOUND"},
{"too_many_requests_429", http.StatusTooManyRequests, "RESOURCE_EXHAUSTED"},
{"internal_server_500", http.StatusInternalServerError, "INTERNAL"},
{"bad_gateway_502", http.StatusBadGateway, "INTERNAL"},
{"service_unavailable_503", http.StatusServiceUnavailable, "INTERNAL"},
{"ok_200", http.StatusOK, "UNKNOWN"},
{"created_201", http.StatusCreated, "UNKNOWN"},
{"accepted_202", http.StatusAccepted, "UNKNOWN"},
{"no_content_204", http.StatusNoContent, "UNKNOWN"},
{"bad_request_boundary", 400, "INVALID_ARGUMENT"},
{"server_error_boundary", 500, "INTERNAL"},
{"custom_4xx", 418, "UNKNOWN"},
{"custom_5xx", 599, "INTERNAL"},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got := HTTPStatusToGoogleStatus(tt.status)
require.Equal(t, tt.want, got)
})
}
}