Files
user-system/internal/pkg/googleapi/status_test.go
Your Name ed399edb5f test: improve pkg package coverage
- Add HTTP status error functions tests (internal/pkg/errors)
- Add ReadRequestBodyWithPrealloc tests (internal/pkg/httputil)
- Add HTTPStatusToGoogleStatus tests (internal/pkg/googleapi)

Coverage improvements:
- pkg/errors: 77.6%
- pkg/httputil: 91.7%
- pkg/googleapi: 79.5%
2026-05-29 16:24:23 +08:00

41 lines
1.2 KiB
Go

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)
})
}
}