update certain error codes

This commit is contained in:
Danielle Miu committed 2024-07-17 10:54:21 -04:00
1 parent 8835180037
commit bd2be82f5a
4 files changed
+41 -30

No files matched your search

+11
View File
@@ -55,6 +55,12 @@ const (
// The InvalidObjectState error is returned when trying to
// access an object that was moved into cold storage.
awsErrorInvalidObjectState = "InvalidObjectState"
// RequestTimeout is returned when an http request takes longer than allowed
awsErrorRequestTimeout = "RequestTimeout"
// RequestTimeoutException is returned when an http request takes longer than allowed
awsErrorRequestTimeoutException = "RequestTimeoutException"
)
// InvalidArgumentError returns an grpc invalid argument status error.
@@ -141,6 +147,11 @@ func ParseAWSError(err error, msg string) (st *status.Status, permission *pb.Per
case awsErrorInvalidObjectState:
statusMsg := fmt.Sprintf("aws %s error: %s", serviceName, msg)
return status.New(codes.NotFound, statusMsg), nil
case awsErrorRequestTimeout:
fallthrough
case awsErrorRequestTimeoutException:
statusMsg := fmt.Sprintf("aws %s error: %s", serviceName, msg)
return status.New(codes.DeadlineExceeded, statusMsg), nil
}
}
+7 -7
View File
@@ -90,7 +90,7 @@ func Test_ParseAWSError(t *testing.T) {
name: "http-status-code-request-timeout",
err: TestAwsHttpResponseError(http.StatusRequestTimeout, "request timeout"),
expectedStatusCode: codes.DeadlineExceeded,
expectedStatusMsg: "aws service unknown: connectivity error: test",
expectedStatusMsg: "aws service unknown: timeout error: test",
expectedPermission: &pb.Permission{
State: pb.StateType_STATE_TYPE_UNKNOWN,
},
@@ -98,7 +98,7 @@ func Test_ParseAWSError(t *testing.T) {
{
name: "http-status-code-internal-server-error",
err: TestAwsHttpResponseError(http.StatusInternalServerError, "internal server error"),
expectedStatusCode: codes.DeadlineExceeded,
expectedStatusCode: codes.Unavailable,
expectedStatusMsg: "aws service unknown: connectivity error: test",
expectedPermission: &pb.Permission{
State: pb.StateType_STATE_TYPE_UNKNOWN,
@@ -107,7 +107,7 @@ func Test_ParseAWSError(t *testing.T) {
{
name: "http-status-code-bad-gateway",
err: TestAwsHttpResponseError(http.StatusBadGateway, "bad gateway"),
expectedStatusCode: codes.DeadlineExceeded,
expectedStatusCode: codes.Unavailable,
expectedStatusMsg: "aws service unknown: connectivity error: test",
expectedPermission: &pb.Permission{
State: pb.StateType_STATE_TYPE_UNKNOWN,
@@ -116,7 +116,7 @@ func Test_ParseAWSError(t *testing.T) {
{
name: "http-status-code-service-unavailable",
err: TestAwsHttpResponseError(http.StatusServiceUnavailable, "service unavailable"),
expectedStatusCode: codes.DeadlineExceeded,
expectedStatusCode: codes.Unavailable,
expectedStatusMsg: "aws service unknown: connectivity error: test",
expectedPermission: &pb.Permission{
State: pb.StateType_STATE_TYPE_UNKNOWN,
@@ -126,7 +126,7 @@ func Test_ParseAWSError(t *testing.T) {
name: "http-status-code-gateway-timeout",
err: TestAwsHttpResponseError(http.StatusGatewayTimeout, "gateway timeout"),
expectedStatusCode: codes.DeadlineExceeded,
expectedStatusMsg: "aws service unknown: connectivity error: test",
expectedStatusMsg: "aws service unknown: timeout error: test",
expectedPermission: &pb.Permission{
State: pb.StateType_STATE_TYPE_UNKNOWN,
},
@@ -261,7 +261,7 @@ func Test_ParseAWSError(t *testing.T) {
name: "aws-request-timeout",
err: TestAwsError("RequestTimeout", "request timeout"),
expectedStatusCode: codes.DeadlineExceeded,
expectedStatusMsg: "aws service unknown: connectivity error: test",
expectedStatusMsg: "aws unknown error: test",
expectedPermission: &pb.Permission{
State: pb.StateType_STATE_TYPE_UNKNOWN,
},
@@ -270,7 +270,7 @@ func Test_ParseAWSError(t *testing.T) {
name: "aws-request-timeout-exception",
err: TestAwsError("RequestTimeoutException", "request timeout exception"),
expectedStatusCode: codes.DeadlineExceeded,
expectedStatusMsg: "aws service unknown: connectivity error: test",
expectedStatusMsg: "aws unknown error: test",
expectedPermission: &pb.Permission{
State: pb.StateType_STATE_TYPE_UNKNOWN,
},