From 022cfd5cb18980bbbdbf594a2b92d6572b48907a Mon Sep 17 00:00:00 2001 From: Vartan Benohanian Date: Tue, 29 Sep 2020 13:40:34 -0400 Subject: [PATCH] Edit error messages Signed-off-by: Vartan Benohanian --- reddit/collection.go | 2 +- reddit/collection_test.go | 2 +- reddit/comment.go | 2 +- reddit/comment_test.go | 2 +- reddit/emoji.go | 14 ++++---------- reddit/emoji_test.go | 8 ++++---- reddit/flair.go | 16 ++++++++-------- reddit/flair_test.go | 14 +++++++------- reddit/message.go | 2 +- reddit/message_test.go | 2 +- reddit/multi.go | 6 +++--- reddit/multi_test.go | 6 +++--- reddit/post.go | 2 +- reddit/post_test.go | 2 +- reddit/reddit-options.go | 2 +- reddit/reddit-options_test.go | 2 +- reddit/wiki.go | 4 ++-- reddit/wiki_test.go | 4 ++-- 18 files changed, 43 insertions(+), 49 deletions(-) diff --git a/reddit/collection.go b/reddit/collection.go index 64ce35b..d05087e 100644 --- a/reddit/collection.go +++ b/reddit/collection.go @@ -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" diff --git a/reddit/collection_test.go b/reddit/collection_test.go index 49e1b24..1ab7fb1 100644 --- a/reddit/collection_test.go +++ b/reddit/collection_test.go @@ -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", diff --git a/reddit/comment.go b/reddit/comment.go index b431189..ca6389d 100644 --- a/reddit/comment.go +++ b/reddit/comment.go @@ -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() { diff --git a/reddit/comment_test.go b/reddit/comment_test.go index 4bd1171..bfaaca4 100644 --- a/reddit/comment_test.go +++ b/reddit/comment_test.go @@ -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) diff --git a/reddit/emoji.go b/reddit/emoji.go index b926925..dcbe507 100644 --- a/reddit/emoji.go +++ b/reddit/emoji.go @@ -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 diff --git a/reddit/emoji_test.go b/reddit/emoji_test.go index e10569f..f303ca4 100644 --- a/reddit/emoji_test.go +++ b/reddit/emoji_test.go @@ -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", diff --git a/reddit/flair.go b/reddit/flair.go index 69e8d82..0ecc8e8 100644 --- a/reddit/flair.go +++ b/reddit/flair.go @@ -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" diff --git a/reddit/flair_test.go b/reddit/flair_test.go index 4bf0b06..80308d4 100644 --- a/reddit/flair_test.go +++ b/reddit/flair_test.go @@ -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", diff --git a/reddit/message.go b/reddit/message.go index b49cd5a..5ee4227 100644 --- a/reddit/message.go +++ b/reddit/message.go @@ -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" diff --git a/reddit/message_test.go b/reddit/message_test.go index 8d3b711..c6b6312 100644 --- a/reddit/message_test.go +++ b/reddit/message_test.go @@ -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", diff --git a/reddit/multi.go b/reddit/multi.go index 185d434..6e1036d 100644 --- a/reddit/multi.go +++ b/reddit/multi.go @@ -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) diff --git a/reddit/multi_test.go b/reddit/multi_test.go index ec4b74e..41975f7 100644 --- a/reddit/multi_test.go +++ b/reddit/multi_test.go @@ -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) diff --git a/reddit/post.go b/reddit/post.go index 193feb3..05ae19e 100644 --- a/reddit/post.go +++ b/reddit/post.go @@ -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() { diff --git a/reddit/post_test.go b/reddit/post_test.go index 585c003..fe8ce45 100644 --- a/reddit/post_test.go +++ b/reddit/post_test.go @@ -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) diff --git a/reddit/reddit-options.go b/reddit/reddit-options.go index dee2c4d..c8bb19f 100644 --- a/reddit/reddit-options.go +++ b/reddit/reddit-options.go @@ -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 diff --git a/reddit/reddit-options_test.go b/reddit/reddit-options_test.go index 5a3b3d8..db6a958 100644 --- a/reddit/reddit-options_test.go +++ b/reddit/reddit-options_test.go @@ -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) diff --git a/reddit/wiki.go b/reddit/wiki.go index ecbae23..98a55ae 100644 --- a/reddit/wiki.go +++ b/reddit/wiki.go @@ -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) diff --git a/reddit/wiki_test.go b/reddit/wiki_test.go index 02a268a..6519860 100644 --- a/reddit/wiki_test.go +++ b/reddit/wiki_test.go @@ -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),