Edit error messages

Signed-off-by: Vartan Benohanian <vartanbeno@gmail.com>
This commit is contained in:
Vartan Benohanian 2020-09-29 13:40:34 -04:00
parent 6f79da6e35
commit 022cfd5cb1
18 changed files with 43 additions and 49 deletions

View file

@ -106,7 +106,7 @@ func (s *CollectionService) FromSubreddit(ctx context.Context, id string) ([]*Co
// Create a collection.
func (s *CollectionService) Create(ctx context.Context, createRequest *CollectionCreateRequest) (*Collection, *Response, error) {
if createRequest == nil {
return nil, nil, errors.New("createRequest: cannot be nil")
return nil, nil, errors.New("*CollectionCreateRequest: cannot be nil")
}
path := "api/v1/collections/create_collection"

View file

@ -144,7 +144,7 @@ func TestCollectionService_Create(t *testing.T) {
})
_, _, err = client.Collection.Create(ctx, nil)
require.EqualError(t, err, "createRequest: cannot be nil")
require.EqualError(t, err, "*CollectionCreateRequest: cannot be nil")
collection, _, err := client.Collection.Create(ctx, &CollectionCreateRequest{
Title: "Test Title",

View file

@ -69,7 +69,7 @@ func (s *CommentService) Edit(ctx context.Context, id string, text string) (*Com
// LoadMoreReplies retrieves more replies that were left out when initially fetching the comment.
func (s *CommentService) LoadMoreReplies(ctx context.Context, comment *Comment) (*Response, error) {
if comment == nil {
return nil, errors.New("comment: cannot be nil")
return nil, errors.New("*Comment: cannot be nil")
}
if !comment.HasMore() {

View file

@ -324,7 +324,7 @@ func TestCommentService_LoadMoreReplies(t *testing.T) {
})
_, err = client.Comment.LoadMoreReplies(ctx, nil)
require.EqualError(t, err, "comment: cannot be nil")
require.EqualError(t, err, "*Comment: cannot be nil")
resp, err := client.Comment.LoadMoreReplies(ctx, &Comment{})
require.Nil(t, resp)

View file

@ -45,9 +45,11 @@ type EmojiCreateOrUpdateRequest struct {
}
func (r *EmojiCreateOrUpdateRequest) validate() error {
// todo if r == nil { ... }
if r == nil {
return errors.New("*EmojiCreateOrUpdateRequest: cannot be nil")
}
if r.Name == "" {
return errors.New("name: cannot be empty")
return errors.New("(*EmojiCreateOrUpdateRequest).Name: cannot be empty")
}
return nil
}
@ -198,10 +200,6 @@ func (s *EmojiService) upload(ctx context.Context, subreddit string, createReque
// Upload an emoji to the subreddit.
func (s *EmojiService) Upload(ctx context.Context, subreddit string, createRequest *EmojiCreateOrUpdateRequest, imagePath string) (*Response, error) {
if createRequest == nil {
return nil, errors.New("createRequest: cannot be nil")
}
err := createRequest.validate()
if err != nil {
return nil, err
@ -257,10 +255,6 @@ func (s *EmojiService) Upload(ctx context.Context, subreddit string, createReque
// Update updates an emoji on the subreddit.
func (s *EmojiService) Update(ctx context.Context, subreddit string, updateRequest *EmojiCreateOrUpdateRequest) (*Response, error) {
if updateRequest == nil {
return nil, errors.New("updateRequest: cannot be nil")
}
err := updateRequest.validate()
if err != nil {
return nil, err

View file

@ -187,10 +187,10 @@ func TestEmojiService_Upload(t *testing.T) {
})
_, err = client.Emoji.Upload(ctx, "testsubreddit", nil, emojiFile.Name())
require.EqualError(t, err, "createRequest: cannot be nil")
require.EqualError(t, err, "*EmojiCreateOrUpdateRequest: cannot be nil")
_, err = client.Emoji.Upload(ctx, "testsubreddit", &EmojiCreateOrUpdateRequest{Name: ""}, emojiFile.Name())
require.EqualError(t, err, "name: cannot be empty")
require.EqualError(t, err, "(*EmojiCreateOrUpdateRequest).Name: cannot be empty")
_, err = client.Emoji.Upload(ctx, "testsubreddit", &EmojiCreateOrUpdateRequest{
Name: "testemoji",
@ -219,10 +219,10 @@ func TestEmojiService_Update(t *testing.T) {
})
_, err := client.Emoji.Update(ctx, "testsubreddit", nil)
require.EqualError(t, err, "updateRequest: cannot be nil")
require.EqualError(t, err, "*EmojiCreateOrUpdateRequest: cannot be nil")
_, err = client.Emoji.Update(ctx, "testsubreddit", &EmojiCreateOrUpdateRequest{Name: ""})
require.EqualError(t, err, "name: cannot be empty")
require.EqualError(t, err, "(*EmojiCreateOrUpdateRequest).Name: cannot be empty")
_, err = client.Emoji.Update(ctx, "testsubreddit", &EmojiCreateOrUpdateRequest{
Name: "testemoji",

View file

@ -50,9 +50,9 @@ type FlairChoice struct {
CSSClass string `json:"flair_css_class"`
}
// RequestConfigureFlair represents a request to configure a subreddit's flair settings.
// FlairConfigureRequest represents a request to configure a subreddit's flair settings.
// Not setting an attribute can have unexpected side effects, so assign every one just in case.
type RequestConfigureFlair struct {
type FlairConfigureRequest struct {
// Enable user flair in the subreddit.
UserFlairEnabled *bool `url:"flair_enabled,omitempty"`
// One of: left, right.
@ -196,9 +196,9 @@ func (s *FlairService) ListUserFlairs(ctx context.Context, subreddit string) ([]
}
// Configure the subreddit's flair settings.
func (s *FlairService) Configure(ctx context.Context, subreddit string, request *RequestConfigureFlair) (*Response, error) {
func (s *FlairService) Configure(ctx context.Context, subreddit string, request *FlairConfigureRequest) (*Response, error) {
if request == nil {
return nil, errors.New("request: cannot be nil")
return nil, errors.New("*FlairConfigureRequest: cannot be nil")
}
path := fmt.Sprintf("r/%s/api/flairconfig", subreddit)
@ -253,7 +253,7 @@ func (s *FlairService) Disable(ctx context.Context, subreddit string) (*Response
// It returns the created/updated flair template.
func (s *FlairService) UpsertUserTemplate(ctx context.Context, subreddit string, request *FlairTemplateCreateOrUpdateRequest) (*FlairTemplate, *Response, error) {
if request == nil {
return nil, nil, errors.New("request: cannot be nil")
return nil, nil, errors.New("*FlairTemplateCreateOrUpdateRequest: cannot be nil")
}
path := fmt.Sprintf("r/%s/api/flairtemplate_v2", subreddit)
@ -283,7 +283,7 @@ func (s *FlairService) UpsertUserTemplate(ctx context.Context, subreddit string,
// It returns the created/updated flair template.
func (s *FlairService) UpsertPostTemplate(ctx context.Context, subreddit string, request *FlairTemplateCreateOrUpdateRequest) (*FlairTemplate, *Response, error) {
if request == nil {
return nil, nil, errors.New("request: cannot be nil")
return nil, nil, errors.New("*FlairTemplateCreateOrUpdateRequest: cannot be nil")
}
path := fmt.Sprintf("r/%s/api/flairtemplate_v2", subreddit)
@ -456,7 +456,7 @@ func (s *FlairService) Select(ctx context.Context, subreddit string, request *Fl
// This only works if you're a moderator of the subreddit, or if the user is you.
func (s *FlairService) Assign(ctx context.Context, subreddit, user string, request *FlairSelectRequest) (*Response, error) {
if request == nil {
return nil, errors.New("request: cannot be nil")
return nil, errors.New("*FlairSelectRequest: cannot be nil")
}
path := fmt.Sprintf("r/%s/api/selectflair", subreddit)
@ -480,7 +480,7 @@ func (s *FlairService) Assign(ctx context.Context, subreddit, user string, reque
// If the post isn't yours, you have to be a moderator of the post's subreddit for this to work.
func (s *FlairService) SelectForPost(ctx context.Context, postID string, request *FlairSelectRequest) (*Response, error) {
if request == nil {
return nil, errors.New("request: cannot be nil")
return nil, errors.New("*FlairSelectRequest: cannot be nil")
}
path := "api/selectflair"

View file

@ -223,9 +223,9 @@ func TestFlairService_Configure(t *testing.T) {
})
_, err := client.Flair.Configure(ctx, "testsubreddit", nil)
require.EqualError(t, err, "request: cannot be nil")
require.EqualError(t, err, "*FlairConfigureRequest: cannot be nil")
_, err = client.Flair.Configure(ctx, "testsubreddit", &RequestConfigureFlair{
_, err = client.Flair.Configure(ctx, "testsubreddit", &FlairConfigureRequest{
UserFlairEnabled: Bool(true),
UserFlairPosition: "right",
UserFlairSelfAssignEnabled: Bool(false),
@ -305,7 +305,7 @@ func TestFlairService_UpsertUserTemplate(t *testing.T) {
})
_, _, err = client.Flair.UpsertUserTemplate(ctx, "testsubreddit", nil)
require.EqualError(t, err, "request: cannot be nil")
require.EqualError(t, err, "*FlairTemplateCreateOrUpdateRequest: cannot be nil")
flairTemplate, _, err := client.Flair.UpsertUserTemplate(ctx, "testsubreddit", &FlairTemplateCreateOrUpdateRequest{
AllowableContent: "all",
@ -351,7 +351,7 @@ func TestFlairService_UpsertPostTemplate(t *testing.T) {
})
_, _, err = client.Flair.UpsertPostTemplate(ctx, "testsubreddit", nil)
require.EqualError(t, err, "request: cannot be nil")
require.EqualError(t, err, "*FlairTemplateCreateOrUpdateRequest: cannot be nil")
flairTemplate, _, err := client.Flair.UpsertPostTemplate(ctx, "testsubreddit", &FlairTemplateCreateOrUpdateRequest{
ID: "testid",
@ -603,7 +603,7 @@ func TestFlairService_Select(t *testing.T) {
})
_, err := client.Flair.Select(ctx, "testsubreddit", nil)
require.EqualError(t, err, "request: cannot be nil")
require.EqualError(t, err, "*FlairSelectRequest: cannot be nil")
_, err = client.Flair.Select(ctx, "testsubreddit", &FlairSelectRequest{
ID: "id123",
@ -630,7 +630,7 @@ func TestFlairService_Assign(t *testing.T) {
})
_, err := client.Flair.Assign(ctx, "testsubreddit", "testuser", nil)
require.EqualError(t, err, "request: cannot be nil")
require.EqualError(t, err, "*FlairSelectRequest: cannot be nil")
_, err = client.Flair.Assign(ctx, "testsubreddit", "testuser", &FlairSelectRequest{
ID: "id123",
@ -657,7 +657,7 @@ func TestFlairService_SelectForPost(t *testing.T) {
})
_, err := client.Flair.SelectForPost(ctx, "t3_123", nil)
require.EqualError(t, err, "request: cannot be nil")
require.EqualError(t, err, "*FlairSelectRequest: cannot be nil")
_, err = client.Flair.SelectForPost(ctx, "t3_123", &FlairSelectRequest{
ID: "id123",

View file

@ -234,7 +234,7 @@ func (s *MessageService) Delete(ctx context.Context, id string) (*Response, erro
// Send a message.
func (s *MessageService) Send(ctx context.Context, sendRequest *SendMessageRequest) (*Response, error) {
if sendRequest == nil {
return nil, errors.New("sendRequest: cannot be nil")
return nil, errors.New("*SendMessageRequest: cannot be nil")
}
path := "api/compose"

View file

@ -204,7 +204,7 @@ func TestMessageService_Send(t *testing.T) {
})
_, err := client.Message.Send(ctx, nil)
require.EqualError(t, err, "sendRequest: cannot be nil")
require.EqualError(t, err, "*SendMessageRequest: cannot be nil")
_, err = client.Message.Send(ctx, &SendMessageRequest{
To: "test",

View file

@ -153,7 +153,7 @@ func (s *MultiService) Of(ctx context.Context, username string) ([]*Multi, *Resp
// Copy a multireddit.
func (s *MultiService) Copy(ctx context.Context, copyRequest *MultiCopyRequest) (*Multi, *Response, error) {
if copyRequest == nil {
return nil, nil, errors.New("copyRequest: cannot be nil")
return nil, nil, errors.New("*MultiCopyRequest: cannot be nil")
}
path := "api/multi/copy"
@ -180,7 +180,7 @@ func (s *MultiService) Copy(ctx context.Context, copyRequest *MultiCopyRequest)
// Create a multireddit.
func (s *MultiService) Create(ctx context.Context, createRequest *MultiCreateOrUpdateRequest) (*Multi, *Response, error) {
if createRequest == nil {
return nil, nil, errors.New("createRequest: cannot be nil")
return nil, nil, errors.New("*MultiCreateOrUpdateRequest: cannot be nil")
}
byteValue, err := json.Marshal(createRequest)
@ -211,7 +211,7 @@ func (s *MultiService) Create(ctx context.Context, createRequest *MultiCreateOrU
// If the multireddit does not exist, it will be created.
func (s *MultiService) Update(ctx context.Context, multiPath string, updateRequest *MultiCreateOrUpdateRequest) (*Multi, *Response, error) {
if updateRequest == nil {
return nil, nil, errors.New("updateRequest: cannot be nil")
return nil, nil, errors.New("*MultiCreateOrUpdateRequest: cannot be nil")
}
byteValue, err := json.Marshal(updateRequest)

View file

@ -118,7 +118,7 @@ func TestMultiService_Copy(t *testing.T) {
})
_, _, err = client.Multi.Copy(ctx, nil)
require.EqualError(t, err, "copyRequest: cannot be nil")
require.EqualError(t, err, "*MultiCopyRequest: cannot be nil")
multi, _, err := client.Multi.Copy(ctx, &MultiCopyRequest{
FromPath: "user/testuser/m/testmulti",
@ -161,7 +161,7 @@ func TestMultiService_Create(t *testing.T) {
})
_, _, err = client.Multi.Create(ctx, nil)
require.EqualError(t, err, "createRequest: cannot be nil")
require.EqualError(t, err, "*MultiCreateOrUpdateRequest: cannot be nil")
multi, _, err := client.Multi.Create(ctx, createRequest)
require.NoError(t, err)
@ -198,7 +198,7 @@ func TestMultiService_Update(t *testing.T) {
})
_, _, err = client.Multi.Update(ctx, "user/testuser/m/testmulti", nil)
require.EqualError(t, err, "updateRequest: cannot be nil")
require.EqualError(t, err, "*MultiCreateOrUpdateRequest: cannot be nil")
multi, _, err := client.Multi.Update(ctx, "user/testuser/m/testmulti", updateRequest)
require.NoError(t, err)

View file

@ -469,7 +469,7 @@ func (s *PostService) DisableContestMode(ctx context.Context, id string) (*Respo
// LoadMoreComments retrieves more comments that were left out when initially fetching the post.
func (s *PostService) LoadMoreComments(ctx context.Context, pc *PostAndComments) (*Response, error) {
if pc == nil {
return nil, errors.New("pc: cannot be nil")
return nil, errors.New("*PostAndComments: cannot be nil")
}
if !pc.HasMore() {

View file

@ -845,7 +845,7 @@ func TestPostService_LoadMoreReplies(t *testing.T) {
})
_, err = client.Post.LoadMoreComments(ctx, nil)
require.EqualError(t, err, "pc: cannot be nil")
require.EqualError(t, err, "*PostAndComments: cannot be nil")
resp, err := client.Post.LoadMoreComments(ctx, &PostAndComments{})
require.Nil(t, resp)

View file

@ -25,7 +25,7 @@ func WithCredentials(id, secret, username, password string) Opt {
func WithHTTPClient(httpClient *http.Client) Opt {
return func(c *Client) error {
if httpClient == nil {
return errors.New("httpClient: cannot be nil")
return errors.New("*http.Client: cannot be nil")
}
c.client = httpClient
return nil

View file

@ -21,7 +21,7 @@ func TestWithCredentials(t *testing.T) {
func TestWithHTTPClient(t *testing.T) {
_, err := NewClient(WithHTTPClient(nil))
require.EqualError(t, err, "httpClient: cannot be nil")
require.EqualError(t, err, "*http.Client: cannot be nil")
_, err = NewClient(WithHTTPClient(&http.Client{}))
require.NoError(t, err)

View file

@ -216,7 +216,7 @@ func (s *WikiService) Pages(ctx context.Context, subreddit string) ([]string, *R
// Edit a wiki page.
func (s *WikiService) Edit(ctx context.Context, editRequest *WikiPageEditRequest) (*Response, error) {
if editRequest == nil {
return nil, errors.New("editRequest: cannot be nil")
return nil, errors.New("*WikiPageEditRequest: cannot be nil")
}
form, err := query.Values(editRequest)
@ -263,7 +263,7 @@ func (s *WikiService) Settings(ctx context.Context, subreddit, page string) (*Wi
// UpdateSettings updates the subreddit's wiki page's settings.
func (s *WikiService) UpdateSettings(ctx context.Context, subreddit, page string, updateRequest *WikiPageSettingsUpdateRequest) (*WikiPageSettings, *Response, error) {
if updateRequest == nil {
return nil, nil, errors.New("updateRequest: cannot be nil")
return nil, nil, errors.New("*WikiPageSettingsUpdateRequest: cannot be nil")
}
form, err := query.Values(updateRequest)

View file

@ -195,7 +195,7 @@ func TestWikiService_Edit(t *testing.T) {
})
_, err := client.Wiki.Edit(ctx, nil)
require.EqualError(t, err, "editRequest: cannot be nil")
require.EqualError(t, err, "*WikiPageEditRequest: cannot be nil")
_, err = client.Wiki.Edit(ctx, &WikiPageEditRequest{
Subreddit: "testsubreddit",
@ -265,7 +265,7 @@ func TestWikiService_UpdateSettings(t *testing.T) {
})
_, _, err = client.Wiki.UpdateSettings(ctx, "testsubreddit", "testpage", nil)
require.EqualError(t, err, "updateRequest: cannot be nil")
require.EqualError(t, err, "*WikiPageSettingsUpdateRequest: cannot be nil")
wikiPageSettings, _, err := client.Wiki.UpdateSettings(ctx, "testsubreddit", "testpage", &WikiPageSettingsUpdateRequest{
Listed: Bool(false),