summaryrefslogtreecommitdiff
path: root/internal/api
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-08-02 17:21:46 +0200
committerLibravatar GitHub <noreply@github.com>2023-08-02 17:21:46 +0200
commite8a20f587c0b0129bc68f5c6092c54f2b4c3519a (patch)
tree3677b4abec2cabf3b5042115ba76505daf5fddf3 /internal/api
parent[bugfix] fix slow accounts / statuses using emojis lookups (#2056) (diff)
downloadgotosocial-e8a20f587c0b0129bc68f5c6092c54f2b4c3519a.tar.xz
[bugfix] Rework MultiError to wrap + unwrap errors properly (#2057)
* rework multierror a bit * test multierror
Diffstat (limited to 'internal/api')
-rw-r--r--internal/api/activitypub/users/inboxpost_test.go7
-rw-r--r--internal/api/client/accounts/accountupdate_test.go6
-rw-r--r--internal/api/client/accounts/lists_test.go7
-rw-r--r--internal/api/client/accounts/search_test.go7
-rw-r--r--internal/api/client/admin/reportresolve_test.go7
-rw-r--r--internal/api/client/admin/reportsget_test.go7
-rw-r--r--internal/api/client/lists/listaccounts_test.go7
-rw-r--r--internal/api/client/reports/reportcreate_test.go7
-rw-r--r--internal/api/client/reports/reportget_test.go7
-rw-r--r--internal/api/client/search/searchget_test.go7
-rw-r--r--internal/api/client/statuses/statuspin_test.go15
-rw-r--r--internal/api/client/statuses/statusunpin_test.go15
12 files changed, 44 insertions, 55 deletions
diff --git a/internal/api/activitypub/users/inboxpost_test.go b/internal/api/activitypub/users/inboxpost_test.go
index c5027f342..d26dae513 100644
--- a/internal/api/activitypub/users/inboxpost_test.go
+++ b/internal/api/activitypub/users/inboxpost_test.go
@@ -22,7 +22,6 @@ import (
"context"
"encoding/json"
"errors"
- "fmt"
"io"
"net/http"
"net/http/httptest"
@@ -105,16 +104,16 @@ func (suite *InboxPostTestSuite) inboxPost(
suite.FailNow(err.Error())
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
// Check expected code + body.
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d", expectedHTTPStatus, resultCode))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
// If we got an expected body, return early.
if expectedBody != "" && string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
if err := errs.Combine(); err != nil {
diff --git a/internal/api/client/accounts/accountupdate_test.go b/internal/api/client/accounts/accountupdate_test.go
index 01d12ab27..835989037 100644
--- a/internal/api/client/accounts/accountupdate_test.go
+++ b/internal/api/client/accounts/accountupdate_test.go
@@ -90,16 +90,16 @@ func (suite *AccountUpdateTestSuite) updateAccount(
return nil, err
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
// Check expected code + body.
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d", expectedHTTPStatus, resultCode))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
// If we got an expected body, return early.
if expectedBody != "" && string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
if err := errs.Combine(); err != nil {
diff --git a/internal/api/client/accounts/lists_test.go b/internal/api/client/accounts/lists_test.go
index 6984d6ef8..637babc35 100644
--- a/internal/api/client/accounts/lists_test.go
+++ b/internal/api/client/accounts/lists_test.go
@@ -19,7 +19,6 @@ package accounts_test
import (
"encoding/json"
- "fmt"
"io"
"net/http"
"net/http/httptest"
@@ -63,16 +62,16 @@ func (suite *ListsTestSuite) getLists(targetAccountID string, expectedHTTPStatus
suite.FailNow(err.Error())
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
// Check expected code + body.
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d", expectedHTTPStatus, resultCode))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
// If we got an expected body, return early.
if expectedBody != "" && string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
if err := errs.Combine(); err != nil {
diff --git a/internal/api/client/accounts/search_test.go b/internal/api/client/accounts/search_test.go
index 7d778f090..119900331 100644
--- a/internal/api/client/accounts/search_test.go
+++ b/internal/api/client/accounts/search_test.go
@@ -19,7 +19,6 @@ package accounts_test
import (
"encoding/json"
- "fmt"
"io"
"net/http"
"net/http/httptest"
@@ -99,16 +98,16 @@ func (suite *AccountSearchTestSuite) getSearch(
suite.FailNow(err.Error())
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
// Check expected code + body.
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d", expectedHTTPStatus, resultCode))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
// If we got an expected body, return early.
if expectedBody != "" && string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
if err := errs.Combine(); err != nil {
diff --git a/internal/api/client/admin/reportresolve_test.go b/internal/api/client/admin/reportresolve_test.go
index 691ba1f38..754dbb443 100644
--- a/internal/api/client/admin/reportresolve_test.go
+++ b/internal/api/client/admin/reportresolve_test.go
@@ -19,7 +19,6 @@ package admin_test
import (
"encoding/json"
- "fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
@@ -84,16 +83,16 @@ func (suite *ReportResolveTestSuite) resolveReport(
return nil, err
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d", expectedHTTPStatus, resultCode))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
// if we got an expected body, return early
if expectedBody != "" {
if string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
return nil, errs.Combine()
}
diff --git a/internal/api/client/admin/reportsget_test.go b/internal/api/client/admin/reportsget_test.go
index fae21dc07..4f29aa872 100644
--- a/internal/api/client/admin/reportsget_test.go
+++ b/internal/api/client/admin/reportsget_test.go
@@ -19,7 +19,6 @@ package admin_test
import (
"encoding/json"
- "fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
@@ -101,16 +100,16 @@ func (suite *ReportsGetTestSuite) getReports(
return nil, "", err
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d", expectedHTTPStatus, resultCode))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
// if we got an expected body, return early
if expectedBody != "" {
if string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
return nil, "", errs.Combine()
}
diff --git a/internal/api/client/lists/listaccounts_test.go b/internal/api/client/lists/listaccounts_test.go
index 64e9ef768..bbd187f7d 100644
--- a/internal/api/client/lists/listaccounts_test.go
+++ b/internal/api/client/lists/listaccounts_test.go
@@ -19,7 +19,6 @@ package lists_test
import (
"encoding/json"
- "fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
@@ -103,17 +102,17 @@ func (suite *ListAccountsTestSuite) getListAccounts(
return nil, "", err
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
// check code + body
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d", expectedHTTPStatus, resultCode))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
// if we got an expected body, return early
if expectedBody != "" {
if string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
return nil, "", errs.Combine()
}
diff --git a/internal/api/client/reports/reportcreate_test.go b/internal/api/client/reports/reportcreate_test.go
index 672a7a63b..e17695cb9 100644
--- a/internal/api/client/reports/reportcreate_test.go
+++ b/internal/api/client/reports/reportcreate_test.go
@@ -19,7 +19,6 @@ package reports_test
import (
"encoding/json"
- "fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
@@ -77,17 +76,17 @@ func (suite *ReportCreateTestSuite) createReport(expectedHTTPStatus int, expecte
return nil, err
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
// check code + body
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d", expectedHTTPStatus, resultCode))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
// if we got an expected body, return early
if expectedBody != "" {
if string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
return nil, errs.Combine()
}
diff --git a/internal/api/client/reports/reportget_test.go b/internal/api/client/reports/reportget_test.go
index b3de34053..e29836b6a 100644
--- a/internal/api/client/reports/reportget_test.go
+++ b/internal/api/client/reports/reportget_test.go
@@ -19,7 +19,6 @@ package reports_test
import (
"encoding/json"
- "fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
@@ -64,17 +63,17 @@ func (suite *ReportGetTestSuite) getReport(expectedHTTPStatus int, expectedBody
return nil, err
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
// check code + body
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d", expectedHTTPStatus, resultCode))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
// if we got an expected body, return early
if expectedBody != "" {
if string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
return nil, errs.Combine()
}
diff --git a/internal/api/client/search/searchget_test.go b/internal/api/client/search/searchget_test.go
index e811dd329..2a6911430 100644
--- a/internal/api/client/search/searchget_test.go
+++ b/internal/api/client/search/searchget_test.go
@@ -22,7 +22,6 @@ import (
"crypto/rand"
"crypto/rsa"
"encoding/json"
- "fmt"
"io"
"net/http"
"net/http/httptest"
@@ -122,16 +121,16 @@ func (suite *SearchGetTestSuite) getSearch(
suite.FailNow(err.Error())
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
// Check expected code + body.
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d: %v", expectedHTTPStatus, resultCode, ctx.Errors.JSON()))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
// If we got an expected body, return early.
if expectedBody != "" && string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
if err := errs.Combine(); err != nil {
diff --git a/internal/api/client/statuses/statuspin_test.go b/internal/api/client/statuses/statuspin_test.go
index 66ad1a2ee..c7ed6e95d 100644
--- a/internal/api/client/statuses/statuspin_test.go
+++ b/internal/api/client/statuses/statuspin_test.go
@@ -20,7 +20,6 @@ package statuses_test
import (
"context"
"encoding/json"
- "fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
@@ -74,20 +73,20 @@ func (suite *StatusPinTestSuite) createPin(
return nil, err
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
- // check code + body
+ // Check expected code + body.
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d", expectedHTTPStatus, resultCode))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
- // if we got an expected body, return early
+ // If we got an expected body, return early.
if expectedBody != "" && string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
- if len(errs) > 0 {
- return nil, errs.Combine()
+ if err := errs.Combine(); err != nil {
+ suite.FailNow("", "%v (body %s)", err, string(b))
}
resp := &apimodel.Status{}
diff --git a/internal/api/client/statuses/statusunpin_test.go b/internal/api/client/statuses/statusunpin_test.go
index bc68a2ca3..9f6602b98 100644
--- a/internal/api/client/statuses/statusunpin_test.go
+++ b/internal/api/client/statuses/statusunpin_test.go
@@ -19,7 +19,6 @@ package statuses_test
import (
"encoding/json"
- "fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
@@ -68,20 +67,20 @@ func (suite *StatusUnpinTestSuite) createUnpin(
return nil, err
}
- errs := gtserror.MultiError{}
+ errs := gtserror.NewMultiError(2)
- // check code + body
+ // Check expected code + body.
if resultCode := recorder.Code; expectedHTTPStatus != resultCode {
- errs = append(errs, fmt.Sprintf("expected %d got %d", expectedHTTPStatus, resultCode))
+ errs.Appendf("expected %d got %d", expectedHTTPStatus, resultCode)
}
- // if we got an expected body, return early
+ // If we got an expected body, return early.
if expectedBody != "" && string(b) != expectedBody {
- errs = append(errs, fmt.Sprintf("expected %s got %s", expectedBody, string(b)))
+ errs.Appendf("expected %s got %s", expectedBody, string(b))
}
- if len(errs) > 0 {
- return nil, errs.Combine()
+ if err := errs.Combine(); err != nil {
+ suite.FailNow("", "%v (body %s)", err, string(b))
}
resp := &apimodel.Status{}