Sitelet https://github.com/harrisoncramer/gitlab.nvim/commit/dd61c412addc5e3a36374a8882c8be048219131d
Skip to content

Commit dd61c41

Browse files
committed
refactor: rename details to error in ErrorResponse
"error" states what the field holds, which reads better on the Lua side where it gates the on_error callback. This changes the wire format, so a response carrying the old key is still accepted, with a warning to rebuild, for users who supply their own binary via server.binary_provided.
1 parent 18d3597 commit dd61c41

14 files changed

Lines changed: 57 additions & 44 deletions

‎cmd/app/client.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ func handleError(w http.ResponseWriter, err error, message string, status int) {
131131
w.WriteHeader(status)
132132
response := ErrorResponse{
133133
Message: message,
134-
Details: err.Error(),
134+
Error: err.Error(),
135135
}
136136

137137
err = json.NewEncoder(w).Encode(response)

‎cmd/app/create_mr_test.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func TestCreateMr(t *testing.T) {
7171
)
7272
data, _ := getFailData(t, svc, request)
7373
assert(t, data.Message, "Invalid payload")
74-
assert(t, data.Details, "Title is required")
74+
assert(t, data.Error, "Title is required")
7575
})
7676

7777
t.Run("Handles missing target branch", func(t *testing.T) {
@@ -85,6 +85,6 @@ func TestCreateMr(t *testing.T) {
8585
)
8686
data, _ := getFailData(t, svc, request)
8787
assert(t, data.Message, "Invalid payload")
88-
assert(t, data.Details, "TargetBranch is required")
88+
assert(t, data.Error, "TargetBranch is required")
8989
})
9090
}

‎cmd/app/draft_notes_test.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ func TestEditDraftNote(t *testing.T) {
184184
)
185185
data, status := getFailData(t, svc, request)
186186
assert(t, data.Message, "Invalid payload")
187-
assert(t, data.Details, "Note is required")
187+
assert(t, data.Error, "Note is required")
188188
assert(t, status, http.StatusBadRequest)
189189
})
190190
}

‎cmd/app/list_discussions_test.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,6 @@ func TestListDiscussions(t *testing.T) {
137137
)
138138
data, _ := getFailData(t, svc, request)
139139
assert(t, data.Message, "Could not fetch emojis")
140-
assert(t, data.Details, "Some error from emoji service")
140+
assert(t, data.Error, "Some error from emoji service")
141141
})
142142
}

‎cmd/app/merge_requests_by_username_test.go‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func TestListMergeRequestByUsername(t *testing.T) {
4848
)
4949
data, status := getFailData(t, svc, request)
5050
assert(t, data.Message, "No MRs found")
51-
assert(t, data.Details, "hcramer did not have any MRs")
51+
assert(t, data.Error, "hcramer did not have any MRs")
5252
assert(t, status, http.StatusNotFound)
5353
})
5454

@@ -63,7 +63,7 @@ func TestListMergeRequestByUsername(t *testing.T) {
6363
)
6464
data, status := getFailData(t, svc, request)
6565
assert(t, data.Message, "Invalid payload")
66-
assert(t, data.Details, "Username is required")
66+
assert(t, data.Error, "Username is required")
6767
assert(t, status, http.StatusBadRequest)
6868
})
6969

@@ -78,7 +78,7 @@ func TestListMergeRequestByUsername(t *testing.T) {
7878
)
7979
data, status := getFailData(t, svc, request)
8080
assert(t, data.Message, "Invalid payload")
81-
assert(t, data.Details, "UserId is required")
81+
assert(t, data.Error, "UserId is required")
8282
assert(t, status, http.StatusBadRequest)
8383
})
8484

@@ -91,7 +91,7 @@ func TestListMergeRequestByUsername(t *testing.T) {
9191
)
9292
data, status := getFailData(t, svc, request)
9393
assert(t, data.Message, "An error occurred")
94-
assert(t, data.Details, strings.Repeat("some error from Gitlab; ", 3))
94+
assert(t, data.Error, strings.Repeat("some error from Gitlab; ", 3))
9595
assert(t, status, http.StatusInternalServerError)
9696
})
9797

@@ -104,7 +104,7 @@ func TestListMergeRequestByUsername(t *testing.T) {
104104
)
105105
data, status := getFailData(t, svc, request)
106106
assert(t, data.Message, "An error occurred")
107-
assert(t, data.Details, strings.Repeat("An error occurred on the /merge_requests_by_username endpoint; ", 3))
107+
assert(t, data.Error, strings.Repeat("An error occurred on the /merge_requests_by_username endpoint; ", 3))
108108
assert(t, status, http.StatusInternalServerError)
109109
})
110110
}

‎cmd/app/mergeability_checks_test.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,6 @@ func TestMergeabilityChecksHandler(t *testing.T) {
116116
)
117117
data, _ := getFailData(t, svc, request)
118118
assert(t, data.Message, "Could not get mergeability checks")
119-
assert(t, data.Details, "failed to fetch mergeability checks: "+errorFromGitlab.Error())
119+
assert(t, data.Error, "failed to fetch mergeability checks: "+errorFromGitlab.Error())
120120
})
121121
}

‎cmd/app/middleware_test.go‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func TestMethodMiddleware(t *testing.T) {
2929
handler := middleware(fakeHandler{}, mw)
3030
data, status := getFailData(t, handler, request)
3131
assert(t, data.Message, "Invalid request type")
32-
assert(t, data.Details, "Expected: POST")
32+
assert(t, data.Error, "Expected: POST")
3333
assert(t, status, http.StatusMethodNotAllowed)
3434
})
3535
t.Run("Fails bad method with multiple", func(t *testing.T) {
@@ -38,7 +38,7 @@ func TestMethodMiddleware(t *testing.T) {
3838
handler := middleware(fakeHandler{}, mw)
3939
data, status := getFailData(t, handler, request)
4040
assert(t, data.Message, "Invalid request type")
41-
assert(t, data.Details, "Expected: POST; PATCH")
41+
assert(t, data.Error, "Expected: POST; PATCH")
4242
assert(t, status, http.StatusMethodNotAllowed)
4343
})
4444
t.Run("Allows ok method through", func(t *testing.T) {
@@ -75,7 +75,7 @@ func TestWithMrMiddleware(t *testing.T) {
7575
data, status := getFailData(t, handler, request)
7676
assert(t, status, http.StatusNotFound)
7777
assert(t, data.Message, "No MRs Found")
78-
assert(t, data.Details, "branch 'foo' does not have any merge requests")
78+
assert(t, data.Error, "branch 'foo' does not have any merge requests")
7979
})
8080
t.Run("Handles when there are too many MRs", func(t *testing.T) {
8181
request := makeRequest(t, http.MethodGet, "/foo", nil)
@@ -88,7 +88,7 @@ func TestWithMrMiddleware(t *testing.T) {
8888
data, status := getFailData(t, handler, request)
8989
assert(t, status, http.StatusBadRequest)
9090
assert(t, data.Message, "Multiple MRs found")
91-
assert(t, data.Details, "please call gitlab.choose_merge_request()")
91+
assert(t, data.Error, "please call gitlab.choose_merge_request()")
9292
})
9393
}
9494

@@ -100,7 +100,7 @@ func TestValidatorMiddleware(t *testing.T) {
100100
withPayloadValidation(methodToPayload{http.MethodPost: newPayload[FakePayload]}),
101101
), request)
102102
assert(t, data.Message, "Invalid payload")
103-
assert(t, data.Details, "Foo is required")
103+
assert(t, data.Error, "Foo is required")
104104
assert(t, status, http.StatusBadRequest)
105105
})
106106
t.Run("Should allow valid payload through", func(t *testing.T) {
@@ -128,7 +128,7 @@ func TestValidatorMiddleware(t *testing.T) {
128128
)
129129
data, status := getFailData(t, svc, request)
130130
assert(t, data.Message, "Invalid payload")
131-
assert(t, data.Details, "Start is required; End is required")
131+
assert(t, data.Error, "Start is required; End is required")
132132
assert(t, status, http.StatusBadRequest)
133133
})
134134
t.Run("Should reject a missing line_range when FileName is set", func(t *testing.T) {
@@ -148,7 +148,7 @@ func TestValidatorMiddleware(t *testing.T) {
148148
)
149149
data, status := getFailData(t, svc, request)
150150
assert(t, data.Message, "Invalid payload")
151-
assert(t, data.Details, "The field 'LineRange' failed on validation on the 'required_with' tag")
151+
assert(t, data.Error, "The field 'LineRange' failed on validation on the 'required_with' tag")
152152
assert(t, status, http.StatusBadRequest)
153153
})
154154
t.Run("Should allow a missing line_range when there is no FileName (unlinked comment)", func(t *testing.T) {

‎cmd/app/resolve_discussion_test.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func TestResolveDiscussion(t *testing.T) {
6464
request := makeRequest(t, http.MethodPut, "/mr/discussions/resolve", payload)
6565
data, status := getFailData(t, svc, request)
6666
assert(t, data.Message, "Invalid payload")
67-
assert(t, data.Details, "DiscussionID is required")
67+
assert(t, data.Error, "DiscussionID is required")
6868
assert(t, status, http.StatusBadRequest)
6969
})
7070

@@ -78,7 +78,7 @@ func TestResolveDiscussion(t *testing.T) {
7878
request := makeRequest(t, http.MethodPut, "/mr/discussions/resolve", testResolveMergeRequestPayload)
7979
data, status := getFailData(t, svc, request)
8080
assert(t, data.Message, "Could not resolve discussion")
81-
assert(t, data.Details, "some error from Gitlab")
81+
assert(t, data.Error, "some error from Gitlab")
8282
assert(t, status, http.StatusInternalServerError)
8383
})
8484
}

‎cmd/app/response_types.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66

77
type ErrorResponse struct {
88
Message string `json:"message"`
9-
Details string `json:"details"`
9+
Error string `json:"error"`
1010
}
1111

1212
type SuccessResponse struct {

‎cmd/app/test_helpers.go‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,13 @@ func (f *testBase) handleGitlabError() (*gitlab.Response, error) {
105105
func checkErrorFromGitlab(t *testing.T, data ErrorResponse, msg string) {
106106
t.Helper()
107107
assert(t, data.Message, msg)
108-
assert(t, data.Details, errorFromGitlab.Error())
108+
assert(t, data.Error, errorFromGitlab.Error())
109109
}
110110

111111
func checkNon200(t *testing.T, data ErrorResponse, msg, endpoint string) {
112112
t.Helper()
113113
assert(t, data.Message, msg)
114-
assert(t, data.Details, fmt.Sprintf("An error occurred on the %s endpoint", endpoint))
114+
assert(t, data.Error, fmt.Sprintf("An error occurred on the %s endpoint", endpoint))
115115
}
116116

117117
type FakeGitManager struct {

0 commit comments

Comments
 (0)