github.com/pavlo67/common@v0.5.3/common/errors/errors_test.go (about) 1 package errors 2 3 import ( 4 "fmt" 5 "log" 6 "testing" 7 8 "github.com/pavlo67/common/common" 9 "github.com/stretchr/testify/require" 10 11 "github.com/pkg/errors" 12 ) 13 14 func TestCommonErrorKey(t *testing.T) { 15 testKey1 := Key("test_key1") 16 ke1 := CommonError(testKey1) 17 require.Equalf(t, testKey1, ke1.Key(), "%#v", ke1) 18 19 testKey2 := Key("test_key2") 20 ke2 := CommonError(testKey2, common.Map{"error": "q"}) 21 require.Equalf(t, testKey2, ke2.Key(), "%#v", ke2) 22 23 testKey3 := Key("test_key3") 24 testMap3 := common.Map{"error": "q"} 25 ke3 := CommonError(testKey3, testMap3) 26 require.Equalf(t, testKey3, ke3.Key(), "%#v", ke3) 27 require.Equalf(t, testMap3, ke3.Data(), "%#v", ke3) 28 } 29 30 func TestCommonErrorString(t *testing.T) { 31 const TestKey Key = "test" 32 err1 := CommonError(TestKey, common.Map{"a": "b"}) 33 log.Print("ERR1") 34 log.Printf("%ss: %s", "%", err1) 35 log.Printf("%sv: %v", "%", err1) 36 log.Printf("%s#v: %#v\n\n", "%", err1) 37 38 err2 := CommonError(err1, "111", errors.New("222"), err1) // 39 log.Print("ERR2") 40 log.Printf("%ss: %s", "%", err2) 41 log.Printf("%sv: %v", "%", err2) 42 log.Printf("%s#v: %#v", "%", err2) 43 44 errors.New("222") 45 } 46 47 func TestNil(t *testing.T) { 48 var err error 49 50 err = CommonError() 51 require.Truef(t, err == nil, "%#v", err) 52 53 err = CommonError(nil) 54 require.Truef(t, err == nil, "%#v", err) 55 56 err = CommonError(nil, nil) 57 require.Truef(t, err == nil, "%#v", err) 58 59 err = CommonError(nil, nil, nil) 60 require.Truef(t, err == nil, "%#v", err) 61 62 } 63 64 func TestWrapf(t *testing.T) { 65 err := errors.Wrapf(errors.New("eeeeee"), "22222 %s", "111") 66 log.Print(err) 67 err1 := CommonError(err, "can't init records.Operator") 68 log.Print(fmt.Errorf("error calling .Run() for component (%s): %#v", "name", err1)) 69 log.Print(fmt.Errorf("error calling .Run() for component (%s): %s", "name", err1)) 70 } 71 72 //func TestCommonErrorKey(t *testing.T) { 73 // testKey1 := Key("test_key1") 74 // ke1 := CommonError(testKey1, nil) 75 // require.Equalf(t, testKey1, ke1.Key(), "%#v", ke1) 76 // 77 // testKey2 := Key("test_key2") 78 // ke2 := CommonError(testKey2, common.Map{"error": "q"}) 79 // require.Equalf(t, testKey2, ke2.Key(), "%#v", ke2) 80 // 81 // testKey3 := Key("test_key3") 82 // ke3 := CommonError(testKey3, common.Map{"error": "q"}) 83 // require.Equalf(t, testKey3, ke3.Key(), "%#v", ke3) 84 // 85 // testKey4 := Key("test_key4") 86 // ke4 := CommonError(testKey4, common.Map{"error": "q"}) 87 // require.Equalf(t, testKey4, ke4.Key(), "%#v", ke4) 88 // 89 //} 90 // 91 //func TestCommonErrorString(t *testing.T) { 92 // const TestKey Key = "test" 93 // err1 := CommonError(TestKey, common.Map{"a": "b"}) 94 // log.Print("ERR1") 95 // log.Printf("%ss: %s", "%", err1) 96 // log.Printf("%sv: %v", "%", err1) 97 // log.Printf("%s#v: %#v\n\n", "%", err1) 98 // 99 // err2 := CommonError(err1, "111", errors.New("222"), err1) // 100 // log.Print("ERR2") 101 // log.Printf("%ss: %s", "%", err2) 102 // log.Printf("%sv: %v", "%", err2) 103 // log.Printf("%s#v: %#v", "%", err2) 104 // 105 // errors.New("222") 106 //}