github.com/weaveworks/common@v0.0.0-20230728070032-dd9e68f319d5/middleware/grpc_instrumentation_test.go (about)

     1  package middleware
     2  
     3  import (
     4  	"net/http"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  	"github.com/weaveworks/common/httpgrpc"
     9  	"google.golang.org/grpc/codes"
    10  	"google.golang.org/grpc/status"
    11  )
    12  
    13  func TestErrorCode_NoError(t *testing.T) {
    14  	a := errorCode(nil)
    15  	assert.Equal(t, "2xx", a)
    16  }
    17  
    18  func TestErrorCode_Any5xx(t *testing.T) {
    19  	err := httpgrpc.Errorf(http.StatusNotImplemented, "Fail")
    20  	a := errorCode(err)
    21  	assert.Equal(t, "5xx", a)
    22  }
    23  
    24  func TestErrorCode_Any4xx(t *testing.T) {
    25  	err := httpgrpc.Errorf(http.StatusConflict, "Fail")
    26  	a := errorCode(err)
    27  	assert.Equal(t, "4xx", a)
    28  }
    29  
    30  func TestErrorCode_Canceled(t *testing.T) {
    31  	err := status.Errorf(codes.Canceled, "Fail")
    32  	a := errorCode(err)
    33  	assert.Equal(t, "cancel", a)
    34  }
    35  
    36  func TestErrorCode_Unknown(t *testing.T) {
    37  	err := status.Errorf(codes.Unknown, "Fail")
    38  	a := errorCode(err)
    39  	assert.Equal(t, "error", a)
    40  }