Skip to content

Commit

Permalink
✅ Add test for cassandra error (#865)
Browse files Browse the repository at this point in the history
* feat: add test case for cassanda error

Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>

* feat: add test case for function variable

Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>

* feat: add test case for ErrCassandraNotFound

Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>

* feat: add test case for cassandra operation error

Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>

* fix: deleted unnecessary file

Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>

* fix: revert go.mod

Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>

* add: comment for cassandra error

Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>

* fix: typo

Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>

* Update internal/errors/cassandra.go

Co-authored-by: Kevin Diu <kevindiujp@gmail.com>

* Update internal/errors/cassandra.go

Co-authored-by: Kevin Diu <kevindiujp@gmail.com>

* Update internal/errors/cassandra.go

Co-authored-by: Kevin Diu <kevindiujp@gmail.com>

* Update internal/errors/cassandra.go

Co-authored-by: Kevin Diu <kevindiujp@gmail.com>

* Update internal/errors/cassandra.go

Co-authored-by: Kevin Diu <kevindiujp@gmail.com>

* Update internal/errors/cassandra.go

Co-authored-by: Kevin Diu <kevindiujp@gmail.com>

* Update internal/errors/cassandra.go

Co-authored-by: Kevin Diu <kevindiujp@gmail.com>

* Update internal/errors/cassandra.go

Co-authored-by: Kevin Diu <kevindiujp@gmail.com>

* fix: grammer

Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>

* fix: apply suggestion

Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>

* fix: apply suggestion

Signed-off-by: hlts2 <hiroto.funakoshi.hiroto@gmail.com>

* Update internal/errors/cassandra.go

Co-authored-by: Kiichiro YUKAWA <kyukawa315@gmail.com>

* Update internal/errors/cassandra.go

* Update internal/errors/cassandra.go

* Update internal/errors/cassandra.go

* Update internal/errors/cassandra.go

* Update internal/errors/cassandra_test.go

Co-authored-by: Kiichiro YUKAWA <kyukawa315@gmail.com>

* Update internal/errors/cassandra_test.go

Co-authored-by: Kiichiro YUKAWA <kyukawa315@gmail.com>

* Update internal/errors/cassandra_test.go

Co-authored-by: Kiichiro YUKAWA <kyukawa315@gmail.com>

* Update internal/errors/cassandra_test.go

Co-authored-by: Kiichiro YUKAWA <kyukawa315@gmail.com>

* Update internal/errors/cassandra_test.go

Co-authored-by: Kiichiro YUKAWA <kyukawa315@gmail.com>

* Update internal/errors/cassandra_test.go

Co-authored-by: Kiichiro YUKAWA <kyukawa315@gmail.com>

* Update internal/errors/cassandra_test.go

Co-authored-by: Kiichiro YUKAWA <kyukawa315@gmail.com>

* Update internal/errors/cassandra_test.go

Co-authored-by: Kiichiro YUKAWA <kyukawa315@gmail.com>

* Update internal/errors/cassandra_test.go

Co-authored-by: Kiichiro YUKAWA <kyukawa315@gmail.com>

Co-authored-by: Kevin Diu <kevindiujp@gmail.com>
Co-authored-by: Kiichiro YUKAWA <kyukawa315@gmail.com>
  • Loading branch information
3 people committed Dec 22, 2020
1 parent 933cba5 commit 2696dd3
Show file tree
Hide file tree
Showing 2 changed files with 856 additions and 103 deletions.
18 changes: 17 additions & 1 deletion internal/errors/cassandra.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,29 @@ package errors

var (

// Cassandra
// ErrCassandraInvalidConsistencyType represents a function to generate an error of consistency type not defined.
ErrCassandraInvalidConsistencyType = func(consistency string) error {
return Errorf("consistetncy type %q is not defined", consistency)
}

// NewErrCassandraNotFoundIdentity represents a function to generate an error of cassandra entry not found.
NewErrCassandraNotFoundIdentity = func() error {
return &ErrCassandraNotFoundIdentity{
err: New("cassandra entry not found"),
}
}

// NewErrCassandraUnavailableIdentity represents a function to generate an error of cassandra unavailable.
NewErrCassandraUnavailableIdentity = func() error {
return &ErrCassandraUnavailableIdentity{
err: New("cassandra unavailable"),
}
}

// ErrCassandraUnavailable represents NewErrCassandraUnavailableIdentity.
ErrCassandraUnavailable = NewErrCassandraUnavailableIdentity

// ErrCassandraNotFound represents a function to generate an error of cassandra keys not found.
ErrCassandraNotFound = func(keys ...string) error {
switch {
case len(keys) == 1:
Expand All @@ -49,52 +53,64 @@ var (
}
}

// ErrCassandraGetOperationFailed represents a function to generate an error of fetch key failed.
ErrCassandraGetOperationFailed = func(key string, err error) error {
return Wrapf(err, "error failed to fetch key (%s)", key)
}

// ErrCassandraSetOperationFailed represents a function to generate an error of set key failed.
ErrCassandraSetOperationFailed = func(key string, err error) error {
return Wrapf(err, "error failed to set key (%s)", key)
}

// ErrCassandraDeleteOperationFailed represents a function to generate an error of delete key failed.
ErrCassandraDeleteOperationFailed = func(key string, err error) error {
return Wrapf(err, "error failed to delete key (%s)", key)
}

// ErrCassandraHostDownDetected represents a function to generate an error of cassandra host down detected.
ErrCassandraHostDownDetected = func(err error, nodeInfo string) error {
return Wrapf(err, "error cassandra host down detected\t%s", nodeInfo)
}
)

// ErrCassandraNotFoundIdentity represents custom error for cassandra not found.
type ErrCassandraNotFoundIdentity struct {
err error
}

// Error returns string of internal error.
func (e *ErrCassandraNotFoundIdentity) Error() string {
return e.err.Error()
}

// Unwrap returns an internal error.
func (e *ErrCassandraNotFoundIdentity) Unwrap() error {
return e.err
}

// IsErrCassandraNotFound reports whether any error in err's chain matches ErrCassandraNotFound.
func IsErrCassandraNotFound(err error) bool {
target := new(ErrCassandraNotFoundIdentity)
return As(err, &target)
}

// ErrCassandraUnavailableIdentity represents custom error for cassandra unavailable.
type ErrCassandraUnavailableIdentity struct {
err error
}

// Error returns string of internal error.
func (e *ErrCassandraUnavailableIdentity) Error() string {
return e.err.Error()
}

// Unwrap returns internal error.
func (e *ErrCassandraUnavailableIdentity) Unwrap() error {
return e.err
}

// IsErrCassandraUnavailable reports whether any error in err's chain matches ErrCassandraUnavailableIdentity.
func IsErrCassandraUnavailable(err error) bool {
target := new(ErrCassandraUnavailableIdentity)
return As(err, &target)
Expand Down
Loading

0 comments on commit 2696dd3

Please sign in to comment.