FIx shared structs + add better debugging/linting (#379)

* fix: Fixes issues w/ shared pointers to structs (#378)
* feat: Adds even better debugging and linting support (#376)

This is a #PATCH release.
This commit is contained in:
Harrison (Harry) Cramer
2024-09-16 17:06:40 -04:00
committed by GitHub
parent c3d7f26e3c
commit 5c9b88db4f
31 changed files with 191 additions and 155 deletions

View File

@@ -32,7 +32,7 @@ func TestListMergeRequestByUsername(t *testing.T) {
request := makeRequest(t, http.MethodPost, "/merge_requests_by_username", testListMrsByUsernamePayload)
svc := middleware(
mergeRequestListerByUsernameService{testProjectData, fakeMergeRequestListerByUsername{}},
withPayloadValidation(methodToPayload{http.MethodPost: &MergeRequestByUsernameRequest{}}),
withPayloadValidation(methodToPayload{http.MethodPost: newPayload[MergeRequestByUsernameRequest]}),
withMethodCheck(http.MethodPost),
)
data := getSuccessData(t, svc, request)
@@ -43,7 +43,7 @@ func TestListMergeRequestByUsername(t *testing.T) {
request := makeRequest(t, http.MethodPost, "/merge_requests_by_username", testListMrsByUsernamePayload)
svc := middleware(
mergeRequestListerByUsernameService{testProjectData, fakeMergeRequestListerByUsername{emptyResponse: true}},
withPayloadValidation(methodToPayload{http.MethodPost: &MergeRequestByUsernameRequest{}}),
withPayloadValidation(methodToPayload{http.MethodPost: newPayload[MergeRequestByUsernameRequest]}),
withMethodCheck(http.MethodPost),
)
data, status := getFailData(t, svc, request)
@@ -58,7 +58,7 @@ func TestListMergeRequestByUsername(t *testing.T) {
request := makeRequest(t, http.MethodPost, "/merge_requests_by_username", missingUsernamePayload)
svc := middleware(
mergeRequestListerByUsernameService{testProjectData, fakeMergeRequestListerByUsername{}},
withPayloadValidation(methodToPayload{http.MethodPost: &MergeRequestByUsernameRequest{}}),
withPayloadValidation(methodToPayload{http.MethodPost: newPayload[MergeRequestByUsernameRequest]}),
withMethodCheck(http.MethodPost),
)
data, status := getFailData(t, svc, request)
@@ -73,7 +73,7 @@ func TestListMergeRequestByUsername(t *testing.T) {
request := makeRequest(t, http.MethodPost, "/merge_requests_by_username", missingUsernamePayload)
svc := middleware(
mergeRequestListerByUsernameService{testProjectData, fakeMergeRequestListerByUsername{}},
withPayloadValidation(methodToPayload{http.MethodPost: &MergeRequestByUsernameRequest{}}),
withPayloadValidation(methodToPayload{http.MethodPost: newPayload[MergeRequestByUsernameRequest]}),
withMethodCheck(http.MethodPost),
)
data, status := getFailData(t, svc, request)
@@ -86,12 +86,12 @@ func TestListMergeRequestByUsername(t *testing.T) {
request := makeRequest(t, http.MethodPost, "/merge_requests_by_username", testListMrsByUsernamePayload)
svc := middleware(
mergeRequestListerByUsernameService{testProjectData, fakeMergeRequestListerByUsername{testBase: testBase{errFromGitlab: true}}},
withPayloadValidation(methodToPayload{http.MethodPost: &MergeRequestByUsernameRequest{}}),
withPayloadValidation(methodToPayload{http.MethodPost: newPayload[MergeRequestByUsernameRequest]}),
withMethodCheck(http.MethodPost),
)
data, status := getFailData(t, svc, request)
assert(t, data.Message, "An error occurred")
assert(t, data.Details, strings.Repeat("Some error from Gitlab; ", 3))
assert(t, data.Details, strings.Repeat("some error from Gitlab; ", 3))
assert(t, status, http.StatusInternalServerError)
})
@@ -99,7 +99,7 @@ func TestListMergeRequestByUsername(t *testing.T) {
request := makeRequest(t, http.MethodPost, "/merge_requests_by_username", testListMrsByUsernamePayload)
svc := middleware(
mergeRequestListerByUsernameService{testProjectData, fakeMergeRequestListerByUsername{testBase: testBase{status: http.StatusSeeOther}}},
withPayloadValidation(methodToPayload{http.MethodPost: &MergeRequestByUsernameRequest{}}),
withPayloadValidation(methodToPayload{http.MethodPost: newPayload[MergeRequestByUsernameRequest]}),
withMethodCheck(http.MethodPost),
)
data, status := getFailData(t, svc, request)