Skip to content

Commit dba6222

Browse files
committed
test: update metadata deletion tests to use Expect for improved readability and error handling
1 parent b24dd41 commit dba6222

13 files changed

+40
-46
lines changed

internal/api/common/errors.go

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,28 @@ const (
3030
ErrScriptMetadataOverride = "METADATA_OVERRIDE"
3131
)
3232

33-
func HandleCommonErrors(w http.ResponseWriter, r *http.Request, err error) {
33+
// HandleCommonWriteErrors gère spécifiquement les erreurs liées aux opérations d'écriture
34+
// telles que les erreurs d'idempotence
35+
func HandleCommonWriteErrors(w http.ResponseWriter, r *http.Request, err error) {
3436
switch {
35-
case errors.Is(err, postgres.ErrTooManyClient{}):
36-
api.WriteErrorResponse(w, http.StatusServiceUnavailable, api.ErrorInternal, err)
3737
case errors.Is(err, ledgercontroller.ErrIdempotencyKeyConflict{}):
3838
api.WriteErrorResponse(w, http.StatusConflict, ErrConflict, err)
3939
case errors.Is(err, ledgercontroller.ErrInvalidIdempotencyInput{}):
4040
api.BadRequest(w, ErrValidation, err)
41+
case errors.Is(err, ledgercontroller.ErrTransactionReferenceConflict{}):
42+
api.WriteErrorResponse(w, http.StatusConflict, ErrConflict, err)
43+
case errors.Is(err, ledgercontroller.ErrNotFound):
44+
api.NotFound(w, err)
45+
default:
46+
HandleCommonErrors(w, r, err)
47+
}
48+
}
49+
50+
// HandleCommonErrors gère les erreurs communes plus générales
51+
func HandleCommonErrors(w http.ResponseWriter, r *http.Request, err error) {
52+
switch {
53+
case errors.Is(err, postgres.ErrTooManyClient{}):
54+
api.WriteErrorResponse(w, http.StatusServiceUnavailable, api.ErrorInternal, err)
4155
default:
4256
InternalServerError(w, r, err)
4357
}

internal/api/v1/controllers_accounts_add_metadata.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func addAccountMetadata(w http.ResponseWriter, r *http.Request) {
4040
Metadata: m,
4141
}))
4242
if err != nil {
43-
common.HandleCommonErrors(w, r, err)
43+
common.HandleCommonWriteErrors(w, r, err)
4444
return
4545
}
4646

internal/api/v1/controllers_accounts_delete_metadata.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func deleteAccountMetadata(w http.ResponseWriter, r *http.Request) {
2626
Key: chi.URLParam(r, "key"),
2727
}),
2828
); err != nil {
29-
common.HandleCommonErrors(w, r, err)
29+
common.HandleCommonWriteErrors(w, r, err)
3030
return
3131
}
3232

internal/api/v1/controllers_transactions_add_metadata.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func addTransactionMetadata(w http.ResponseWriter, r *http.Request) {
3737
if errors.Is(err, ledgercontroller.ErrNotFound) {
3838
api.NotFound(w, err)
3939
} else {
40-
common.HandleCommonErrors(w, r, err)
40+
common.HandleCommonWriteErrors(w, r, err)
4141
}
4242
return
4343
}

internal/api/v1/controllers_transactions_create.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ func createTransaction(w http.ResponseWriter, r *http.Request) {
9898
case errors.Is(err, ledgercontroller.ErrTransactionReferenceConflict{}):
9999
api.WriteErrorResponse(w, http.StatusConflict, common.ErrConflict, err)
100100
default:
101-
common.HandleCommonErrors(w, r, err)
101+
common.HandleCommonWriteErrors(w, r, err)
102102
}
103103
return
104104
}
@@ -132,7 +132,7 @@ func createTransaction(w http.ResponseWriter, r *http.Request) {
132132
case errors.Is(err, ledgercontroller.ErrTransactionReferenceConflict{}):
133133
api.WriteErrorResponse(w, http.StatusConflict, common.ErrConflict, err)
134134
default:
135-
common.HandleCommonErrors(w, r, err)
135+
common.HandleCommonWriteErrors(w, r, err)
136136
}
137137
return
138138
}

internal/api/v1/controllers_transactions_delete_metadata.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,7 @@ func deleteTransactionMetadata(w http.ResponseWriter, r *http.Request) {
2828
TransactionID: int(transactionID),
2929
Key: metadataKey,
3030
})); err != nil {
31-
if errors.Is(err, ledgercontroller.ErrNotFound) {
32-
api.NotFound(w, err)
33-
} else {
34-
common.HandleCommonErrors(w, r, err)
35-
}
31+
common.HandleCommonWriteErrors(w, r, err)
3632
return
3733
}
3834

internal/api/v2/controllers_accounts_add_metadata.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func addAccountMetadata(w http.ResponseWriter, r *http.Request) {
4141
Metadata: m,
4242
}))
4343
if err != nil {
44-
common.HandleCommonErrors(w, r, err)
44+
common.HandleCommonWriteErrors(w, r, err)
4545
return
4646
}
4747

internal/api/v2/controllers_accounts_delete_metadata.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func deleteAccountMetadata(w http.ResponseWriter, r *http.Request) {
2727
Key: chi.URLParam(r, "key"),
2828
}),
2929
); err != nil {
30-
common.HandleCommonErrors(w, r, err)
30+
common.HandleCommonWriteErrors(w, r, err)
3131
return
3232
}
3333

internal/api/v2/controllers_transactions_add_metadata.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,7 @@ func addTransactionMetadata(w http.ResponseWriter, r *http.Request) {
3434
TransactionID: int(txID),
3535
Metadata: m,
3636
})); err != nil {
37-
if errors.Is(err, ledgercontroller.ErrNotFound) {
38-
api.NotFound(w, err)
39-
} else {
40-
common.HandleCommonErrors(w, r, err)
41-
}
37+
common.HandleCommonWriteErrors(w, r, err)
4238
return
4339
}
4440

internal/api/v2/controllers_transactions_create.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,12 @@ func createTransaction(w http.ResponseWriter, r *http.Request) {
5050
api.BadRequest(w, common.ErrMetadataOverride, err)
5151
case errors.Is(err, ledgercontroller.ErrNoPostings):
5252
api.BadRequest(w, common.ErrNoPostings, err)
53-
case errors.Is(err, ledgercontroller.ErrTransactionReferenceConflict{}):
54-
api.WriteErrorResponse(w, http.StatusConflict, common.ErrConflict, err)
5553
case errors.Is(err, ledgercontroller.ErrParsing{}):
5654
api.BadRequest(w, common.ErrInterpreterParse, err)
5755
case errors.Is(err, ledgercontroller.ErrRuntime{}):
5856
api.BadRequest(w, common.ErrInterpreterRuntime, err)
5957
default:
60-
common.HandleCommonErrors(w, r, err)
58+
common.HandleCommonWriteErrors(w, r, err)
6159
}
6260
return
6361
}

0 commit comments

Comments
 (0)