feat(workspace): migration 0003 + errs codes for workspace/worktree/git

This commit is contained in:
2026-05-01 19:26:18 +08:00
parent 81718e53f9
commit 719968ee26
4 changed files with 115 additions and 13 deletions
+22 -12
View File
@@ -29,18 +29,28 @@ func TestWrap_PreservesCause(t *testing.T) {
func TestHTTPStatus(t *testing.T) {
cases := map[Code]int{
CodeInvalidInput: http.StatusBadRequest,
CodeUnauthorized: http.StatusUnauthorized,
CodeForbidden: http.StatusForbidden,
CodeNotFound: http.StatusNotFound,
CodeConflict: http.StatusConflict,
CodeProjectSlugTaken: http.StatusConflict,
CodeProjectArchived: http.StatusConflict,
CodeRequirementClosed: http.StatusConflict,
CodeRateLimited: http.StatusTooManyRequests,
CodeUpstream: http.StatusBadGateway,
CodeUnavailable: http.StatusServiceUnavailable,
CodeInternal: http.StatusInternalServerError,
CodeInvalidInput: http.StatusBadRequest,
CodeUnauthorized: http.StatusUnauthorized,
CodeForbidden: http.StatusForbidden,
CodeNotFound: http.StatusNotFound,
CodeConflict: http.StatusConflict,
CodeProjectSlugTaken: http.StatusConflict,
CodeProjectArchived: http.StatusConflict,
CodeRequirementClosed: http.StatusConflict,
CodeRateLimited: http.StatusTooManyRequests,
CodeUpstream: http.StatusBadGateway,
CodeUnavailable: http.StatusServiceUnavailable,
CodeInternal: http.StatusInternalServerError,
CodeWorkspaceSlugTaken: http.StatusConflict,
CodeWorkspaceSyncInProgress: http.StatusConflict,
CodeWorktreeBranchConflict: http.StatusConflict,
CodeWorktreeAlreadyActive: http.StatusConflict,
CodeWorkspaceCloneFailed: http.StatusBadGateway,
CodeGitCmdFailed: http.StatusBadGateway,
CodeWorkspaceRemoteInvalid: http.StatusBadRequest,
CodeWorktreePathInvalid: http.StatusBadRequest,
CodeGitCredentialInvalid: http.StatusBadRequest,
CodeWorktreeNotHeldByCaller: http.StatusForbidden,
}
for code, want := range cases {
require.Equal(t, want, HTTPStatus(code), "code=%s", code)