Skip to content
This repository was archived by the owner on May 19, 2020. It is now read-only.

Commit ec0b6a8

Browse files
committed
simplifying everything and throw away all extra deps. Adding mux response object
1 parent 6f145e3 commit ec0b6a8

File tree

5 files changed

+31
-160
lines changed

5 files changed

+31
-160
lines changed

errors.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package errors
22

33
import (
4+
"errors"
45
"fmt"
5-
6-
"github.com/pkg/errors"
76
)
87

98
//New returns new error with passed message
@@ -13,7 +12,7 @@ func New(msg string) error {
1312

1413
//Newf returns new error with message sprintf'ed by format with passed params
1514
func Newf(format string, params ...interface{}) error {
16-
return New(fmt.Sprintf(format, params...))
15+
return fmt.Errorf(format, params...)
1716
}
1817

1918
//HasErrors checks if error occurs in passed err

errors_test.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
package errors
22

33
import (
4+
"errors"
45
"fmt"
56
"testing"
6-
7-
"github.com/jinzhu/gorm"
8-
"github.com/pkg/errors"
9-
"github.com/stretchr/testify/assert"
107
)
118

129
type testCase struct {
@@ -19,11 +16,12 @@ func TestHasErrors(t *testing.T) {
1916
"common error": {input: errors.New("some error"), hasError: true},
2017
"errors slice": {input: []error{errors.New("some error"), errors.New("some more error")}, hasError: true},
2118
"errors map": {input: map[string]error{"some error": errors.New("some error"), "some more error": errors.New("some more error")}, hasError: true},
22-
"gorm error": {input: gorm.Errors{errors.New("some error"), errors.New("some more error")}, hasError: true},
19+
//"gorm error": {input: gorm.Errors{errors.New("some error"), errors.New("some more error")}, hasError: true},
2320
}
2421

2522
for caseName, tc := range tcs {
26-
if !assert.Equal(t, HasErrors(tc.input), tc.hasError, caseName) {
23+
if HasErrors(tc.input) != tc.hasError {
24+
fmt.Printf("test fail in `%s`", caseName)
2725
t.FailNow()
2826
}
2927
}
@@ -32,10 +30,12 @@ func TestHasErrors(t *testing.T) {
3230
func TestNew(t *testing.T) {
3331
errMsg := "err msg"
3432
err := New(errMsg)
35-
if !assert.Error(t, err) {
33+
if err == nil {
34+
fmt.Print("no errors occurs")
3635
t.FailNow()
3736
}
38-
if !assert.Equal(t, errMsg, err.Error()) {
37+
if errMsg != err.Error() {
38+
fmt.Print("error message is not equals to err.Error() string")
3939
t.FailNow()
4040
}
4141
}
@@ -45,11 +45,13 @@ func TestNewf(t *testing.T) {
4545
errMsg1 := "alert 1!"
4646
errMsg2 := "alert 2!"
4747
err := Newf(errFormat, errMsg1, errMsg2)
48-
if !assert.Error(t, err) {
48+
if err == nil {
49+
fmt.Print("no errors occurs")
4950
t.FailNow()
5051
}
5152

52-
if !assert.Equal(t, fmt.Sprintf(errFormat, errMsg1, errMsg2), err.Error()) {
53+
if fmt.Sprintf(errFormat, errMsg1, errMsg2) != err.Error() {
54+
fmt.Print("errors are not equals")
5355
t.FailNow()
5456
}
5557
}

go.mod

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
11
module github.com/microparts/errors-go
22

33
go 1.12
4-
5-
require (
6-
github.com/jinzhu/gorm v1.9.10
7-
github.com/pkg/errors v0.8.1
8-
github.com/stretchr/testify v1.3.0
9-
)

go.sum

Lines changed: 0 additions & 141 deletions
This file was deleted.

response.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package errors
2+
3+
type FieldName string
4+
type ValidationError string
5+
type ErrorCode string
6+
type DebugData interface{}
7+
8+
type Response struct {
9+
Error ErrorObject `json:"error,omitempty"`
10+
}
11+
12+
type ErrorObject struct {
13+
Message interface{} `json:"message"`
14+
Code *ErrorCode `json:"code,omitempty"`
15+
Validation map[FieldName][]ValidationError `json:"validation,omitempty"`
16+
Debug *DebugData `json:"debug,omitempty"`
17+
}

0 commit comments

Comments
 (0)