- 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%
41 lines
1.2 KiB
Go
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)
|
|
})
|
|
}
|
|
}
|