浏览代码

Add test cases for client_error.go

Jackson Tian 7 年之前
父节点
当前提交
5aadf1e5a7

+ 1 - 1
sdk/auth/credentials/sts_role_arn_credential_test.go

@@ -7,7 +7,7 @@ import (
 )
 
 func TestRoleArnCredential(t *testing.T) {
-	c := NewStsRoleArnCredential("accessKeyId", "accessKeySecret", "roleArn", "roleSessionName", 3600)
+	c := NewRamRoleArnCredential("accessKeyId", "accessKeySecret", "roleArn", "roleSessionName", 3600)
 	assert.Equal(t, "accessKeyId", c.AccessKeyId)
 	assert.Equal(t, "accessKeySecret", c.AccessKeySecret)
 	assert.Equal(t, "roleArn", c.RoleArn)

+ 1 - 0
sdk/auth/signers/signer_access_key_test.go

@@ -11,6 +11,7 @@ func TestSignerAccessKey(t *testing.T) {
 	c := credentials.NewAccessKeyCredential("accessKeyId", "accessKeySecret")
 	assert.NotNil(t, c)
 	s := NewAccessKeySigner(c)
+	assert.Nil(t, s.GetExtraParam())
 	assert.Equal(t, "HMAC-SHA1", s.GetName())
 	assert.Equal(t, "", s.GetType())
 	assert.Equal(t, "1.0", s.GetVersion())

+ 1 - 1
sdk/errors/client_error.go

@@ -60,7 +60,7 @@ func NewClientError(errorCode, message string, originErr error) Error {
 }
 
 func (err *ClientError) Error() string {
-	clientErrMsg := fmt.Sprintf("[%s] %s", err.errorCode, err.message)
+	clientErrMsg := fmt.Sprintf("[%s] %s", err.ErrorCode(), err.message)
 	if err.originError != nil {
 		return clientErrMsg + "\ncaused by:\n" + err.originError.Error()
 	}

+ 38 - 0
sdk/errors/client_error_test.go

@@ -0,0 +1,38 @@
+package errors
+
+import (
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+)
+
+func TestClientError(t *testing.T) {
+	err := NewClientError("error code", "error message", nil)
+	assert.Equal(t, "[error code] error message", err.Error())
+	assert.Equal(t, 400, err.HttpStatus())
+	assert.Equal(t, "error code", err.ErrorCode())
+	assert.Equal(t, "error message", err.Message())
+	clientError, ok := err.(*ClientError)
+	assert.True(t, ok)
+	assert.Equal(t, "[error code] error message", clientError.String())
+	assert.Nil(t, err.OriginError())
+}
+
+type OriginError struct {
+}
+
+func (err *OriginError) Error() string {
+	return "The origin error"
+}
+
+func TestClientErrorWithOriginError(t *testing.T) {
+	err := NewClientError("", "error message", &OriginError{})
+	assert.Equal(t, "[SDK.ClientError] error message\ncaused by:\nThe origin error", err.Error())
+	assert.Equal(t, 400, err.HttpStatus())
+	assert.Equal(t, "SDK.ClientError", err.ErrorCode())
+	assert.Equal(t, "error message", err.Message())
+	clientError, ok := err.(*ClientError)
+	assert.True(t, ok)
+	assert.Equal(t, "[SDK.ClientError] error message\ncaused by:\nThe origin error", clientError.String())
+	assert.NotNil(t, err.OriginError())
+}

+ 0 - 1
sdk/errors/error_test.go

@@ -1 +0,0 @@
-package errors